login  Naam:   Wachtwoord: 
Registreer je!
 Forum

search

Offline svenie - 31/08/2004 19:54
Avatar van svenieHTML interesse ik heb deze code een beetje aangepast:
  1. <?php
  2. if ($_POST['Zoek']) {
  3.  
  4. //Variabelen
  5. $tabel="nieuws"; //In welke tabel wil je zoeken ?
  6. $waarde="titel"; //In welke kolom van je tabel wil je zoeken ?
  7. //Einde Variabelen
  8.  
  9. $naamvantekstveld=$_POST['naamvantekstveld'];
  10. $query="SELECT * FROM `$tabel` WHERE $waarde LIKE '%$naamvantekstveld%'";
  11. $sql = mysql_query($query) or die (mysql_error());
  12. $aantal=mysql_num_rows($sql);
  13.  
  14. if ($aantal == 0) {
  15. echo "Er zijn <B>geen</B> resultaten gevonden";
  16. } else {
  17. echo "Er zijn <B>$aantal</B> resultaten gevonden:<BR><BR>";
  18.  
  19. while ($obj = mysql_fetch_object($sql)) {
  20.  
  21. echo "$obj->kolom1<BR>$obj->kolom2";
  22.  
  23. }
  24. }
  25. }
  26. ?>
  27. <FORM ACTION="" METHOD="post">
  28. Zoeken:
  29. <INPUT TYPE="text" NAME="naamvantekstveld">
  30. <INPUT TYPE="submit" NAME="Zoek" VALUE="Zoek">
  31. </FORM>



naar:

  1. <?php
  2. include "db.php";
  3.  
  4. if ($_POST['Zoek']) {
  5.  
  6. //Variabelen
  7. $tabel="software"; //In welke tabel wil je zoeken ?
  8. //Einde Variabelen
  9.  
  10. $naamvantekstveld=$_POST['naamvantekstveld'];
  11. $query="SELECT * FROM `$tabel` WHERE naam LIKE '%$naamvantekstveld%'";
  12. $sql = mysql_query($query) or die (mysql_error());
  13. $aantal=mysql_num_rows($sql);
  14.  
  15. if ($aantal == 0) {
  16. echo "Er zijn <B>geen</B> resultaten gevonden";
  17. } else {
  18. echo "Er zijn <B>$aantal</B> resultaten gevonden:<BR><BR>";
  19. echo "<table border=1 cellspacing=0 bordercolor=1>";
  20. while ($obj = mysql_fetch_object($sql)) {
  21.  
  22. <form action='index.php?inh=totalsoftware&tid=$obj->id' method='post' name='$obj->id'>
  23. <tr>
  24. <td bgcolor='gray' width='20%' colspan='2'>$obj->naam</td></tr><tr><td width='50%'><INPUT TYPE='Submit' NAME='Submit' VALUE='Download'></td><td width='10%'>$obj->size (kb)</td>
  25. </tr></form>";
  26.  
  27. }
  28. echo "</table>";
  29. }
  30. }
  31. ?>
  32. <FORM ACTION="" METHOD="post">
  33. Search (software):
  34. <INPUT TYPE="text" NAME="naamvantekstveld">
  35. <INPUT TYPE="submit" NAME="Zoek" VALUE="Search">
  36. </FORM>



het vage is

als ik intik Kazaa dan zegt ie dat ie niks heeft gevonden maar als ik Keane van de site selecteer en dan plak in het search hokje, dan vind ie wel wat. weet iemand waarom die het niet gewoon doet?

p.s. script is van joël van versie 1

18 antwoorden

Gesponsorde links
Offline Hans - 31/08/2004 19:56
Avatar van Hans HTML beginner Zou het misschien kunnen dat 'Kazaa' gewoon niet voorkomt in je db?
Offline svenie - 31/08/2004 19:58
Avatar van svenie HTML interesse :s
ow sjit natuurlijk!!! 

neej duh natuurlijk wel^^
Offline svenie - 01/09/2004 16:15
Avatar van svenie HTML interesse weet er verder iemand waarom hij het niet doet als ik iets intyp maar wel als ik iets selecteer en daarna erin copieër?
Offline Darrow - 01/09/2004 16:18 (laatste wijziging 01/09/2004 16:20)
Avatar van Darrow Onbekend hmm nm (waarom is hier geen deletefunctie? )

werkt het bovenste script wel ?
Offline svenie - 01/09/2004 16:24
Avatar van svenie HTML interesse ja maar als ik daar meer dan 3 dingen in m'n database heb doet ie het al niet meer:s
Offline Button - 01/09/2004 16:30
Avatar van Button PHP ver gevorderde het lijkt mij toch ok. raar dat ie het niet doet...
Offline svenie - 01/09/2004 18:01
Avatar van svenie HTML interesse kan het misschien aan het lettertype liggen 

Offline knars - 01/09/2004 19:02
Avatar van knars Lid lol, nee sven, nee
Offline Button - 01/09/2004 19:10
Avatar van Button PHP ver gevorderde misschien is de mysql zijn zoekfunctie met LIKE wel hoofdlettergevoelig   je hebt misschien kazaa ingetypt in het searchvak en in jouw database staat Kazaa. Check dat eens
Offline svenie - 02/09/2004 18:46
Avatar van svenie HTML interesse checked maar bij allebei doen ze het niet en TOEN die het nog wel deed kon het we wel met en zonder hoofdletter
Offline b4nkr0bz0r - 02/09/2004 20:42 (laatste wijziging 02/09/2004 20:42)
Avatar van b4nkr0bz0r PHP gevorderde mss kan je gewoon geen "Kazaa" typen

zou het anders echt niet weten
Offline CelestialCelebi - 02/09/2004 21:19
Avatar van CelestialCelebi PHP gevorderde En hou alsjeblieft eens op met dat mysql_fetch_object(). Waarom ga je een object aanmaken wat superveel geheugen in beslag neemt in plaats van een array die lekker flexibel is?
Offline svenie - 02/09/2004 21:50
Avatar van svenie HTML interesse :'(
heb je hé als je niet zoveel afweet van php en mysql
ben ook nog maar net 13:'(
Offline CelestialCelebi - 03/09/2004 10:21
Avatar van CelestialCelebi PHP gevorderde Ja, oke, maar dan nog.. Het is niet slim.

Net als dit:

$naamvantekstveld = $_POST['naamvantekstveld']

Je kunt net zo goed $_POST['naamvantekstveld'] gebruiken, dat scheelt weer laadtijd en een variabele.
Offline svenie - 03/09/2004 17:40
Avatar van svenie HTML interesse Wat maakt het uit!
daarvoor maakte ik dit topic niet!
ik wil antwoord op m'n vraag:
zie de vraag bovenaan!:)
Offline CelestialCelebi - 03/09/2004 18:17
Avatar van CelestialCelebi PHP gevorderde Nee, daar maak je je topic inderdaad niet voor. Maar het is wel een heel veel gemaakte fout. Je script wordt er namelijk veel slomer door en dat wil jij denk ik niet..

Maar als jij eigenwijs wilt zijn, ik vind het best hoor.

Zet eerst je variabelen maar eens buiten quotes en gebruik addslashes() (want wat gebeurt er als je hallo'hoi of iets dergelijks intypt?).

En waarom maak je de variabele $aantal aan als je hem maar 1 keer gebruikt? Een variabele maak je aan als je hem meer dan 2 keer gebruikt...

En waarom gebruik je dit:
  1. <?php
  2. if($_POST['zoek'])
  3. ?>


$_POST['zoek'] bestaat niet altijd, dus die geeft een foutmelding (in de vorm van een notice)..

Dit zou al beter zijn:
  1. <?php
  2. if(isset($_POST['zoek'])) // er werd op de knop GEKLIKT, als je op enter drukt gebeurt er niks
  3. ?>


Maar wat nou als er een leeg formulier wordt gepost? (denk aan checkboxes, en ja: Die krijg je nog wel 's hoor, maak je daar maar geen zorgen over).
Inderdaad, dan krijg je het formulier na het posten weer te zien... En dan kun je dus niet gaan zoeken of weet ik wat.
En ook als je op enter drukt, dus in plaats van op de knop te klikken, krijg je het formulier weer te zien..

Met deze manier van posten lukt het wel:
  1. <?php
  2. if($_SERVER['REQUEST_METHOD'] == 'POST') // er was een post
  3. ?>
Offline Insane - 03/09/2004 19:06
Avatar van Insane Onbekend zel het ze maar!:D

trouwens...waarom zou je meer typen dan nodig is, over een gemiddelde pagina doe je toch 2 a 3 uurtjes hé..al dat
  1. <?php?>
gedoe....
Offline svenie - 03/09/2004 20:41
Avatar van svenie HTML interesse thanx LesbialCeleb

had ik net nodig;)
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.232s