Avatar billede tfswebguy Nybegynder
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?
Avatar billede detox Nybegynder
31. maj 2004 - 06:46 #1
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 />";
    }
}
?>
Avatar billede tfswebguy Nybegynder
05. juni 2004 - 01:48 #2
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
Avatar billede detox Nybegynder
05. juni 2004 - 10:08 #3
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
}
?>
Avatar billede detox Nybegynder
05. juni 2004 - 10:10 #4
Arh, jeg har misforstået dit indhold af tabellen.
Avatar billede detox Nybegynder
05. juni 2004 - 10:14 #5
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
}
?>
Avatar billede detox Nybegynder
05. juni 2004 - 10:24 #6
OR skal selvf. være AND
Avatar billede tfswebguy Nybegynder
07. juni 2004 - 01:31 #7
BEAUTIFUL.. den virker :o) Many tak :o)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester