Når man søger på Hans og .. Vejle, så får man kun de Hans'er i databasen der også har gruppen Vejle. Altså begge 2 ting skal være opfyldt. Derfor AND
Problemet er bare, at hvis man vil søge på alle Hans'er, ikke bare nogen fra en bestem gruppe, så gider den ikke. Så får man en fejl. Der er ca 10 af disse søge kriterier, så jeg kan ikke lave if sætninger =(
Synes godt om
Slettet bruger
15. oktober 2002 - 20:51#6
Så skal vi nok se lidt mere kode.
"så gider den ikke" kan jo ikke rigtig bruges til fejlfinding ;)
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /net/users/a44/097//www//nfosearch.php on line 392
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /net/users/a44/097//www//nfosearch.php on line 393
Er de 2 fejl jeg får, linierne hedder:
$db = mysql_connect("localhost", "root", "password"); mysql_select_db("database", $db); $foresp = mysql_query("SELECT * FROM nfos WHERE name LIKE '%$search_name%' AND group LIKE '%$search_group%' ORDER BY id DESC"); echo mysql_num_rows($foresp) . " Results: <br><br>"; while($data = mysql_fetch_array($foresp)){ }
Hvis indholdet af $nuked er forskelligt fra 0 og 1 vil der ikke blive indsat en betingelse i mit foreslag, man kan selvfølgelig indsætte en anden variable for om man skal checke på nuked.
Til Spike, jeg har skrevet en udkast til en løsning hvis man vil have andre betingelser indbygget kan man bare gøre dette f.eks.
if ($search_group) { if ($mark==1) { $statement = $statement + " AND "; } $statement = $statement + "groupe like '%$search_group%"; $mark=1; } Ups jeg glemte at indsætte $mark=1 i $nuked testen
Hvis du ikke vil have søgningen til når brugeren ikke har valgt udvalg checker du på $mark inden du søger
Feltet $nukedOK er <> 0 hvis der skal søges på nuked, eller 0
$statement = "select * from test where "; $markAND = 0; if ($search_name) { $statement = $statement + "name like '%$search_name%"; $mark=1; } if ($search_group) { if ($mark==1) { $statement = $statement + " AND "; } $statement = $statement + "groupe like '%$search_group%"; $mark=1; } if ($nukedOk) { if ($mark==1) { $statement = $statement + " AND "; } $statement = $statement + "nuked = '$nuked'; $mark=1; } $statement = $statement + " ORDER BY id DESC"; if ($mark=1) { // søgning brugeren har opsat felter $foresp = mysql_query( $statement );
} else { // Ingen søgning da brugeren ikke har udfyldt nogle informationer }
Nu er det hele bygget sammen.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.