Avatar billede hamzter Nybegynder
27. november 2007 - 12:20 Der er 10 kommentarer og
1 løsning

bøvl med søgefunktion

Jeg sidder og leger med en søgefunktion, men kan simpelthen ikke få det til at virke. Synes efterhånden jeg har prøvet alt.. Nogen der kan se hvad der er galt?

search.php:
<p><b>Søg på log:</b></p>
<form name="search" action="_search.php">
<input type="text" name="sog" size="30">
<input type="submit" value="Søg" size="10"> 
</form>

_search.php:
<?php
include("connect.php");
<body>
$var = $_GET['sog'] ;
echo "du søgte på '$var'";
$sql = "SELECT id, forfatter, tekst, dato FROM log WHERE forfatter LIKE '$var' OR tekst LIKE '$var' OR dato LIKE '$var' ORDER BY dato";
$result = mysql_query($sql, $conn) or die(mysql_error());
while ($newArray = mysql_fetch_array($result)) {
        $id =$newArray['id'];
        $forfatter = $newArray['forfatter'];
        $tekst = $newArray['tekst'];
        $dato = $newArray['dato'];

echo
"
<TABLE width=70%>
<TR>
<TD width=10%><a href='log_rediger.php?id=$id'><center><p>$dato</p></center></a></TD>
<TD width=50%><a href='log_rediger.php?id=$id'><center><p>$tekst</p></center></a></TD>
<TD width=10%><a href='log_rediger.php?id=$id'><center><p>$forfatter</p></center></a></TD>
</TR>
</TABLE>
";
}
?>
Avatar billede erikjacobsen Ekspert
27. november 2007 - 12:23 #1
Du kunne jo starte med at fortælle os, hvad der ikke virker.
Avatar billede hamzter Nybegynder
27. november 2007 - 12:35 #2
Arh, selvfølgelig.. ;)

Når jeg trykker på 'søg' loader den _search.php, men der kommer intet udtræk fra databasen. Der står blot "du søgte på x".
Der er heller ingen fejlmeddelelse.
Avatar billede erikjacobsen Ekspert
27. november 2007 - 12:53 #3
Ok, så tror jeg det er fordi du ikke bruge LIKE rigtigt. Det skal nok være

  forfatter LIKE '%$var%'

således at du får et svar, hvis $var er en delstreng.
Avatar billede hamzter Nybegynder
27. november 2007 - 12:57 #4
Jeg havde faktisk netop fjernet % da jeg tænkte det måske havde noget at sige. Har lige tilføjet det igen, men uden held.

Har også prøvet "SELECT * FROM log".
Avatar billede erikjacobsen Ekspert
27. november 2007 - 13:29 #5
Dvs. du prøver ovenstående, blot med den ændre at sql-sætningen er:

    $sql="SELECT * FROM log";

?? Og der står noget i "log"?? Det lyder mærkeligt hvis det ikke giver noget, der kan læses. Du har ikke et link til siden?
Avatar billede hamzter Nybegynder
27. november 2007 - 13:38 #6
Ja, lige præcis!
Siden er desværre ikke på www endnu. Men der står noget i log. Har andre funktioner kørende uden problemer, bl.a. en SELECT DISTINCT og INSERT INTO, som henter fra, og skriver til, log.
Avatar billede hamzter Nybegynder
27. november 2007 - 13:42 #7
Hmm, kan se på kildekoden (når jeg har forsøgt at søge), at den ikke bliver sluttet af med
</body>
</html>

selvom det er i php-filen.. Ved ikke om det kan have noget med det at gøre?
Avatar billede erikjacobsen Ekspert
27. november 2007 - 13:44 #8
Normalt vil browseren vise det alligevel. Men:
1) Står der søgeresultater i kildekoden (Vis kilde) når du har søgt efter noget (der findes)?
2) Står der "</body></html>" på din _search.php?
Avatar billede hamzter Nybegynder
27. november 2007 - 13:47 #9
Damn, problemet er løst! Havde en include, hvor der blot stod <? og ikke <?php!

Jeg siger tak for hjælpen. Smid et svar, så får du lidt for ulejligheden. :)
Avatar billede erikjacobsen Ekspert
27. november 2007 - 13:56 #10
;) - den var morsom. Du opdagede det så ved at det stod "<?" og php-kode i "vis kilde" ?

Men jeg samler slet ikke på point, tak. Svar selv, accepter eget svar.
Avatar billede hamzter Nybegynder
27. november 2007 - 13:59 #11
Ja præcis. Include-filen var nævnt i kildekoden.

Men helt i orden, endnu engang tak for hjælpen! :)
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
Computerworld tilbyder specialiserede kurser i database-management

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