Avatar billede tlunde Nybegynder
10. oktober 2005 - 13:10 Der er 16 kommentarer og
1 løsning

Hjælp til søgefunktion?

Hejsa,
Jeg er ved at lave en søgefunktion, hvor der skal foretages valg i 2 dropdowns, og så skal der søges på det valgte...

Jeg har opstillet det sådan her indtil videre, men den søger ik rigtigt på det valgte, hvad gør jeg forkert?

Her er koden:

<form action="forside.php" method="get">
                <div align="left"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Søgning:<br />

<select name="soeg" id="soeg">
<option value='Sorg'>Sorg</option>";
<option value='Familieproblemer'>Familieproblemer</option>";
<option value='Sygdom'>Sygdom</option>";
<option value='Misbrugsproblemer'>Misbrugsproblemer</option>";
<option value='Psykiske lidelser'>Psykiske lidelser</option>";
<option value='Pårørende til syge'>Pårørende til syge</option>";
<option value='Fødsel og børn'>Fødsel og børn</option>";
<option value='Ensomhed'>Ensomhed</option>";
<option value='Arbejdsproblemer'>Arbejdsproblemer</option>";
<option value='Andet'>Andet</option>";
</select>
<select name="soeg" id="soeg">
<option value='?'>1000-1999</option>";
<option value='?'>2000-2999</option>";
<option value='?'>3000-3999</option>";
<option value='?'>4000-4999</option>";
<option value='?'>5000-5999</option>";
<option value='?'>6000-6999</option>";
<option value='?'>7000-7999</option>";
<option value='?'>8000-8999</option>";
<option value='?'>9000-9999</option>";
</select>
                </font> <font face="Verdana, Arial, Helvetica, sans-serif" size="1">
                <input type="submit" name="sog2" value="S&oslash;g" />
                </font></div>
                <font face="Verdana, Arial, Helvetica, sans-serif" size="1">
                <?
if ($soeg) {

db_con();

$dato_nu = time();

$sql = mysql_query("select * from annoncer WHERE aktiv='ja' AND dato_slut > '$dato_nu' AND hovedkategori like '%$hovedkategori%' AND postnr like '%$region%'");
$number = mysql_num_rows($sql);
print  "Din s&oslash;gning p&aring;: <b>$seek</b> gav $number resultat(er)";

while ($row = mysql_fetch_array($sql)) {
print "<li><a href=http://www.selvhjaelp.dk/for_organisationer/annoncer/annoncer_vis.php?id=$row[id]>$row[overskrift]</a></li>";
}
} elseif ($sog) {
print "Du skrev ikke noget s&oslash;geord!!";
} else {
}
?>
Avatar billede net-base.dk Nybegynder
10. oktober 2005 - 13:25 #1
<form action="forside.php" method="get">
                <div align="left"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Søgning:<br />

<select name="hovedkategori" id="soeg">
<option value='Sorg'>Sorg</option>";
<option value='Familieproblemer'>Familieproblemer</option>";
<option value='Sygdom'>Sygdom</option>";
<option value='Misbrugsproblemer'>Misbrugsproblemer</option>";
<option value='Psykiske lidelser'>Psykiske lidelser</option>";
<option value='Pårørende til syge'>Pårørende til syge</option>";
<option value='Fødsel og børn'>Fødsel og børn</option>";
<option value='Ensomhed'>Ensomhed</option>";
<option value='Arbejdsproblemer'>Arbejdsproblemer</option>";
<option value='Andet'>Andet</option>";
</select>
<select name="region" id="soeg">
<option value='?'>1000-1999</option>";
<option value='?'>2000-2999</option>";
<option value='?'>3000-3999</option>";
<option value='?'>4000-4999</option>";
<option value='?'>5000-5999</option>";
<option value='?'>6000-6999</option>";
<option value='?'>7000-7999</option>";
<option value='?'>8000-8999</option>";
<option value='?'>9000-9999</option>";
</select>
                </font> <font face="Verdana, Arial, Helvetica, sans-serif" size="1">
                <input type="submit" name="sog2" value="S&oslash;g" />
                </font></div>
                <font face="Verdana, Arial, Helvetica, sans-serif" size="1">
                <?
if ($soeg) {

db_con();

$dato_nu = time();

$sql = mysql_query("select * from annoncer WHERE aktiv='ja' AND dato_slut > '$dato_nu' AND hovedkategori like '%".$_POST["hovedkategori"]."%' AND postnr like '%".$_POST["region"]."%'");
$number = mysql_num_rows($sql);
print  "Din s&oslash;gning p&aring;: <b>$seek</b> gav $number resultat(er)";

while ($row = mysql_fetch_array($sql)) {
print "<li><a href=http://www.selvhjaelp.dk/for_organisationer/annoncer/annoncer_vis.php?id=$row[id]>$row[overskrift]</a></li>";
}
} elseif ($sog) {
print "Du skrev ikke noget s&oslash;geord!!";
} else {
}
?>

Sådan nu skulle det virke... prøv det af...

Har rettet i navnene i din drop down box.
og så har jeg rettet til sgu sætning til så den bruger det som man har valgt i dorpdown menuen
Avatar billede net-base.dk Nybegynder
10. oktober 2005 - 13:27 #2
sgu = sql
Avatar billede tlunde Nybegynder
10. oktober 2005 - 13:33 #3
Tak fordi du lige gad hjælpe, men har lige noget andet også, før jeg kan tjekke om det virker...

I databasen har jeg 2 felter som hedder postnr1 og postnr2, og de kan f.eks. hedde 8200 og 8600, og når man så vælger denne: <option value='?'>8000-8999</option>"; fra dropdown to, så skal den søge poå postnumre i det interval. Hvordan skriver jeg det der hvor jeg har skrevet ? i kodelinien?

Forstår du?
Avatar billede net-base.dk Nybegynder
10. oktober 2005 - 13:42 #4
Ja den skal jeg lige se på... skal lige have kodet...
Avatar billede tlunde Nybegynder
10. oktober 2005 - 13:43 #5
Altså...det jeg bare gerne vil have, er at jeg vil have en søgefunktion, der søger på det jeg vælger ud fra de 2 dropdownboxe + at i den sidste dropdown, der skal der søges på det post nr interval man vælger, og det ved jeg ik lige hvordan jeg skal skrive, så den kan søge på det...
Avatar billede tlunde Nybegynder
10. oktober 2005 - 13:45 #6
Søgefunktionen kan ses her, den øverste del:
http://www.selvhjaelp.dk/forside.php
Avatar billede net-base.dk Nybegynder
10. oktober 2005 - 13:48 #7
Ja jeg er godt med på hvad du mener... men du skal have lavet et tjek som finder ud af hvad der er valgt i region... Og på den måde skal man så lave Sql sætningen men den skal se nogen lunde sådan her ud:

"select * from annoncer WHERE aktiv='ja' AND dato_slut > '$dato_nu' AND hovedkategori like '%".$_POST["hovedkategori"]."%' AND postnr > '1000' AND Postnr < '2000'"

Skulle jeg mene...
Avatar billede tlunde Nybegynder
10. oktober 2005 - 14:04 #8
Ja, jeg tror godt jeg kunne finde ud af at lave SQL'en til den, men det er mere hvad jeg skal skrive i stedet for ?-tegnet i:
<option value='?'>8000-8999</option>";

Hvad der skal stå, for at den kan finde ud af at søge på det...
Avatar billede tlunde Nybegynder
10. oktober 2005 - 14:20 #9
Ved du hvordan man gør det, eller om det overhovedet kan lade sig gøre at gøre det sådan?
Avatar billede net-base.dk Nybegynder
10. oktober 2005 - 14:38 #10
Det kan godt lade sig gøre...
Du kan give dem den samme value som de hedder. og så lave en if sætning som tester på hvad værdien er og så laver resten af sql sætningen ud fra det...
Avatar billede tlunde Nybegynder
10. oktober 2005 - 14:55 #11
hmm...okay, lyder fornuftigt, er det noget du evt. kan hjælpe mig med?
Avatar billede net-base.dk Nybegynder
10. oktober 2005 - 15:04 #12
Ja det Kunne jeg nok godt klare... bliver bare først i aften, jeg måske får tid...
Avatar billede tlunde Nybegynder
10. oktober 2005 - 15:09 #13
Det er helt i orden, jeg er bare glad for at du gider hjælpe mig :) Takker...
Avatar billede tlunde Nybegynder
11. oktober 2005 - 09:30 #14
net-base.dk:
Hej igen, har du haft tid til at kigge videre på det?
Avatar billede tlunde Nybegynder
11. oktober 2005 - 15:09 #15
Skriv gerne lige tilbage, hvis det er noget du er interesseret i at hjælpe med, ellers må jeg lige se om jeg kan finde hjælp et andet sted, så lukker jeg her...
Avatar billede net-base.dk Nybegynder
11. oktober 2005 - 18:07 #16
Hej Tlunde...

Nej jeg har desværre ikke fået kigget på det... kom hjem og havde ondt i hovedet og har ligget syg i dag...

Men skal se på det hvis jeg orker.
Avatar billede tlunde Nybegynder
13. oktober 2005 - 19:48 #17
Lukker her igen...
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