Toon posts:

[PHP/MYSQL] 2 invoer velden

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo Allemaal,

Ik zal eerst even uitleggen wat de bedoeling is, en dan zal ik mijn voorbeeld laten zien.
De bedoeling is dat ik 2 invoervelden heb te wete:

- zoekopdracht1
- zoekopdracht2

Met zoekopdracht1 kan je zoeken op naam en bij zoekopdracht2 kan je zoeken op leeftijd.

Nu heb ik het zo gedaan:

<?php
$result = sql_query("select userid, unaam, naam, leeftijd from leden where (unaam like '%$zoekopdracht1%' OR naam like '%$zoekopdracht1%' OR leeftijd like '%$zoekopdracht2%') order by unaam ASC limit $min,$offset", $dbcon);
?>

Als ik nu bij zoekopdracht1 bv:pietje invul en klik op zoeken dan laat hij alle leden die pietje heten zien.

Maar als ik nu bij zoekopdracht2 bijvoorbeeld 22 invul en klik op zoeken, dan krijg ik iedereen te zien.

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 14-07 14:28

thomaske

» » » » » »

dat komt doordat de uname en name dan gelijk moet zijn aan '%%' en dat is altijd. je moet dus controleren waarop er wordt gezovht en aan de hand daarvan je query samenstellen

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


  • whoami
  • Registratie: December 2000
  • Laatst online: 31-08 22:34
Ik kan me voorstellen dat leeftijd geen alfanumeriek veld is in uw databank?
Een LIKE werkt niet op numerieke waarden.
Trouwens, als je bij leeftijd 22 invult, verwacht je waarschijnlijk geen mensen met een leeftijd bv 122 of 221, dus is een gewoon = - teken voldoende.

https://fgheysels.github.io/


Verwijderd

Topicstarter
Dus als het eerste invoerveld leeg is, dan maakt het niet uit wat je bij het 2de invoerveld invult, hij laat dan gewoon altijd iedereen zien omdat het eerste veld leeg is, als ik het goed begrijp.

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Verwijderd schreef op 09 oktober 2002 @ 09:52:
Dus als het eerste invoerveld leeg is, dan maakt het niet uit wat je bij het 2de invoerveld invult, hij laat dan gewoon altijd iedereen zien omdat het eerste veld leeg is, als ik het goed begrijp.

Yup.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Verwijderd

Topicstarter
Heeft toevallig iemadn hier ook een voorbeeldje van

  • sys64738
  • Registratie: Oktober 2002
  • Laatst online: 08:57

sys64738

Moderator Foto & Video

Press play on tape

Ja das dus logisch. Als zoekopdracht1 leeg is, voldoen alle records in de database. Dit wil je waarschijnlijk niet.

Je kunt gewoon van te voren (in PHP) afvragen of zoekopdracht1 niet leeg is. Als zoekopdracht1 wel leeg is, moet je alleen het 2e gedeelte van je query op de database loslaten.

Voorbeeldje:


<?php
if ($zoekopdracht1 != "")
{
$result = sql_query("select userid, unaam, naam, leeftijd from leden where (unaam like '%$zoekopdracht1%' OR naam like '%$zoekopdracht1%' OR leeftijd like '%$zoekopdracht2%') order by unaam ASC limit $min,$offset", $dbcon);
}
else
{
$result = sql_query("select userid, unaam, naam, leeftijd from leden where leeftijd like '%$zoekopdracht2%' order by unaam ASC limit $min,$offset", $dbcon);
}

?>

Flickr | Photography 101: Skills > Patience > Gear

Pagina: 1