MrDoegewoon | vrijdag 15 oktober 2004 @ 16:37 |
Ik heb een probleem, ik heb een script gemaakt waarbij je eerst een nr moet intypen en dan het juiste record uit de database krijgt, maar ik wil er ook een melding in dat als het nummer niet voor komt de gebruiker een waarschuwing krijgt. Ik heb nu dit [code] $sql = "SELECT leerling_id,naam,tussen,achternaam FROM leerling WHERE leerling_id = '$leerling_id'"; $result = mysql_query($sql) or die (mysql_error()); $telling = mysql_num_rows($result) or die (mysql_error());; $object = mysql_fetch_object($result) or die (mysql_error()); echo ("$telling"); if ($telling != '1') { echo ("$telling test"); } [/code] Zodra de record niet bestaad is $telling dus geen 1, en zou ie in die if lus moeten gaan, maar zodra een nummer niet bestaad slaat ie dat geheel over en $telling is geen 0. Wat doe ik fout? ![]() Bij bestaande nummers werkt dit script gewoon goed trouwens, dus die code staat er niet bij. | |
Heliospan | vrijdag 15 oktober 2004 @ 16:38 |
if(!$result) echo "Blablablabla"; wellicht? | |
_Endymion_ | vrijdag 15 oktober 2004 @ 16:41 |
of if( $telling > 0 ) [ Bericht 13% gewijzigd door _Endymion_ op 15-10-2004 16:44:57 (Oeps) ] | |
EvilCole | vrijdag 15 oktober 2004 @ 16:41 |
quote:zou inderdaad zo moeten zijn... anders komt hij niet bij die if | |
Jump | vrijdag 15 oktober 2004 @ 16:43 |
$result kijkt gewoon als de query geslaagd is, mysql_num_rows geeft het aantal rijen in de 'query' terug dus ook al bestaat die record niet, query is geslaagd dus $result = 1 | |
EvilCole | vrijdag 15 oktober 2004 @ 16:44 |
quote:als er ook maar iets terug gegeven wordt is het result groter dan 0 | |
MrDoegewoon | vrijdag 15 oktober 2004 @ 16:44 |
Beide gegeven methoden werken niet ![]() Hij gaat gewoon die if lus niet in ![]() Ik denk dat ik maar de if en else omdraai. Dus dat ie de if ingaat als $telling 1 is. En bij else de foutmelding geeft | |
Jump | vrijdag 15 oktober 2004 @ 16:46 |
Stukje code dat ik meestal gebruik:![]() Deze code knipbaar maken? Klik hier en dan gaat ie die if in als er 1 resultaaat is ooh, je vergelijkt je aanral tijen met een string, doe die ' eens weg rond je 1 | |
MrDoegewoon | vrijdag 15 oktober 2004 @ 16:48 |
quote:Had ik al geprobeerd en met " er omheen maar niks werkt ![]() | |
Sander | vrijdag 15 oktober 2004 @ 16:49 |
quote:Eerst maar eens je code optimizen: ![]() Deze code knipbaar maken? Klik hier En dan zou ie het zelfs al moeten doen. | |
MrDoegewoon | vrijdag 15 oktober 2004 @ 16:51 |
quote:Oke, thnx zal het later proberen heb nu de if en else al omgekeerd. | |
Sander | vrijdag 15 oktober 2004 @ 16:52 |
quote:Lees eens deze tips door, het gaat over "goede PHP scrijven": http://www.melp.nl/site/index/15/.html | |
MrDoegewoon | vrijdag 15 oktober 2004 @ 16:56 |
quote:Ej thnx. Op school kreeg ik ook altijd al minpunten voor het niet netjes opmaken van de code en foutjes met ' en ". | |
MrDoegewoon | vrijdag 15 oktober 2004 @ 17:08 |
Hmmz het werkt nog niet, ook niet met de code van Slarioux.. Foutmeldingen staan aan enzv enzv. Het lijkt wel of ie zodra het nummer niet bestaad het scirpt stopt... Edit: Script stop idd, zodra een een mysql_num_rows wordt gedaan met een niet bestaande waarde... Edit2: Opgelost. Het verwijderen van or die (mysql_error()) achter mysql_num_rows gaf de oplossing ![]() [ Bericht 25% gewijzigd door MrDoegewoon op 15-10-2004 17:29:37 ] |