Avatar billede simon-h Nybegynder
13. marts 2008 - 23:44 Der er 5 kommentarer og
1 løsning

Søgefunktion der driller!

Davs derude! Jeg har et ret stort problem med en søgefunktion i php..
Jeg har oprettet database med phpmyadmin, og mit script ser således ud:

<form method="post" action='index.php'>
    <div align="center">
      <input type="text" value="S&oslash;g!" name="sog" size="15">
      <input type="hidden" name="form" value="ok">
        <input type="submit" value="Søg">
    </div>
</form>


    <div align="center">
      <?
    if ($form =="ok") {

    //Her opretter vi forbindelse til MySQL
    mysql_connect("localhost","root", "******");
    mysql_select_db("nydatabase");

    //Her er søge sætningen
    $query = mysql_query("SELECT * FROM nytabel WHERE sogeord LIKE '%$sog%' LIMIT 0, 30 ");
    ($ops = mysql_num_rows($query)); {
    echo"<font face=verdana size=1>Du søgte efter: <b>$sog</b><br>Der blev fundet<b> $ops </b>resultater.<br><br></font>";
    }
    while ($row = mysql_fetch_array($query)) {
    if (!$id){
    echo"<font face=verdana size=1>Du søgte efter: <b>$sog</b></font><br>";
    }
    echo "<font face=verdana size=1>» <a href=profil.php?ids=$row[sogeord]>$row[id]</a><br></font>";
    }
    }
    ?>

Men når jeg søger på noget på siden, så finder den intet fra min database.. der kommer ganske enkelt intet frem! Den opdatere siden engang og nustiller det jeg har skrevet i søgefeltet.. det er alt!

Hvad gør jeg forkert? På forhånd tak!
Avatar billede jakobdo Ekspert
14. marts 2008 - 06:58 #1
Prøv at ret linjen:
if($form=="ok") {
til:
if ($_POST['form'] =="ok") {
$form virker kun når globals er ON, men er generelt en dårlig ide.
Så du skal kalde dem via $_POST og $_GET
Du ska logså rette $sog i din sql, til $_POST['sog'], samt de andre steder du udskriver $sog.
Du kunne evt. nøjes med at lage:
$sog = $_POST['sog'];
Avatar billede dkfire Nybegynder
14. marts 2008 - 10:51 #2
Så mangler der et eller andet i denne her sætning:
($ops = mysql_num_rows($query)); {

Hvad vil du med den ??

Hvor kommer $id fra ??
if (!$id){

Og generelt er det dårligt html at bruge <font>, du skal i stedet bruge <span> og styles, da <font> er ved at udgå.
Avatar billede dkfire Nybegynder
17. marts 2008 - 13:25 #3
Er du kommet videre ??
Har det hjulpet noget ?
Kom med en tilbagemelding.
Avatar billede simon-h Nybegynder
17. marts 2008 - 19:31 #4
Jeg må indrømme at jeg ikke rigtig ved hvad det $id det gør..
Jeg er ret meget på bar bund, og ved ikke rigtig hvordan det virker, men jakobdo's svar fungerede med lidt variationer :)
Tak for det! Hvordan får du mine point, jakobdo?
Avatar billede jakobdo Ekspert
17. marts 2008 - 19:41 #5
Jeg lægger et svar og du accepterer.
Avatar billede jakobdo Ekspert
17. marts 2008 - 19:57 #6
Takker for point.
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