31. maj 2004 - 06:25
Der er
5 kommentarer og 2 løsninger
søgeformular som på www.internetplads.dk, hvordan laves den?
Har lavet dette: <? require("mysql.php"); ?> <html> <head> <title>Søgning med valg</title> </head> <body> <form action='index.php' method='post'> <input type='checkbox' name='asp' value='1'> ASP<br> <input type='checkbox' name='cgi' value='1'> CGI<br> <input type='checkbox' name='frontpage' value='1'> Frontpage<br> <input type='checkbox' name='access' value='1'> Access<br> <input type='checkbox' name='php' value='1'> PHP<br> <input type='checkbox' name='nysql' value='1'> MySQL<br> <input type='checkbox' name='dansk' value='1'> Dansk<br> <input type='submit' value='Søg'> </form> Passer til din søgning:<br> <? // HENT DATA UDFRA OPLYSNINGERNE OVENFRA ?> </body> </html> Ja, hvordan henter jeg data, der matcher de felter, der er markeret?
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Hvis jeg forstår dig ret og det du ønsker er at hente de felter, som man krydser af i checkboksene, kan du måske gøre det sådan: <?php require("mysql.php"); $keys = array(); foreach ($_POST as $key => $val) { $keys[] = $key; } $query = "SELECT ".join(', ', $keys)." FROM tabel"; $res = mysql_query($query) or die(mysql_error()); while ($row = mysql_fetch_array($res)) { foreach ($keys as $val) { echo "$val indeholder: $row[$val]<br />"; } } ?>
har lige været væk nogle dage.. Det var ikke lige sådan noget jeg søgte.. Jeg søger sådan noed som de bruger når man søger efter webhoteller og sådan noed, på internetplads.dk har kigget lidt på det, og ville mene det skulle være noed i stil med: <? if($asp == "1"){ $s1 == "&& asp='1'"; } if($cgi == "1"){ $s2 == "&& cgi='1'"; } if($frontpage == "1"){ $s3 == "&& frontpage='1'"; } if($access == "1"){ $s4 == "&& access='1'"; } if($php == "1"){ $s5 == "&& php='1'"; } if($mysql == "1"){ $s6 == "&& mysql='1'"; } if($dansk == "1"){ $s7 == "&& dansk='1'"; } $hent_resultat = mysql_query("SELECT * FROM soegning WHERE(vis='1' $s1 $s2 $s3 $s4 $s5 $s6 $s7)"); while($resultat = mysql_fetch_array($hent_resultat)){ if($resultat == ""){ print "Din søgning gav intet resultat"; }else{ print "<a href='index.php?jump=$resultat[navn]'>$resultat[navn]</a><br>"; } } ?> Der blev kørt, men kan ikk helt få den til at virke
Prøv: <?php require("mysql.php"); $keys = array(); foreach ($_POST as $key => $val) { $keys[] = $key; } $liste = "'".join("','",$keys)."'"; $query = "SELECT * FROM soegning WHERE vis IN ($liste)"; $res = mysql_query($query) or die(mysql_error()); while ($row = mysql_fetch_array($res)) { // Vis resultat } ?>
Arh, jeg har misforstået dit indhold af tabellen.
Måske sådan her: <?php require("mysql.php"); $keys = array(); foreach ($_POST as $key => $val) { $keys[] = $key; } $liste = join(" ='1' OR ",$keys); $query = "SELECT * FROM soegning WHERE vis = '1' OR $liste = '1'"; $res = mysql_query($query) or die(mysql_error()); while ($row = mysql_fetch_array($res)) { // Vis resultat } ?>
BEAUTIFUL.. den virker :o) Many tak :o)
Vi tilbyder markedets bedste kurser inden for webudvikling