Kan dit misschien beter???

Overzicht

Sponsored by: Vacatures door Monsterboard

Creatieve Front-end developer gezocht!

Functie Het front-end team bestaat momenteel uit 4 collega’s en is hard aan het groeien! Samen leveren jullie een essentiële bijdrage aan de applicaties die ze voor hun klanten realiseren. Je werkt in het front-end team samen met de back-end teams en product owners om te zorgen dat de applicaties een fijne gebruikerservaring opleveren. Jouw expertise zorgt ervoor dat de juiste keuzes gemaakt worden qua techniek en ontwerp, van back-end tot aan gebruiker. In samenspraak met je team bepalen jullie de beste keuze voor techniek. Ook is er altijd ruimte om nieuwe technieken te ontdekken. Eisen • Je hebt gedegen

Bekijk vacature »

Digital Agency is looking for PHP developers!

Functie The team currently has 20 colleagues, consisting of developers (front and backend) and the operations team, which also includes management and two scrum masters. They are looking for a PHP developer who is able to work independently. You will work in one of the three scrum teams and start working on a project for the customer. The interesting thing about this is that you do have variety in terms of work, but at the same time continuously work for existing customers. This also gives you the opportunity to really go into depth and develop innovative technical solutions. In terms

Bekijk vacature »

Low Code Developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en ben jij HBO afgestudeerd in de richting van IT? Heb jij verstand van datamodellering, NO CODE Platformen en kun jij het aan om projecten te leiden? Voor een leuke opdrachtgever in omgeving Rotterdam zijn wij op zoek naar een No Code developer die zich bezig gaat houden met het optimaliseren van bedrijfsprocessen bij klanten in heel het land! Wat ga je hier zoal doen? Je gaat geen code kloppen maar bedenken hoe applicaties eruit moet komen te zien. Je gaat werken met een non code platform, je kunt denken aan

Bekijk vacature »

Software programmeur

Functieomschrijving Voor een uitdagende werkgever in regio Breda zijn wij op zoek naar een Full Stack C#.NET programmeur. Je bent verantwoordelijk voor het ontwikkelen van apps, webapplicaties en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere developers en engineers om de sensoren in machines te scannen en vervolgens de data om te zetten in management informatie voor de klanten. Taken en verantwoordelijkheden: Je gaat aan de slag met de volgende technologieën en frameworks: C#, JS frameworks, HTML, TypeScript, SQL & C++, CSS. Geen ervaring met één van deze technologieën is dan ook geen enkel probleem! Deze werkgever biedt

Bekijk vacature »

Airport Developer / System engineer

De functie Als onze nieuwe Airport Developer / System Engineer is je doel om uit nieuwbouw- en onderhoudsprojecten maximale waarde te creëren voor Schiphol Group en haar stakeholders. Vanuit je visie en expertise, maar ook (technologische) ontwikkelingen, wetgeving en beleid vertaal je klantwensen naar een gedegen programma van eisen. In de planontwikkelingsfase werk je nauw samen met Plan Ontwikkelaars om je kennis in te brengen ten behoeve van de kwaliteit van het investeringsvoorstel. Je overlegt met diverse partijen, stelt de vraag achter de vraag en verbindt zo de belangen van de luchthaven, proceseigenaar en asseteigenaar om tot een gedragen ontwikkelopgave

Bekijk vacature »

Java Developer

Dit ga je doen Als Java Developer ben je verantwoordelijk voor: Het ontwikkelen van nieuwe en bestaande webservices; Het uitbreiden van functionaliteiten binnen de producten- en dienstenportefeuille; Het werken aan gegevensuitwisseling met bijvoorbeeld SOAP; Testen van frameworks met gebruik van UNIT en Selenium. Hier ga je werken De organisatie waar je komt te werken is een semi-overheidsinstelling, gesitueerd in Utrecht en zorgt voor een goede samenwerking tussen verschillende overheidsinstanties. Het is een familiaire club die gaat voor kwaliteit en langdurige relaties. Zo zorgen zij ervoor dat er op grote schaal vertrouwelijke informatie tussen verschillende overheidsinstellingen wordt uitgewisseld. Hun werk zorgt

Bekijk vacature »

Software Developer

Dit ga je doen Ontwikkelen aan de software dat beschikbaar is op de substations; Ontwikkelen in C++, C, Python en JavaScript. Daarnaast op een Embedded Linux omgeving, opgebouwd met containers en DevOps; Meewerken aan cyber security (OWASP); Uitvoeren/bouwen van geautomatiseerde testen in samenwerking met de Quality Specialist; Vertalen van wensen van de klanten/business naar werkbare/duurzame oplossingen. Hier ga je werken Als Software Ontwikkelaar kom je te werken bij een organisatie gericht op de (internationale) energiemarkt, waar wordt gewerkt voor het verwerven en verwerken van realtime, high quality data. Er wordt gewerkt vanuit het hart van de substations en direct voor

Bekijk vacature »

.NET developer

Functie Jouw team van vier collega .NET developers is verantwoordelijk voor het bouwen van de ETL processen van jouw nieuwe werkgever. Op dit moment wordt de front-end gedaan door een extern team van professionals. Echter wilt jouw nieuwe werkgever graag intern deze kennis uitbreiden en heeft dan ook de ambitie om dit voor het eind van het jaar intern te gaan aanpakken. Dit betekend dat jij als .NET ontwikkelaar de ideale kans krijgt om jezelf samen met jouw collega’s te ontwikkelen als full stack developer. Als .NET ontwikkelaar werk jij bij deze gave werkgever met C# .NET, SQL, JavaScript, REST

Bekijk vacature »

Back-end Developer

Functieomschrijving Heb jij kort geleden jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een gewaardeerde werkgever in regio Oosterhout zijn wij op zoek naar een back-end developer. Kennis of ervaring met C# & SQL is een must! Je bent verantwoordelijk voor de beheer en ontwikkeling van de software; Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je test de software en ontwikkelt deze door; Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten; Je brengt de aanpassingssuggesties van klanten in kaart, om

Bekijk vacature »

Fullstack developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie werken? Voor een mooi softwarebedrijf in omgeving Gouda zijn wij op zoek naar versterking op de afdeling Software Development! Als Fullstack react.js developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Onderdelen van jouw functie: Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook

Bekijk vacature »

Back end developer Python, PHP

Functie Jij als full stack ontwikkelaar zult komen te werken samen met 1 PHP ontwikkelaar een PO en een flexibele schil aan ontwikkelaars . Samen ga je ervoor zorgen dat de huidige producten doorontwikkeld worden. De marketplace is geschreven in PHP Laravel en in de front end React. De roostersoftware is ontwikkeld in Python in combinatie met React in de front end. Jij zult voornamelijk (lees 75%) werken aan de roostersoftware. Momenteel ligt de uitdaging in het feit dat de roostersoftware breder schaalbaar moet worden zodat het voor meerdere flexwerkers ingezet kan worden. Verder willen ze financiële koppelingen gaan maken

Bekijk vacature »

Medior/senior Back-end developer wanted!

Functie Because of the growth within the company, we are looking for reinforcement in the devlopmenttean. As a back-end developer you build the company software that helps us with the primary processes. A fun (internal) project in which you continuously develop the software! You will work in a small team, we have daily stand-ups and a scrum session every fortnight, led by our Scrum Master. During these sessions, you get the opportunity to present your ideas and discuss them with your fellow developers and the Product Owner. Within the development teams, we use Trello, Gitlab, Jiira, Confluence and Boockstack. They

Bekijk vacature »

PHP developer (Laravel, Docker, Gitlab-CI)

Functie Het IT-team bestaat momenteel uit 4 ontwikkelaars. Ieder onderdeel van de software draait op aparte servers en het bestaat dus echt uit verschillende componenten intern ontwikkeld en je werkt aan alle facetten. Van uitbreiding van de core tot maatwerk voor de klant. Ook liggen er verschillende uitdagingen op servervlak en databases. Je zult de eerste periode veel samenwerken met de lead developer om vervolgens echt je gang te gaan binnen de software. Een groot deel van de systemen is gebouwd met behulp van het Laravel framework en PHP (minimaal 7.2), Docker voor lokaab gebruik en Gitlab-CI voor het deployen

Bekijk vacature »

Randstad - Freelance Backend Developer/ Data Engin

Starting date: 10.05.2023 Salary range: €67,00 - €77,00 Duration: 6 months Hours: 40 Working model: Hybrid* MUST be NL based Job description: Our vision is to have a consistent and data driven experience for all sales across all our operating companies. Our mission is to enable our salespeople to be able to reach out to the right company at the right time. We do this by creating data driven micro services and solutions. We mainly focus on implementation in the Google Cloud but also integrate with local systems and other cloud solutions. A typical day: As a back-end developer you

Bekijk vacature »

Medior Front-end Developer

Bij Getnoticed doen wij wat we leuk vinden, websites bouwen en online marketing. Voor veel van onze klanten doen we dan ook allebei. Wel zo fijn om campagnes te draaien voor conversiegerichte websites die in eigen beheer zijn. In onze vestiging in Nederweert zit onze development afdeling en worden de websites gebouwd. Op dit moment zijn we op zoek naar jou: dé Medior Front-end Developer die net als wij, het hoofd boven het maaiveld durft uit te steken! In het kort Even een paar punten die omschrijven wat deze toffe baan inhoudt: Het uitwerken van designs tot functionele layouts Je

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

20/05/2024 19:45:35
 
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.