Een left join pakt alle records uit een tabel, en plaatst daar dan de bijbehorende informatie naast. In tegenstelling tot een inner join komt hier een null uit als er geen corresponderende record bij hoort.quote:Op maandag 23 april 2007 19:54 schreef Geqxon het volgende:
Maar dan JOIN je met een niet bestaand record? Is iets als dat uberhaupt mogelijk? Ik ga er eens mee klooien, mijn query is toch al bezopen groot
Mooi.quote:Op maandag 23 april 2007 19:57 schreef Aibmi het volgende:
[..]
Een left join pakt alle records uit een tabel, en plaatst daar dan de bijbehorende informatie naast. In tegenstelling tot een inner join komt hier een null uit als er geen corresponderende record bij hoort.
zoek op LEFT OUTER JOINquote:Op maandag 23 april 2007 20:10 schreef Geqxon het volgende:
[..]
Mooi.
Ik ben er nog steeds aan het knutselen, aangezien mijn SQL query boven de 500 karakters zit is het een beetje een geworstel
Jawel die moet het gewoon doen hoorquote:Op maandag 23 april 2007 20:15 schreef Geqxon het volgende:
Nou, ik denk dat ik toch maar op de MySQL update wacht die subquerys sneller maakt. Het is helaas niet mogelijk om de LEFT JOIN in mijn query te stoppen, ik gok dat hij niet compatible is met de andere WHERE clauses.
1 2 3 4 5 6 | SELECT * FROM T1 LEFT JOIN (T2,T3) ON (T2.A=T1.A AND T3.B=T2.B) WHERE T3.C > 0. ?> |
Hoezo een query krijg je toch wel overzichtelijk?quote:Op maandag 23 april 2007 20:26 schreef Geqxon het volgende:
Helaas, ondanks dat ik in mijn query "c.ID" (c alsin "FROM Catagorie AS c") een keer of 3 a 4 gebruik herkent hij hem niet binnen de LEFT JOIN.
Het is op zich wel te doen, de traagheid, ik zocht dan ook meer een simpele fix ervoor. Want anders wordt mijn query denk ik ook veel te lang
Ik durf met een gerust hart te zeggen dat als je een query van 500KB hebt, je iets gruwelijks fout doet.quote:Op maandag 23 april 2007 20:28 schreef JortK het volgende:
[..]
* JortK heeft eenmaal een query van 500kb geschreven, voor het verwijderen van dubbele contacten met koppel tabellen en shit, en dat ging nog best
Klopt, in de query staat dus ook het aanmaken van de SP's en viewsquote:Op maandag 23 april 2007 20:32 schreef JeRa het volgende:
[..]
Ik durf met een gerust hart te zeggen dat als je een query van 500KB hebt, je iets gruwelijks fout doet.(men heeft daarvoor stored procedures, views en meer van dat soort leuke meuk voor verzonnen)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <form> <select name="namenlijst"> <option value="x">Selecteer je keuze <tr> $result = mysql_query("SELECT naam FROM gebruikers") or die (mysql_error()); while($aBerichten = mysql_fetch_array($result)) { print "<option value="" . $aBerichten['naam'] . "></option>"; } </select></td> </tr> </FORM>] ?> |
quote:Op maandag 23 april 2007 21:11 schreef Messenga het volgende:
[ code verwijderd ]
Hier moet de bovenstaande code de gegevens uit de database halen en in het dropdown menu zetten. Die gegevens bestaan uiteraard. Waarom werkt dit dan niet?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <form> <select name="namenlijst"> <option value="x">Selecteer je keuze <tr> $result = mysql_query("SELECT naam FROM gebruikers") or die (mysql_error()); while($aBerichten = mysql_fetch_array($result)) { print "<option value="" . $aBerichten['naam'] . ""></option>"; } </select></td> </tr> </FORM>] ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <form> <select name="namenlijst"> <option value="x">Selecteer je keuze <tr> $result = mysql_query("SELECT naam FROM gebruikers") or die (mysql_error()); while($aBerichten = mysql_fetch_array($result)) { print "<option value=\"" . $aBerichten['naam'] . "\"></option>"; } </select></td> </tr> </FORM>] ?> |
Zet eensquote:Op maandag 23 april 2007 21:27 schreef Messenga het volgende:
Ik heb ze allebei geprobeerd, maar het is net alsof hij de PHP code gewoon niet pakt.
1 2 3 | error_reporting(E_ALL); ?> |
Zo dus op het moment:quote:Op maandag 23 april 2007 21:27 schreef Messenga het volgende:
Ik heb ze allebei geprobeerd, maar het is net alsof hij de PHP code gewoon niet pakt.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <form> <select name="namenlijst"> <option value="x">Selecteer je keuze <tr> $result = mysql_query("SELECT naam FROM gebruikers") or die (mysql_error()); while($aBerichten = mysql_fetch_array($result)) { print "<option value='" . $aBerichten['naam'] . "'></option>"; } </select></td> </tr> </FORM> ?> |
Er komt dus ook totaal geen error reportingquote:Op maandag 23 april 2007 21:29 schreef cyberstalker het volgende:
[..]
Zet eens
[ code verwijderd ]
bovenaan in je script en plaats de uitvoer hier.
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 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | include('functies.php'); error_reporting(E_ALL); <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <head> <title>Vrijdag Snack de Waerdenborch | Home</title> <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1" /> <link rel="stylesheet" type="text/css" href="style.css" /> <style type="text/css"> <!-- .style1 {font-family: Georgia, "Times New Roman", Times, serif} --> </style> <link href="style.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="wrapper"> <div class="style1" id="top"> </div> <div id="content"> <div class="style1" id="header"> <p> </p> <p> </p> </div> <div id="menu"> <ul> <li><a href="index.html">Home</a> <ul> <li><a href="Aanwezig.html">Aanwezigheid</a></li> </ul> </li> <li><a href="Bestelling.html">Bestellingen</a></li> <li><a href="kostenoverzicht.html">Kostenoverzicht</a></li> <li></li> </ul> </div> <div id="stuff"> <p>Welkom op de website voor de vrijdagmiddag snack van de Waerdenborch.</p> <p>Hier kunt u uw bestellingen per week aangeven. Daarbij zult u per week kunnen zien wie wanneer betaalt. Door op het kostenoverzicht te klikken kunt u zien wat de kosten zijn. Zowel per persoon als een totaaloverzicht. </p> <p> Hier kies je je naam:</p> <form> <select name="namenlijst"> <option value="x">Selecteer je keuze <tr> $result = mysql_query("SELECT naam FROM gebruikers") or die (mysql_error()); while($aBerichten = mysql_fetch_array($result)) { print "<option value='" . $aBerichten['naam'] . "'></option>"; } </select></td> </tr> </FORM> <p>Hier kies je je keuze voor de snack: </p> <form> <select name="snacklijst"> <option value="x">Selecteer je keuze <tr> $result = mysql_query("SELECT naam FROM gebruikers") or die (mysql_error()); while($aBerichten = mysql_fetch_array($result)) { print "<option value="" . $aBerichten['naam'] . ""></option>"; } </select></td> </tr> </FORM> Hier kies je je Saus: <form> <select name="sauslijst"> <option value="x">Selecteer je keuze <tr> $result = mysql_query("SELECT product FROM producten WHERE type = " saus") or die (mysql_error()); while($aBerichten = mysql_fetch_array($result)) { print "<option value="" . $aBerichten['saus'] . "></option>"; } </select></td> </tr> </FORM> <p> </p> <FORM action="BestellingOpgeslagen.html"> <input name="Submit" type="submit" value="Opslaan" /> </form> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p><br /> <br /> <a href="http://validator.w3.org/check?uri=referer"></a> </p> </div> </div><div id="bottom"></div> </div> </body> </html> ?> |
Dat doet Fok!, die zet automatisch die php tags boven en onder neer en haalt ze in het midden weg....quote:Op maandag 23 april 2007 22:18 schreef H4ze het volgende:
Ja wat ik dus ff niet snap aan die hele code, is waarom je gewoon keiharde html tussen je phptags zet, zonder deze te echo'en?
Ah oke, dat verklaart hetquote:Op maandag 23 april 2007 22:22 schreef _Xbox_Master_ het volgende:
[..]
Dat doet Fok!, die zet automatisch die php tags boven en onder neer en haalt ze in het midden weg....
Er is altijd een logische verklaring voor het feit dat een (zelfgebouwde) applicatie niet werkt.quote:Op maandag 23 april 2007 22:28 schreef Messenga het volgende:
[..]
Wat zou dan de fout kunnen zijn? of is er verder geen logsche verklaring?
Dit geeft gewoon de pulldown menu's, alleen geen resultaat die hij moet pakken uit de databases.quote:Op maandag 23 april 2007 22:35 schreef H4ze het volgende:
[..]
Er is altijd een logische verklaring voor het feit dat een (zelfgebouwde) applicatie niet werkt.
Weetje verder zeker dat het niet aan de quote'jes ligt waar Piles het overhad? En heb je de hele html al is weggehaald en alleen de query uitgevoerd? Gaf dit een resultaat?
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 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | include('functies.php'); error_reporting(E_ALL); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <head> <title>Vrijdag Snack de Waerdenborch | Home</title> <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1" /> <link rel="stylesheet" type="text/css" href="style.css" /> <style type="text/css"> <!-- .style1 {font-family: Georgia, "Times New Roman", Times, serif} --> </style> <link href="style.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="wrapper"> <div class="style1" id="top"> </div> <div id="content"> <div class="style1" id="header"> <p> </p> <p> </p> </div> <div id="menu"> <ul> <li><a href="index.html">Home</a> <ul> <li><a href="Aanwezig.html">Aanwezigheid</a></li> </ul> </li> <li><a href="Bestelling.html">Bestellingen</a></li> <li><a href="kostenoverzicht.html">Kostenoverzicht</a></li> <li></li> </ul> </div> <div id="stuff"> <p>Welkom op de website voor de vrijdagmiddag snack van de Waerdenborch.</p> <p>Hier kunt u uw bestellingen per week aangeven. Daarbij zult u per week kunnen zien wie wanneer betaalt. Door op het kostenoverzicht te klikken kunt u zien wat de kosten zijn. Zowel per persoon als een totaaloverzicht. </p> <p> Hier kies je je naam:</p> <form> <select name="namenlijst"> <option value="x">Selecteer je keuze <tr> <?php $result = mysql_query("SELECT naam FROM gebruikers") or die (mysql_error()); while($aBerichten = mysql_fetch_array($result)) { print "<option value='" . $aBerichten['naam'] . "'></option>"; } ?> </select></td> </tr> </FORM> <p>Hier kies je je keuze voor de snack: </p> <form> <select name="snacklijst"> <option value="x">Selecteer je keuze <tr> <?php $result = mysql_query("SELECT naam FROM gebruikers") or die (mysql_error()); while($aBerichten = mysql_fetch_array($result)) { print "<option value='" . $aBerichten['naam'] . "'></option>"; } ?> </select></td> </tr> </FORM> Hier kies je je Saus: <form> <select name="sauslijst"> <option value="x">Selecteer je keuze <tr> <?php $result = mysql_query("SELECT product FROM producten WHERE type = 'saus'") or die (mysql_error()); while($aBerichten = mysql_fetch_array($result)) { print "<option value='" . $aBerichten['saus'] . "'></option>"; } ?> </select></td> </tr> </FORM> <p> </p> <FORM action="BestellingOpgeslagen.html"> <input name="Submit" type="submit" value="Opslaan" /> </form> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p><br /> <br /> <a href="http://validator.w3.org/check?uri=referer"></a> </p> </div> </div><div id="bottom"></div> </div> </body> </html> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <form> <select name="namenlijst"> <option value="x">Selecteer je keuze <tr> $result = mysql_query("SELECT naam FROM gebruikers") or die (mysql_error()); while($aBerichten = mysql_fetch_array($result)) { print "<option>" . $aBerichten['naam'] . "</option>"; } </select></td> </tr> </FORM>] ?> |
Whehe. Soms zit je zo op syntaxfouten te kijken dat je de rest niet meer zietquote:Op maandag 23 april 2007 23:01 schreef Piles het volgende:Vind je het gek dat de dropdowns leeg zijn
print "<option value='" . $aBerichten['saus'] . "'>Hier moet ook wat</option>";
Haha ja tochquote:Op maandag 23 april 2007 23:01 schreef Piles het volgende:Vind je het gek dat de dropdowns leeg zijn
print "<option value='" . $aBerichten['saus'] . "'>Hier moet ook wat</option>";
dus
print "<option value='" . $aBerichten['saus'] . "'>". $aBerichten['saus'] ."</option>";
Daarom altijd de html-output bekijkenquote:Op maandag 23 april 2007 23:03 schreef cyberstalker het volgende:
[..]
Whehe. Soms zit je zo op syntaxfouten te kijken dat je de rest niet meer ziet.
Het kan allebei. Het attribuut value is optioneel. Bij gebrek aan een value attribuut wordt de tekst in de <option> meegestuurd.quote:Op maandag 23 april 2007 23:06 schreef H4ze het volgende:
Maar die hele value= in de option is toch doelloos? De dropdownlist stuurt gewoon de waarde door die tussen <option> en </option> staat (en geselecteerd is) toch.
alleen is het dan geen valid XHTML meer volgens mijquote:Op maandag 23 april 2007 23:23 schreef cyberstalker het volgende:
Wil je dus hetzelfde terugsturen als je toont is het attribuut value dus niet nodig.
Jawel. Dit is allemaal W3C approvedquote:Op dinsdag 24 april 2007 10:37 schreef Xcalibur het volgende:
[..]
alleen is het dan geen valid XHTML meer volgens mij
1 2 3 4 5 | FROM table WHERE var1 LIKE '%s' AND var2 LIKE '%s' ORDER BY var1", mysql_real_escape_string($var1), mysql_real_escape_string($var2)); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <form method="post" action="BestellingOpgeslagen.php"> <select name="namenlijst"> <option value="x">Selecteer je keuze</option> <?php $result = mysql_query("SELECT naam FROM gebruikers") or die (mysql_error()); while($aBerichten = mysql_fetch_array($result)) { print "<option>".$aBerichten['naam']."</option>"; } ?> </select></td> </tr> |
Dat werkt inderdaad, dank je.quote:Op dinsdag 24 april 2007 21:25 schreef Geqxon het volgende:
Voor je laatste vraag: http://nl3.php.net/htmlentities
Zoiets?
Waarom doe je niet gewoon zo:quote:Op dinsdag 24 april 2007 21:17 schreef De_Hertog het volgende:
Ik ben weer eens met PHP bezig, twee kleine vraagjes die niet echt googlebaar waren:
Hoe gebruik je mysql_escape_string in combinatie met LIKE? Like is een nogal veel voorkomend woord in het Engels, dus zoeken gaat niet echt, en waarschijnlijk is dit een erg simpel probleem:
[ code verwijderd ]
Als ik het zo doe werkt het alleen als ik het volledige woord intyp. Ik moet dus met wildcards werken, maar hoe krijg ik die om die %s? '%%s%' werkt niet. Hoe moet dit?
De volgende vraag is wat lastiger: ik heb een aantal woorden met 'vreemde tekens' erin, zoals 'überhaupt'. Als ik die weergeef komt er een vraagtekentje te staan, maar als ik uberhaupt (zonder umlaut) intik gaat het wel goed. Waarschijnlijk een encoding probleem, maar meer kon ik via google niet vinden..
Alvast bedankt voor de hulp
1 2 3 4 5 6 7 | $query = "SELECT var1, var2 FROM table WHERE var1 LIKE '" . mysql_real_escape_string($var1) . "' AND var2 LIKE '" . mysql_real_escape_string($var2) . "' ORDER BY var1"; ?> |
Op deze manier is de code net wat makkelijker ingedeeld (eerst de query, dan de variabelen) hetgeen ik er voor de toekomst wat handiger uit vind zien. Bovendien heb je in jouw voorbeeld nog steeds een % symbool voor en na die string nodig, toch?quote:Op woensdag 25 april 2007 08:59 schreef HuHu het volgende:
[..]
Waarom doe je niet gewoon zo:
[ code verwijderd ]
Heb je ook de situatie afgevangen wanneer er een procentteken of underscore in de string voorkomt?quote:Op woensdag 25 april 2007 09:30 schreef De_Hertog het volgende:
[..]
Op deze manier is de code net wat makkelijker ingedeeld (eerst de query, dan de variabelen) hetgeen ik er voor de toekomst wat handiger uit vind zien. Bovendien heb je in jouw voorbeeld nog steeds een % symbool voor en na die string nodig, toch?
Overigens, zoals je hierboven kunt zien heb ik de oplossing al gevonden
Dat mag wat mij betreft gewoon mogelijk zijn, tenminste als je bedoelt dat 'bel%dui' 'België en Duitsland' oplevert. Als mensen er meer illegale dingen mee uit kunnen halen hoor ik dat natuurlijk graagquote:Op woensdag 25 april 2007 09:35 schreef JeRa het volgende:
[..]
Heb je ook de situatie afgevangen wanneer er een procentteken of underscore in de string voorkomt?Of wil je dat dat mogelijk blijft?
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |