Dabei seit: 05.05.2003 Ort: - Alter: - Geschlecht:
Verfasst Fr 07.10.2005 15:21 Titel
[PHP] Suchabfrage-Problem
Hallo,
ich soll für einen Kumpel ein Minishop zusammenbasteln. Ich bin jetzt aber nicht der Programmiergott und habe einen einfach anzupassenden Shop (Php/MySql) von Hotscripts gezogen. Bisher war auch alles relativ schmerzfrei. Aber jetzt habe ich ein kleines Problem mit der Suche. Vielleicht kann mir jemand weiterhelfen. Das Problem ist, wenn ich einen Artikel suche (Eingabe Beschreibungstext, oder Name), dann wird dieser angezeigt. ABER: wenn der Suchtext in einem anderen Artikel ebenfalls drinsteht, dann erscheint der erste Artikel mit dem Suchtext doppelt in der Ausgabe und der zweite Artikel erscheint gar nicht?!? Hmmm...schwierig zu erklären
Die Abfrage lautet:
Code:
<?
}
if (!isset($az)) $az = "0";
$result = mysql_query("select name , beschreibung , artikelnummer, variante1 , variante2 , id , preis , status from ".$PREFIX."_Artikel where beschreibung like '%".strtolower($search)."%' OR artikelnummer like '%".strtolower($search)."%' OR name like '%".strtolower($search)."%' order by artikelnummer");
while ($row = mysql_fetch_object($result))
{
$id = $row->id;
$name = $row->name;
$artikelnummer = $row->artikelnummer;
$beschreibung = $row->beschreibung;
$preis = $row->preis;
$status = $row->status;
$variante1 = $row->variante1;
$variante2 = $row->variante2;
if (!isset($id_a)) $id_a = array($id);
else array_push($id_a,$id);
if (!isset($name_a)) $name_a = array($name);
else array_push($name_a,$name);
if (!isset($beschreibung_a)) $beschreibung_a = array($beschreibung);
else array_push($beschreibung_a,$beschreibung);
if (!isset($artikelnummer_a)) $artikelnummer_a = array($artikelnummer);
else array_push($artikelnummer_a,$artikelnummer);
if (!isset($preis_a)) $preis_a = array($preis);
else array_push($preis_a,$preis);
if (!isset($status_a)) $status_a = array($status);
else array_push($status_a,$status);
if (!isset($variante1_a)) $variante1_a = array($variante1);
else array_push($variante1_a,$variante1);
if (!isset($variante2_a)) $variante2_a = array($variante2);
else array_push($variante2_a,$variante2);
$az++;
}
if (!$az)
{
?>
Vielleicht kann mir jemand weiterhelfen, da ich irgendwie auf dem Schlauch stehe. Wenn nicht, wünsche ich trotzdem allen ein schönes Wochenende
Dabei seit: 25.11.2004 Ort: Düsseldorf Alter: - Geschlecht:
Verfasst Fr 07.10.2005 23:46 Titel
jo kann beo nur recht geben, wird an der ausgabe liegen.. die for... anweisung wird einen fehler haben und nur einen artikel ausgeben und das so oft wie der such string gefunden wurde
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst an Umfragen in diesem Forum nicht mitmachen.