Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Probleme bei Suchabfrage [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Probleme bei Suchabfrage


 
Zocker
28-08-2003, 12:34 
 
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

 
Wurzel
28-08-2003, 12:38 
 
klar, wenn du uns ein bischen code postest ... ;)

 
schmalle
28-08-2003, 12: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 ...

 
Zocker
28-08-2003, 12:46 
 
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, 12:52 
 
"<a href=\"az_suche.php?z=$vor&$suchstring\">"
sollte wohl mal "<a href=\"az_suche.php?z=$vor&suchstring=$suchstring\">"; werden ...

 
Zocker
28-08-2003, 12:57 
 
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, 12:59 
 
dazu sag ich nix.

 
Zocker
28-08-2003, 13:02 
 
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, 13: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 ...

 
Zocker
28-08-2003, 13:09 
 
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

 
Zocker
28-08-2003, 13:11 
 
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, 13:12 
 
poste mal den code der suchfunktion

 
Zocker
28-08-2003, 13:13 
 
Gibt es denn eine andere Möglichkeit die Suchergebnisse auf mehreren Seiten zu verteilen?

Gruss
Zocker

 
Zocker
28-08-2003, 13:16 
 
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, 13:18 
 
progst du immer so? :) das ist keine suche sondern ein sql-killer ;)

 
Zocker
28-08-2003, 13:25 
 
Wieso? Wie ist denn sonst eine Suche deiner Meinung nach aufgebaut?

 
Wurzel
28-08-2003, 13:45 
 
@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:

 
Zocker
28-08-2003, 13:49 
 
Könntest du mir dann bitte ein Beispiel geben, wie ich es besser machen kann.

Vielen Dank!

Gruss
Zocker

 
Wurzel
28-08-2003, 13:56 
 
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%'


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:13 Uhr.