Kan dit misschien beter???

Overzicht

Sponsored by: Vacatures door Monsterboard

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Back-end Developer Java

Dit ga je doen Het (door)ontwikkelen van een zelfgebouwde applicatie in Java, Spring Framework, SQL, HTML, CSS en Javascript; End-to-end beheer m.b.t. de applicatie en koppelen van applicaties binnen het landschap; Ontwikkelen van rapportages voor de interne organisatie; Ontwikkelen van aanvullende functionaliteiten m.b.t. de applicatie; Uitvoeren van testen en code reviews. Hier ga je werken Binnen deze organisatie kom je te werken op de afdeling die medische gegevens verzamelt vanuit het hele land. Denk hierbij aan vertrouwelijke persoonsgegevens. Het team verwerkt al deze data met als doel het waarborgen en verbeteren van de kwaliteit van de zorg in heel Nederland.

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Front-end (Angular) developer - remote werken

Functie Als Front-end (Angular) developer ga je aan de slag met het uitbouwen van hun webapplicatie, als één van de front-end experts ga je samen met collega’s in een devops team werken aan een nieuw front-end voor hun calculatie oplossing. Binnen de calculatiesoftware kunnen meerdere professionals tegelijk samenwerken, 3D calculaties uitvoeren en ook inzien met de benodigde specifieke details. Deze software wordt veel ingezet om projectbeschrijvingen en kosten in kaart te brengen, en tijdens de uitvoering te bewaken. Maar hiernaast liggen er in de toekomst veel meer plannen op het gebied van front-end in de andere applicaties. Genoeg te doen

Bekijk vacature »

Ervaren Full-Stack PHP Developer

Functieomschrijving Gezocht! Ervaren PHP Developer! Voor een organisatie in de regio Harderwijk zoeken wij een ervaren PHP Developer die het IT team van dit bedrijf gaat versterken. We zijn op zoek naar een enthousiaste en breed georiënteerde IT-er die het innovatieve bedrijf nog een stap verder kan brengen. Voor deze functie zoeken wij iemand die communicatief goed is en die zelfstandig problemen op kan lossen. Je werkt samen met een externe ontwikkelpartij en kunt hun dus uitdagen op het geleverde werk. Het schrijven van concepten aan de AI en hardware kant valt onder je verantwoordelijkheden. Het bedrijf noemt zichzelf een

Bekijk vacature »

Medior/senior front end developer React Sportsoftw

Functie Voor deze functie ben ik op zoek naar een enthousiaste front end developer die communicatief vaardig is. Jij wordt onderdeel van een enthousiast jong team dat werkt aan grote websites. Binnen jouw rol ben jij diegene die de vertaling maakt van design naar functionele code en zorg jij voor goede experience op meerdere platformen. Dit doe je natuurlijk door gebruik te maken van onze stack; Javascript, HTML, CSS en React. Daarnaast wordt er gebruik gemaakt van Webcomponents en verschillende authenticatie tools. Doordat er hier gestreefd wordt naar de beste gebruikerservaringen, wordt het product constant doorontwikkeld. Hierdoor blijven ze voor

Bekijk vacature »

Medior .NET Ontwikkelaar

In het kort Als .NET ontwikkelaar ga je binnen onze business unit Transport en Logistiek aan de slag complexe maatwerk software voor bedrijf kritische systemen binnen de technische automatisering. Denk bijvoorbeeld een IoT-oplossing voor de logistieke sector waarbij we van ruim 200.000 machines de telemetrie en events verwerken. We zijn actief in de distributielogistiek, havenlogistiek en productielogistiek. Naast C# en .NET Core maken we ook gebruik van Azure technologie. En als trotse Microsoft Gold Partner leren we graag van en met jou. Wil jij jezelf blijven ontwikkelen binnen de technische automatisering met .NET, dan gaan we deze uitdaging graag met

Bekijk vacature »

Full stack developer Node.js

Functie Als fullstack JavaScript developer vind jij het uitdagend om op basis van concrete klantvragen nieuwe functionaliteiten te ontwikkelen. Bij voorkeur worden deze functionaliteiten op een bepaalde manier geprogrammeerd, zodat ze door meerdere klanten te gebruiken zijn. Je hebt dus vaak te maken met abstracte vraagstukken. Om dit te kunnen realiseren sta je nauw in contact met de product owner en/of klant. Je bent niet alleen onderdeel van het development team, maar hebt ook vaak contact met de product-owner en/of klanten om daardoor inzichten te verzamelen die leiden tot productverbeteringen. • Inzichten verzamelen bij de klant en/of product owner •

Bekijk vacature »

Senior PHP Developer

Als Senior PHP Developer bij Coolblue zorg je ervoor dat onze webshops elke dag een beetje beter zijn en coach je andere developers op de hard en soft skills. Wat doe je als Senior PHP Developer bij Coolblue? Als PHP Developer werk je met andere development teams samen om onze webshop zo optimaal mogelijk te laten werken en onze klanten blij te maken. Hoewel je een PHP Developer bent, sta je open om C# of Typescript in te zetten of te leren. Ook PHP Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om

Bekijk vacature »

PHP Laravel developer

Functie omschrijving Weet jij alles van Laravel en krijg je energie van het ontwikkelen van software hiermee? Laat snel wat van je horen want wij zoeken een PHP/Laravel developer in regio 's-Hertogenbosch. Jouw taken zullen bestaan uit: Softwareapplicaties ontwikkelen en verder optimaliseren in veel diverse projecten op basis van Agile/Scrum. Uitleg geven over software en applicaties Klantcontact hebben over bestaande applicaties. Documentatie schrijven over applicaties. Techstack: PHP, Laravel, HTML, CSS, Javascript. Bedrijfsprofiel Deze organisatie zit in de regio van 's-Hertogenbosch en is een klein softwarebedrijf. Er werken ongeveer 15 medewerkers, verdeeld in meerdere teams, zoals back-end en front-end development, projectmanagement

Bekijk vacature »

PHP developer - Digital Agency

Functie Het team telt momenteel 20 collega’s, bestaande uit developers (front- en backend) en het operations team, waaronder ook het management en twee scrum masters vallen. Ze zijn op zoek naar een PHP developer die in staat is zelfstandig te werken. Je komt te werken in één van de drie scrumteams en gaat aan de slag met een project voor de klant. Het fijne hieraan is dat je wel afwisseling hebt qua werk, maar tegelijkertijd doorlopend werkt voor bestaande klanten. Hierdoor krijg je ook de kans om echt de diepte in te gaan en innovatieve technische oplossingen neer te zetten.

Bekijk vacature »

C# Developer

Functie omschrijving Voor een softwarebedrijf in de omgeving van Veghel zijn we op zoek naar een C# developer. Word jij blij van ontwikkelen in C# en .NET? Lees dan snel verder! Jouw werkzaamheden zullen er als volgt uit gaan zien: Door middel van ASP.NET, MVC Framework en C# ga je webshops, websites en webapplicaties ontwikkelen. Je zorgt voor de optimalisatie van bestaande software en de automatisering van bedrijfsprocessen. Op basis van de wensen van de klant ga je samen met je collega's ga je op zoek naar de juiste oplossingen en je gaat dit uitwerken tot een mooi eindproduct. Bedrijfsprofiel

Bekijk vacature »

Account Developer

Voor Bol.com zijn wij per direct op zoek naar een Account Developer voor 32-40 uur per week op het kantoor in Utrecht. Wil jij een directe bijdrage leveren door partners van de juiste data-inzichten te voorzien en via campagnes op nieuwe platformkansen en features te wijzen? Ben jij analytisch sterk en kun jij dit vertalen naar plannen en inspirerende gesprekken? Lees dan snel verder! wat bieden wij jou Salaris van €2400 - €2600 obv 40 uur Minimaal 6 maanden Werklocatie is Utrecht Werken bij bol.com wie ben jij Jij bent commercieel gedreven en weet altijd aan de juiste knoppen te

Bekijk vacature »

Software Developer

Dit ga je doen Je bent verantwoordelijk voor de warehouse applicatie die een integratie heeft met de PLC laag; Je ontwikkelt in C#/.Net; Je werkt mee aan de migratie naar .NET 6; Je bent verantwoordelijk voor het ontwikkelen van interfaces en het visualiseren van componenten; Je denkt mee over het design voor business oplossingen; Je bent verantwoordelijk voor het testen van de gebouwde oplossing. Hier ga je werken Voor een internationale organisatie in de transport zijn wij momenteel op zoek naar een Software Developer. Zij zijn wereldwijd de grootste speler en lopen voorop met het automatiseren van alle processen van

Bekijk vacature »

Back-end Developer (Permanent position with the em

Bedrijfsomschrijving Dutch specialist in technical installation materials. Functieomschrijving Purpose of the position: Our client is looking for a Back-end Developer who, together with the rest of the energetic and dynamic team, is responsible for the development and management of the website. This not only concerns the development and management of the current website, but also the development of a new Headless Commerce Platform to keep the customer's website Future proof. Within the IT department, there is a real DevOps culture and the commerce team is at the forefront and tries to implement continuous improvements. Most important tasks: ï‚· Designing and

Bekijk vacature »
Arno van Zanten

Arno van Zanten

19/04/2023 17:21:17
Anchor link
Ik weet, maar hier ben ik weer ;)
Ik neem alle adviezen zeker ten harte en ik leer er ook van en pas ze zeker toe (of later)
Maar ik ben even bezig geweest met het kijken of dit misschien goed is of beter kan.
wat het script doet, is kijken of de user een bepaalde service aan heeft of niet.
Ik heb het op deze manier gedaan en het werkt, maar ik vraag me af, kon/kan het het beter?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
        /* Services & Options page */
    
        /* In this table are all the user_id`s with the corrensponding services_id */

        $sql = 'SELECT * FROM Services ORDER BY ID';
        $result = mysqli_query($connect, $sql);
        $Options = mysqli_fetch_all($result, MYSQLI_ASSOC);
        
        foreach($Options as $option) {
            $MySql = 'Select UserServices.Services_ID, Services.Services FROM UserServices INNER JOIN Services ON Services.ID WHERE Services.ID = UserServices.Services_ID AND User_ID ='.$_SESSION['ID'].';';
            $myresult = mysqli_query($connect, $MySql);
            $uoptions = mysqli_fetch_all($myresult, MYSQLI_ASSOC);
                
                echo $option['Services'];
                    
                foreach($uoptions as $services) {
                    if(!empty($services['Services_ID'] == $option['ID'])){
                        echo " this is checked";
                    }
                }

                echo "<br>";
        }

?>
 
PHP hulp

PHP hulp

02/06/2024 13:28:22
 
Ward van der Put
Moderator

Ward van der Put

19/04/2023 19:03:48
Anchor link
Het is hier geen afhaalbalie.

Ik ben geneigd je gemakzuchtige vraag op slot te zetten, maar ik gun je graag nog een laatste kans.

Leg bijvoorbeeld uit waarom je voor deze oplossing hebt gekozen. Of waarom je vermoedt dat het beter kan.

Zie je zelf waar het fout kan gaan? En waarom?
 
Ad Fundum

Ad Fundum

19/04/2023 20:52:58
Anchor link
Verbeterpunten:
- de eerste tab op elke regel voegt niets toe
- de PHP-sluit tag (?>) kan je beter vermijden
- variabelen die maar 1x gebruikt worden kunnen weg
- gemengd hoofdlettergebruik in variabele namen is verwarrend
- je code is onveilig op het gebied van SQL-injectie
- variabele definitie binnen for(each)-lus is onnodig traag
- SQL kan je beter in heredoc- of nowdow formaat in de code opnemen
- deze constructie is onduidelijk: if(!empty($services['Services_ID'] == $option['ID']))

Deze code heb ik niet kunnen testen, maar zo iets zou het kunnen zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
$stmt
= $connect->prepare( <<<'EOQ'
SELECT
  UserServices.Services_ID,
  Services.Services
FROM UserServices
  INNER JOIN Services
    ON Services.ID = UserServices.Services_ID
WHERE UserServices.User_ID = ?
EOQ );
$stmt->bind_param('s', $_SESSION['ID']);
$stmt->execute();
$res = $stmt->get_result();          

header('Content-type: text/plain');  // geen HTML nodig
$res = $connect->query($connect, 'SELECT * FROM Services ORDER BY ID');
foreach (mysqli_fetch_all($res, MYSQLI_ASSOC) as $option) {
  echo $option['Services'];  
  foreach($res->fetch_array() as $services) {
    if(!empty($services['Services_ID'] == $option['ID'])){
      echo " this is checked";
    }
  }

  echo PHP_EOL;
}


$stmt->free();
?>
(minus de PHP-sluit tag van PHPHulp)

Vervolgens vergelijk je in PHP de uitkomsten van 2 SQL queries, terwijl de database daar veel beter in is. Dat kan ook in 1 query en scheelt de helft van de PHP-code.
Gewijzigd op 19/04/2023 21:24:56 door Ad Fundum
 
Ivo P

Ivo P

19/04/2023 21:12:55
Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
SELECT * FROM Services ORDER BY ID

Select UserServices.Services_ID, Services.Services
FROM UserServices
INNER JOIN Services ON Services.ID
WHERE Services.ID = UserServices.Services_ID AND User_ID ='.$_SESSION['ID'].

die 2e query is raar.

Dat zou ik schrijven als
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
Select UserServices.Services_ID, Services.Services
FROM UserServices
INNER JOIN Services ON Services.ID = UserServices.Services_ID
WHERE User_ID ='.$_SESSION['ID'].


Maar is er een verband tussen die 2 query's?

Je voert eerst de eerste uit. Zeg dat daar 20 resultaten uitkomen.
Dan ga je in een loop 20x de 2e query uitvoeren?
En vervolgens test je de resultaten van de 2e query om alles te negeren dat niet de ID van de eerste query heeft.


Dat doe je dus liever in 1 query:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
Select Services.*,  UserServices.Services_ID
FROM Services
LEFT JOIN UserServices ON UserServices.Services_ID = Services.ID
INNER JOIN Services ON Services.ID
WHERE Services.ID = UserServices.Services_ID AND User_ID ='.$_SESSION['ID'].
ORDER BY Services.ID
 
Ad Fundum

Ad Fundum

19/04/2023 21:20:56
Anchor link
@Ivo, we zijn het eens, alleen:
- is het onnodig om 2x met dezelfde tabel te joinen
- is de join conditie van de inner join onvolledig, die staat in de where als eerste
- moet er nog wel iets gedaan worden tegen SQL-injectie
- de logica in PHP voor weergave kan ook meteen in de SQL query

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
SELECT
  CONCAT(Services.Services,
    CASE WHEN UserServices.User_ID IS NOT NULL
      THEN ' this is checked'
      ELSE ''
    END
  ) AS optie
FROM UserServices
  LEFT JOIN Services
    ON Services.ID = UserServices.Services_ID
    AND UserServices.User_ID = ?
ORDER BY Services.ID
Gewijzigd op 19/04/2023 21:22:49 door Ad Fundum
 
Ozzie PHP

Ozzie PHP

19/04/2023 23:26:19
Anchor link
@Ad en @Ivo

Opmerking Ward gelezen?

Ward van der Put op 19/04/2023 19:03:48:
Het is hier geen afhaalbalie.

Ik ben geneigd je gemakzuchtige vraag op slot te zetten, maar ik gun je graag nog een laatste kans.

Leg bijvoorbeeld uit waarom je voor deze oplossing hebt gekozen. Of waarom je vermoedt dat het beter kan.

Zie je zelf waar het fout kan gaan? En waarom?

Ik snap dat jullie het goed bedoelen, maar laten we eerst even het antwoord van de TS (Arno) op de vragen van Ward afwachten.
 
- Ariën  -
Beheerder

- Ariën -

19/04/2023 23:32:16
Anchor link
Zo blijkt maar weer. Je kan 1.001 verbeteringen aangediend krijgen. Je zou dit zelfs in een MVC model kunnen gieten, in losse functies, of in een Symfony framework. Hoever zou je willen gaan? Dus kom gewoon met een goede argumentatie en beredeneringen in plaats van dat je hier een lap code neersmijt.

Maar als je gewoon een goede tutorial volgt, dan weet je dat:

- escaping van je query belangrijk is
- het filteren van schadelijke tekens met htmlspecialchars() in je uitvoer belangrijk is.
- dat je beter met mysqli_fetch_assoc een result kan halen uit je database, en als je expliciet meerdere records hebt gebruik je while. De combinatie van mysqli_fetch_all en foreach() heb ik nooit eerder gezien.
- foutafhandeling zeer handig is.
- En verder zijn er nog meer tips gegeven. Doe er wat mee!!!!!!

Dus ik hoop dat de volgende topics van beter niveau zijn dan dit topic is. Ik laat deze open, maar ook ik zou bijna de neiging gekregen hebben om dit topic te sluiten.
Gewijzigd op 19/04/2023 23:33:09 door - Ariën -
 
Arno van Zanten

Arno van Zanten

20/04/2023 00:26:08
Anchor link
Ward van der Put op 19/04/2023 19:03:48:
Het is hier geen afhaalbalie.

Ik ben geneigd je gemakzuchtige vraag op slot te zetten, maar ik gun je graag nog een laatste kans.

Leg bijvoorbeeld uit waarom je voor deze oplossing hebt gekozen. Of waarom je vermoedt dat het beter kan.

Zie je zelf waar het fout kan gaan? En waarom?


De code moet als volgt te werk gaan.
Kijk welke services is aangevinkt bij de des betreffende User, zet daar checked bij, is dit niet het geval, zet er dan niks achter.

In principe werkt het, echter bij een andere gebruiker is maar 1 services aangevinkt, maar zet bij 2 services een checked achter.
Dus dat ben ik aan het uitzoeken hoe dat kan, maar kan ook zijn dat hij de ID`s met User_ID en Services_ID verdraaid of vergelijkt.
Bij de andere gebruiker werkt het wel en staat alles gewoon goed.Vreemd genoeg snap ik even niet hoe dat weer kan.

En alles moet in een form terecht komen met checkboxen.

Klein voorbeeld hoe ik het nu heb.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
        /* Services & Options page */
    if($_GET['menu'] == 'services' && $_GET['action'] == 'postservices') {
        if(isset($_POST['submit'])) {
            
            $test = $_POST['services'];
                foreach($test as $mytest) {
                    $mysql = 'SELECT * FROM Services WHERE Services ="'.$mytest.'" ';
                    $result = mysqli_query($connect, $mysql);
                    while($cool = mysqli_fetch_object($result)) {
        
                        echo $cool->ID." - ".$mytest."<br />";
                    }
                }
        }
    }
else {
    
        /* In this table are all the user_id`s with the corrensponding services_id */
        $sql = 'SELECT * FROM Services ORDER BY ID';
        $result = mysqli_query($connect, $sql);
        $Options = mysqli_fetch_all($result, MYSQLI_ASSOC);
        
        $checkbox = ">";
        echo "<form action='index.php?menu=services&action=postservices' method='POST'>
                <div class='services-grid'>"
;
        foreach($Options as $option) {
        
            $MySql = 'Select UserServices.Services_ID, Services.Services FROM UserServices INNER JOIN Services ON Services.ID WHERE Services.ID = UserServices.Services_ID AND User_ID ='.$_SESSION['ID'].';';
            $myresult = mysqli_query($connect, $MySql);
            $uoptions = mysqli_fetch_all($myresult, MYSQLI_ASSOC);
                
                echo "<div class='services-item'><input type='checkbox' name='services[]' value='".$option['Services']."'".$checkbox, $option['Services']."</div>";
                    
                foreach($uoptions as $services) {
                    if(empty($services['Services_ID'] == $option['ID'])){
                        $checkbox = " checked>";
                    }
else {
                        $checkbox = ">";
                    }
                }
        }

        echo"    </div>
                <div class='button'><input type='submit' name='submit' value='Preview'></div>
            </form>"
;
    }

?>

Deels werkt het, maar bij de andere gebruiker waar maar 1 optie aangevinkt staat, zet hij bij 2 en 4 een checked achter, terwijl het alleen bij 2 moet zijn.
De andere gebruiker heeft 2 en 3 en daar staat wel alles goed met checked.
Dus er is iets in de code wat ik fout heb staan, maar ik zie het niet.
Gewijzigd op 20/04/2023 00:29:33 door - Ariën -
 
- Ariën  -
Beheerder

- Ariën -

20/04/2023 00:31:35
Anchor link
Er is al vaker de tip gegeven om te debuggen met wat echo's rond te strooien, en de informatie uit variabelen uit te lezen.
Probeer die stap in het vervolg eens te volgen. Zo weet je wat er gebeurt en komt dit niet over als een afhaalbalie opdracht. Ik hoor je nu alleen over aannames, en daar heb je niks aan.

We willen je hier echt niet weg hebben, maar ik denk dat je zo wel een gros van je topics kan besparen. Het begint namelijk wel op te vallen als je per week een grote hoeveelheid topics opent, en vaak opeens na korte tijd al het probleem opeens opgelost hebt.

Zie het forum niet als eerste redmiddel. Ga eerst debuggen, en in je hoofd of op papier redeneren wat er aan de hand is. Check ook php.net, benut var_dump, print_r en de echo's, en kijk wat er gebeurt. Vaak zul je zien dat een topic dan overbodig is.
Gewijzigd op 20/04/2023 00:37:59 door - Ariën -
 
Arno van Zanten

Arno van Zanten

20/04/2023 05:16:51
Anchor link
Nu weet ik het zeker, hij pakt ook de $_SESSION['ID'] en vergelijkt die met de Services_ID.
Dat moet dus niet, ik heb alles met een echo nagekeken en daar zag ik dat de Services_ID gelijk is aan de $_SESSION['ID']. Hoe kan ik zorgen dat hij die niet vergelijkt?
Post even de code mee, die ik deels aangepast heb.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
        echo "<form action='index.php?menu=services&action=postservices' method='POST'>
                <div class='services-grid'>"
;
        
        $MySql = 'SELECT * FROM UserServices WHERE User_ID = '.$_SESSION['ID'].'';
        $Myresult = mysqli_query($connect, $MySql);
        $uoptions = mysqli_fetch_all($Myresult, MYSQLI_ASSOC);
                $checkbox = ">";
                
               foreach($uoptions as $services) {

                    $IDA = $services['ID'];
                    $USID = $services['User_ID'];
                    $SEID = $services['Services_ID'];
                    
                    $sql = 'SELECT * FROM Services';
                    $result = mysqli_query($connect, $sql);
                    $Options = mysqli_fetch_all($result, MYSQLI_ASSOC);
                    
                        foreach($Options as $option) {
                            
                            $ID = $option['ID'];
                            $Serv = $option['Services'];
                            $SID = $option['Serv_ID'];
                            
                            echo "<div class='services-item'><input type='checkbox' name='services[]' value='".$option['Services']."'".$checkbox, $option['Services']."</div>";
                                if($SID != $SEID) {
                                    $checkbox = " checked>";
                                }
else {
                                    $checkbox = ">";
                                }
                        }
                }


        echo"    </div>
                <div class='button'><input type='submit' name='submit' value='Preview'></div>
            </form>"
;

?>
 
- Ariën  -
Beheerder

- Ariën -

20/04/2023 08:42:21
Anchor link
Waarom krijg ik een gevoel dat ik en de anderen genegeerd worden, Arno? Je lijkt enkel als een stier op een rode lap gefocusd op je code, maar empathie mist gewoon.

Eerlijk gezegd wordt dit gewoon vermoeiend. Zwaar vermoeiend!
Gewijzigd op 20/04/2023 09:17:38 door - Ariën -
 
Ivo P

Ivo P

20/04/2023 09:17:21
Anchor link
probveer eerst eens je query goed te krijgen.

Gewoon los van je php-script.
Die query kun je gewoon in een database-tool draaien. Bijvoorbeeld PhpMyadmin.

Ik was hierboven te slordig met de copy/paste, maar bottom line is dat deze info met 1 query opgehaald kan worden.
Zorg dat je dat eerst werkend hebt.

Je draait nu 2 query's, deels over dezelfde tabel, waarbij de 2e query vaak herhaald wordt. Naast dat dat extra werk voor php is, is dat ook onoverzichtelijk. (en zoals ook in een eerder topic al aangehaald en hierboven ook opgemerkt: je ON clause bevat normaal een vergelijking tussen 2 velden uit 2 tabellen. Niet 1 veld.

--
en voor je opmerking "het werkt voor 1 testcase, maar niet voor een andere"

los op: 2x2 = 4.
Mijn script klopt, want $antwoord = 2 + 2; geeft 4.
En het klopt ook voor 0.

Maar waarom werkt het niet voor 1 en 3??

Probeer niet blind te staren op dat het soms werkt. Dat kan een uitzondering zijn.
 
Arno van Zanten

Arno van Zanten

20/04/2023 17:08:06
Anchor link
Okay,

Heb er een hele nacht over geslapen en goed nagedacht, dit werkt deels.
Nu wil ik alles van de database in een array wegzetten en deze vergelijken met wat de user geselecteerd heeft.
Deels werkt, maar ik zit met een klein probleem.

output :
Yes => 2

Warning: Undefined array key "Schep" in /data/sites/web/[cut]/www/Users/inc/services.php on line 24

Yes => 3

Warning: Undefined array key "Paraplu" in /data/sites/web/[cut]/www/Users/inc/services.php on line 24
de code :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
    $Serving
= array("1"=>"Emmer", "2"=>"Schep", "3"=>"Paraplu", "4"=>"Bril");
        
    $Selection1 = $Serving['1'];
    $Selection2 = $Serving['2'];
    $Selection3 = $Serving['3'];
    $Selection4 = $Serving['4'];
/*    
    echo $Selection1." => ".$Selection2." => ".$Selection3." => ".$Selection4;
*/    
    // Database where users has their selected services //

        $MySql = 'SELECT * FROM UserServices WHERE User_ID = '.$_SESSION['ID'].'';
        $Myresult = mysqli_query($connect, $MySql);
        $uoptions = mysqli_fetch_all($Myresult, MYSQLI_ASSOC);
            
            foreach($uoptions as $data => $value) {
                $val = $value['Services_ID'];
                $Uselct = array($data);
                
                if($Uselct = $Serving) {
                    echo "Yes => ".$val."<br />";
                }

                if($val = $Serving[$val]) {
                    $gotcha = $Serving[$val]; // <= hier zit het probleem in, hoe los ik dat op?
                    echo $gotcha."<br />";
                }

/*                echo"<pre>";
                print_r($Uselct);
                echo"</pre>";
*/

            }
?>
Gewijzigd op 20/04/2023 17:11:07 door Arno van Zanten
 
- Ariën  -
Beheerder

- Ariën -

20/04/2023 17:21:27
Anchor link
Leer het verschil tussen =, == en ===.

Verder word ik moe van de afhaalbalie-vragen die je zo kan googlen. Lees de tips eens!

Dit topic gaat dicht.
 
 

Dit topic is gesloten.



Overzicht

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.