Avatar billede sacer Nybegynder
29. august 2004 - 23:33 Der er 5 kommentarer

søge hjælpe?

function soegforum($db) {
echo '
<h1>Søg efter tråd</h1>

Her kan søge efter tråde i forummet. Der søges i overskrift og tekst i de oprettede tråde; dog ikke i de tilhørende kommentarer. Hvis du ikke indtaster et søgeord vil alle resultater blive vist!<br><br>

<form action="default.php?site=soegforum">
<table><tr>
<td>Søgeord:<br><input type="text" name="q">&nbsp;</td>
<td>Sorter efter:<br><select name="sort"><option value="header">Overskrift</option><option value="name">Forfatter</option><option value="id">Dato</option></select>&nbsp;</td>
<td>Sortering:<br><select name="order"><option value="desc">Faldende [z-a]</option><option value="asc">Stigende [a-z]</option></select></td>
</tr></table>
<input type="submit" value="Udfør">
</form>';

if (isset($_GET['q'])) {
    echo '<hr>';
    echo '<h2>Resultater af din søgning på: "'.$_GET['q'].'"</h2>';

    $range = 8;
    $offset = isset($_GET['offset']) ? $_GET['offset'] : 0;

    $q =  $_GET['q'];
    $sort = $_GET['sort'];
    $order = $_GET['order'];
    $query = mysql_query("SELECT id,header,name,DATE_FORMAT(date,'%e/%c-%y %T') AS date FROM forum WHERE parent=0 AND (header LIKE '%$q%' OR message LIKE '%$q%') ORDER BY $sort $order LIMIT $offset,$range") or die(mysql_error());
    if (mysql_num_rows($query) == 0){
        echo 'Ingen resultater af din søgning!<br>';
    } else {
        echo '<table id="list"><tr>';
        echo '<th width="40%">Overskrift</th><th width="30%">Forfatter</th><th width="30%">Dato</th><th nowrap>Indlæg</th>';
        echo '</tr>';
        while($row = mysql_fetch_assoc($query)) {
            echo '<tr>';
            echo "<td width='40%'><a href='default.php?site=laes&id=$row[id]'>$row[header]</a></b></td>";
            echo '<td width="30%">'.$row['name'].'</td>';
            echo '<td width="30%">'.$row['date'].'</td>';
            echo '<td nowrap>'.mysql_result(mysql_query("SELECT COUNT(*) FROM forum WHERE parent=$row[id]"),0).'</td>';
            echo '</tr>';
        }
        echo '</table>';
    }
    echo '<br>';

    $antal = mysql_result(mysql_query("SELECT COUNT(*) FROM forum WHERE parent=0 AND (header LIKE '%$q%' OR message LIKE '%$q%')"),0);
    if ($offset >= $range) {
        $forrige = $offset-$range;
        echo "<a href='?site=soegforum&q=$q&sort=$sort&order=$order&offset=$forrige'>Forrige</a> | ";
    } else {
        echo 'Forrige | ';
    }
    if ($antal > $offset+$range) {
        $naeste = $offset+$range;
        echo "<a href='?site=soegforum&q=$q&sort=$sort&order=$order&offset=$naeste'>Næste</a>";
    } else {
        echo 'Næste';
    }
}
}

Jeg har på siden default.php?site=soegforum og jeg skal søge, men når jeg trykker for at søge så tager den ikke ?site=soegforum med, men kun fra ?q= så ledes at den ser sådan ud: default.php?site=soegforum&q=test&sort=header&order=desc..

Nogen der ved hvad der er galt?
Avatar billede taskmgr Nybegynder
29. august 2004 - 23:43 #1
Prøv at ændre dette:

echo '
<h1>Søg efter tråd</h1>

Her kan søge efter tråde i forummet. Der søges i overskrift og tekst i de oprettede tråde; dog ikke i de tilhørende kommentarer. Hvis du ikke indtaster et søgeord vil alle resultater blive vist!<br><br>

<form action="default.php?site=soegforum">
<table><tr>
<td>Søgeord:<br><input type="text" name="q">&nbsp;</td>
<td>Sorter efter:<br><select name="sort"><option value="header">Overskrift</option><option value="name">Forfatter</option><option value="id">Dato</option></select>&nbsp;</td>
<td>Sortering:<br><select name="order"><option value="desc">Faldende [z-a]</option><option value="asc">Stigende [a-z]</option></select></td>
</tr></table>
<input type="submit" value="Udfør">
</form>';

Til dette:

echo '
<h1>Søg efter tråd</h1>

Her kan søge efter tråde i forummet. Der søges i overskrift og tekst i de oprettede tråde; dog ikke i de tilhørende kommentarer. Hvis du ikke indtaster et søgeord vil alle resultater blive vist!<br><br>

<form action="default.php">
<table><tr>
<td>Søgeord:<br><input type="text" name="q">&nbsp;</td>
<td>Sorter efter:<br><select name="sort"><option value="header">Overskrift</option><option value="name">Forfatter</option><option value="id">Dato</option></select>&nbsp;</td>
<td>Sortering:<br><select name="order"><option value="desc">Faldende [z-a]</option><option value="asc">Stigende [a-z]</option></select></td>
</tr></table>
<input type="hidden" name="site" value="soegforum" />
<input type="submit" value="Udfør">
</form>';
Avatar billede taskmgr Nybegynder
29. august 2004 - 23:48 #2
Flyt evt.
<input type="hidden" name="site" value="soegforum" />
til linien efter <form action="default.php">, hvis du vil ha' site=soegforum som det første argument.
Avatar billede sacer Nybegynder
29. august 2004 - 23:51 #3
hehe okay, havde lige fundet ud af det da du lavede den kommentar, men okay. Skriv som svar og du får nogle points det er vel fair nok selvom man selv finde ud af det .... du skriver jo svaret
Avatar billede taskmgr Nybegynder
29. august 2004 - 23:54 #4
Ja det er jo svært at vide om du selv har fundet en løsning :)
Avatar billede taskmgr Nybegynder
01. september 2004 - 21:17 #5
Husk at lukke ;)
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