login  Naam:   Wachtwoord: 
Registreer je!
 Forum

zoekmachine met getallen (Opgelost)

Offline Guido2 - 24/07/2010 17:48 (laatste wijziging 24/07/2010 19:00)
Avatar van Guido2Nieuw lid In mijn database staan 4 velden: pasid, optie1, optie2, optie3.

Optie 3 is int.

Er staan 4 rijen in de database.

pasid optie1 optie2 optie3
1 blauw geel 1
2 wit geel 2
3 zwart geel 3
4 geel geel 0

Met de zoekmachine laat ik de getallen 1, 2 of 3 typen en dan moet hetzelfde getal (uit optie3) op het scherm verschijnen, maar ik krijg steeds het getal van de vierde rij, namelijk '0'.

Ik heb al met '=' gewerkt, maar dat lukt niet.

Ik heb in de volgende regel de komma voor het eerste '%'-teken en na het laatst'%'-teken weggehaald, omdat het getallen zijn, maar dat lukt niet

$query = "SELECT * FROM pas WHERE optie3 = '%". $_POST["optie3"] . "%'";

Welke fout maak ik?


[/code]
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  4. <meta http-equiv="content-type" content="text/html; charset=utf8_unicode_ci" />
  5.  
  6. <link rel= "stylesheet" href="menu_style.css" type="text/css" />
  7. <link href="opmaak.css" rel="stylesheet" type="text/css"/>
  8.  
  9. </head>
  10.  
  11. <?php
  12.  
  13. include '../../navigatie/nav.inc';
  14.  
  15. ?>
  16. <div id="container">
  17.  
  18. <div id="header3">
  19.  
  20. <h2>Typ 1, 2 of 3<h2>
  21.  
  22. <form action="getallenlijst.php" method="post">
  23. <input type="int" name="optie3" value"" size="30">
  24. <input type="Submit" value="Klik">
  25. <input type="Button"value="Terug" onclick="javascript:history.back();">
  26. </form>
  27.  
  28. </div>
  29.  
  30.  
  31. </div>

  1. <?
  2. include ("db_connect.inc.php");
  3. $query = "SELECT * FROM pas WHERE optie3 = '%". $_POST["optie3"] . "%'"; // de SQL-query die wordt uitgevoerd
  4. $resultaat = ""; // hierin wordt het resultaat van de query opgeslagen
  5. $resultaat = mysql_query($query, $db);
  6. mysql_close($db); // database afsluiten
  7. ?>
  8. </head>
  9.  
  10. <body>
  11. <h2>Je hebt het volgende getal getypt.</h2>
  12. <hr>
  13. <?php
  14. while(list($pasid, $optie1, $optie2, $optie3) = mysql_fetch_row($resultaat)){
  15. echo "$optie3 ";
  16.  
  17. }
  18. ?>

2 antwoorden

Gesponsorde links
Offline vinTage - 24/07/2010 17:56 (laatste wijziging 24/07/2010 17:58)
Avatar van vinTage Nieuw lid je gebruikt % (die word als wildcard gebruikt met LIKE)

Haal dat dus gewoon weg.

  1. "SELECT * FROM pas WHERE optie3 = '". $_POST["optie3"] . "'"


Tijdens het devven/testen kan je best ook gewoon or die(mysql_error()) gebruiken.


edit, oh, ik lees nu dat die % getallen zijn sorry 
Dan nog steeds or die(...) gebruiken.
  1. "SELECT * FROM pas WHERE optie3 LIKE '%". $_POST["optie3"] . "%'"


Offline Guido2 - 24/07/2010 18:05 (laatste wijziging 24/07/2010 18:51)
Avatar van Guido2 Nieuw lid Ik heb de tweede phpcode gebruikt, maar dan krijg ik de volgende fout.

Parse error: syntax error, unexpected T_VARIABLE in /var/accounts/CN20081547/zoek/getallenlijst.php on line 7

Als ik de eerste php-code gebruik en van het veld een text-veld maak, krijg ik de volgende fout.
Parse error: syntax error, unexpected T_VARIABLE in /var/accounts/CN20081547/zoek/getallenlijst.php on line 9

Ik heb or die(mysql_error()) achter $resultaat = "" gezet, maar de foutmelding blijft hetzelfde.

Nu zie ik dat ik achter de query geen ';' gezet heb.  De eerste code werkt nu prima met een tekstveld.

De tweede code werkt prima met een int.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.221s