Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme bei Suchabfrage
Hallo,
ich habe Probleme bei der Übergabe der Suchparameter. Die Suche ist unter http://www.aice.de/az_index.php zu finden.
Als Suchwort soll "wellenlaenge" eingegeben und als Kategorie "Stellenmarkt" ausgewählt werden. Das Suchergebnis liefert 4 Datensätze, die über 2 Seiten dargestellt werden. Auf der 1.Seite werden die beiden Datensätze zwar dargestellt, aber nicht mehr auf der 2.Seite.
Kann mir jemand erklären wieso die Suchparameter nicht übergeben werden?
Gruss
Zocker
klar, wenn du uns ein bischen code postest ... ;)
schmalle 28-08-2003, 11:45 ich tippe auf POST/GET verschiebeung :) die suche an sich funkt per POST, die seitennavigation hingegen per get. vermutlich erwartet die suche aber POST ...
Kein Problem.
Hier lege ich den Suchstring fest.
$suchstring = "az_username=$such_wort&az_kategorie=$katname";
//$menge=Anzahl der Suchergebnisse
//$ausgabe_pro_seite=Anzahl Datensätze pro Seite
If ($menge > $ausgabe_pro_seite)
{
echo "<b><center>";
$vor = $z - 1; // Gibt einen Statuswert ab der sagt ob es noch ältere Einträge gibt.
$next = $z + 1; // Gibt einen Statuswert ab ob es noch weitere gibt.
If ($vor != 0 )
echo "<a href=\"az_suche.php?z=$vor&$suchstring\">";
// echo "<a href=\"anzahl_seiten1.php?z=$vor\">";
If ($vor == 0)
{
echo "<span class=\"links_inaktiv\"><strike>Zurück</strike></span>";
}
else
{
echo "<span class=\"links_normal\">Zurück</span>";
}
If ($vor !=0) echo "</a>";
echo " | ";
If ($next <= $seiten)
echo "<a href=\"az_suche.php?z=$next&$suchstring\">";
// echo "<a href=\"anzahl_seiten1.php?z=$next\">";
If ($next > $seiten)
{
echo "<span class=\"links_inaktiv\"><strike>Vor</strike></span>";
}
else
{
echo "<span class=\"links_normal\">Vor</span>";
}
If ($next <=$seiten) echo "</a>";
echo"</b></center><P>";
} php tags by schmalle
Ich hoffe das hilft euch weiter.
Gruss
Zocker
schmalle 28-08-2003, 11:52 "<a href=\"az_suche.php?z=$vor&$suchstring\">"
sollte wohl mal "<a href=\"az_suche.php?z=$vor&suchstring=$suchstring\">"; werden ...
Daran liegt es nicht. Ich lege ja vorher den Suchstring fest.
$suchstring = "az_username=$such_wort&az_kategorie=$katname";
Und dann schreibe ich den Link wie folgt:
echo "<a href=\"az_suche.php?z=$vor&$suchstring\">";
Der Fehler bleibt weiterhin bestehen.
Gruss
Zocker
schmalle 28-08-2003, 11:59 dazu sag ich nix.
Wie gesagt, ich habe beide Varianten getestet, aber ohne Erfolg. Hast du mal die Suche auf der Seite getestet, die ich oben angegeben habe?
Gruss
Zocker
schmalle 28-08-2003, 12:07 http://aice.de/az_suche.php?z=2&az_username=wellenlaenge&az_kategorie=Stellenmarkt
<-- dieser humbug wird übertragen, wenn ich auf "vor" klicke. :goth: das stimmt mit deinem code aber nicht überein ...
Das verstehe ich nicht. Wenn ich bei mir auf vor klicke, erscheint folgender Eintrag in der Adressleiste meines Browsers:
http://aice.de/az_suche.php?z=2&az_username=wellenlaenge&az_kategorie=Stellenmarkt
Aber trotzdem werden keine Suchergebnisse dargestellt
Gruss
Zocker
Nun vestehe ich garnichts mehr. Ich habe gerade eine URL hinein kopiert, die nicht korrekt im Forum dargestellt wird. Wieso das denn?
schmalle 28-08-2003, 12:12 poste mal den code der suchfunktion
Gibt es denn eine andere Möglichkeit die Suchergebnisse auf mehreren Seiten zu verteilen?
Gruss
Zocker
Hier ist der Code meiner Suchabfrage:
$suchabfrage = mysql_query("SELECT DISTINCT * FROM anzeigen WHERE
az_username Like '%$such_wort%'
AND az_kategorie Like '$katname' OR az_stadt Like '%$such_wort%'
AND az_kategorie Like '$katname' OR az_strasse Like '%$such_wort%'
AND az_kategorie Like '$katname' OR az_email Like '%$such_wort%'
AND az_kategorie Like '$katname' OR az_plz Like '%$such_wort%'
AND az_kategorie Like '$katname' OR az_pw Like '%$such_wort%'
AND az_kategorie Like '$katname' OR az_ueberschrift Like '% such_wort%'
AND az_kategorie Like '$katname' OR az_inhalt Like '%$such_wort%'
AND az_kategorie Like '$katname' OR az_kategorie Like '%$such_wort%'
AND az_kategorie Like '$katname' OR az_link Like '%$such_wort%'
AND az_kategorie Like '$katname' OR az_art Like '%$such_wort%'
AND az_kategorie Like '$katname'");
$menge = mysql_num_rows ($suchabfrage);
//Auf Seiten verteilen
$seiten = ceil($menge / $ausgabe_pro_seite);
if ( !$z )
$z = 1;
$maximum = $z * $ausgabe_pro_seite;
$minimum = $maximum - $ausgabe_pro_seite;
Auch du kannst die code.tags/php.tags des Forum benutzen! code.tags by wotan
Gruss
Zocker
schmalle 28-08-2003, 12:18 progst du immer so? :) das ist keine suche sondern ein sql-killer ;)
Wieso? Wie ist denn sonst eine Suche deiner Meinung nach aufgebaut?
@zocker
du suchst nach $such_wort übergibst per link aber $az_username
damit ist wohl klar, warum keine ausgabe auf seite 2 kommt, oder?
zudem fehlt ein limit, damit auf der 2. seite auch die nächsten einträge
gezeigt werden und nicht wieder bei 0 gestartet wird
und die sql-query ist wirklich klasse :respekt:
Könntest du mir dann bitte ein Beispiel geben, wie ich es besser machen kann.
Vielen Dank!
Gruss
Zocker
lesen bildet :D :
http://www.mysql.de/doc/de/Fulltext_Search.html
alternativ (quasi von hinten durch die brust ins auge):
- füge bei der eingabe eines datensatzes alle werte in einer variablen zusammen => $suche = $name. " " .$plz. " " .$ort. " " .$inhalt. " " . usw ...
- speichere $suche in einem eigenen feld "suche" in deiner tabelle
- leg nen index drauf
- suchen => select bla from blubb where kategorie='kategorie' and suche like '%suchwort%'
|