Search Script / News Please Help

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
Nosferatu_v
Mitglied
Beiträge: 283
Registriert: 04.02.2004 10:13
Wohnort: Österreich
Kontaktdaten:

Search Script / News Please Help

Beitrag von Nosferatu_v »

Hallo,

ich suche ein script, das meine page durchsucht, also der User soll Begriff eingeben und dann sollen drunter die Ergebnisse kommen mit link dazu.

Die Page ist zu 95% inhaltlich in einer mysql datenbank.
kann mir da jemand helfen ?

Für die News hab ich selbst schon was gemacht, aber das funkt nich so wie ich es will, ich kann lediglich mit nur 1nem wort suchen damit ergnisse erzielt werden sobald es dann 2 oder 3 oder 4 worte sind kommt entweder nichts oder man hat zufall das diese 2 worte neben einander stehen

also benötige ich 2 dinge:

1) ein scirpt das einfach die ganze datenbank durchsucht und mir ergebnisse mit den dazugehörigen links auspuckt

2) hilfe bei meinem suchscript für die news das nur in den news sucht

Code: Alles auswählen

<form method="post" <?php echo "action=site.php?page=53&d=$d&lan=$lan"; ?>>
<?php echo "$text203"; ?>: <input type='text' name='suche'>
<input type='submit' value='Suchen!'>
</form>

$sql = "SELECT * FROM ".$dblan."_news WHERE eintrag LIKE '%$suche%' OR titel LIKE '%$suche%' OR kategorie LIKE '%$suche%' ORDER BY id DESC";
und dann lese ich einfach die dazugehörigen news tabellen aus
Zuletzt geändert von Nosferatu_v am 02.01.2007 12:33, insgesamt 2-mal geändert.
Benutzeravatar
Nosferatu_v
Mitglied
Beiträge: 283
Registriert: 04.02.2004 10:13
Wohnort: Österreich
Kontaktdaten:

Beitrag von Nosferatu_v »

hallo, bin nun was weiter gekommen habe aber ein großes problem nun, könnte mir jemand helfen bitte, arbeite schon wochen daran und komm einfach nicht weiter, könnte mir jemand das umschreiben das es lauft, wäre sehr nett.

wenn ich zb nun:

Games Serie mache, werden 5 einträge angezeigt was ok ist. wenn ich aber

Games + Serie oder Games, Serie mache, so werden dann wieder alle angezeigt und nicht diese 5 sondern einfach alles

und mein eintragszähler der nach einträgen blättern sollte zeigt immer das falsche ergebnis an immer die einträge vom ersten such wort, also wie beim ersten sind es Games 4 und serie 1 somit werden dann 4 einträge angezeigt obwohl 5 sichtbar sind wenn ich serie games mache wird 1 angezeigt statt 5

woran liegt das ?

hier der test

http://www.pj-firepower.com/site.php?page=53&d=&lan=1

und hier mein code


Code: Alles auswählen

<form method="post" <?php echo "action=site.php?page=53&d=$d&lan=$lan"; ?>>
<?php echo "$text203"; ?>: <input type='text' name='suchen'>
<input type='submit' value='Suchen!'>
</form>


<?
    require_once("include/queryList.php");

$suchstring = "$suchen";

$suchstring = str_replace (",", " ", $suchstring);
$suchstring = str_replace ("+", " ", $suchstring);

$suchstring = explode (" ", $suchstring);

$anzz = count ($suchstring);

for ( $i=0; $i<$anzz; ++$i) {
     $suche = $suchstring[$i];

$sql = "SELECT * FROM ".$dblan."_news WHERE eintrag LIKE '%$suche%' OR titel LIKE '%$suche%' OR kategorie LIKE '%$suche%' ORDER BY id DESC";

# syntax: queryList( $sql, $link, $page, [$rowsPerPage [, $pageLimit ]])
    $queryList = new queryList( $sql, "site.php?page=53&d=$d&lan=".$lan."&", $pa );
    $result = mysql_query ($queryList->sql);
?>
<?

    if(mysql_num_rows($result))
{
while($row=mysql_fetch_array($result))
{
$id = $row['id'];

$new_query = "SELECT * FROM ".$dblan."_knews WHERE id='$id'";

$res = mysql_query($new_query);

$anzahl = mysql_num_rows($res);
{
$id = $row['id'];

echo "<table border='0' width='500' class='ntable'>
<tr hight=1 class='ntr'><td width='500' class='newstitle'><b>"; echo "$row[kategorie]"; echo "&nbsp;:&nbsp;"; echo "$row[titel]"; echo "</b></td></tr>
<tr class='nntr'><td width='500' class='ntd'>$text204: <a href='mailto:".$row[email]."'>".$row[name]."</a></td></tr>
<tr class='nntr'><td width='500' class='ntd'>".$row[datum]."</td></tr>
<tr class='nntr'><td width='500' class='ntd'>";
eval("?>".nl2br($row['eintrag']));

echo "</td></tr>
<tr class='nntr'><td width='500' class='ntd'><p align='right'><a href='";
echo "site.php?page=52&lan=$lan&id=$id&d=$d'>$text205 $anzahl";
echo "</a></p></td></tr></table><br>";
}
}
}
}
?>
<?
    if($queryList->total >= 1) { echo "<br>Displaying records <font color=red>$queryList->start</font> - 
    <font color=red>$queryList->stop</font> of <font color=red>$queryList->total</font>."; }
    if($queryList->pas > 1) { echo "<br>Pages ( $queryList->pas ) : $queryList->result "; }
?>

Antworten

Zurück zu „Coding & Technik“