suchergebnisse "selektieren"

zamo76

Erfahrenes Mitglied
...hi leute,

mein erstes posting hier:

folgendes: ich möchte suchergebnisse aus einem best. db-feld selektieren.

beispiel:

momentan zeige ich unter der seite notebooks.php die zehn günsigsten angebote an. wie schaffe ich es nun, dass der user z.b. auf den hersteller toshiba klickt und nur die toshiba angebote angezeigt werden...

muss irgendwie mit $_GET gehen...

danke im voraus

zamo76
 
PHP:
$hersteller = mysql_real_escape_string($_GET['hersteller']);
$qry = "SELECT `name`, `beschreibung`, `etc...` FROM `notebooks` WHERE `hersteller` = '".$hersteller."'";
$result = mysql_query($qry) or die(mysql_error());
// usw...
 
...hi mAu,

danke für die schnelle antwort... könntest du mir noch nen tipp geben ob und wo ich das hier:

PHP:
if(!$orderby) $orderby="preis";
$bgc="white"; $acnt=0;

$sql= mysql_query("SELECT * FROM angebote WHERE kat='notebook' ORDER BY $orderby LIMIT 5");
echo "blablabla

einbauen muss?

zamo76
 
PHP:
if(!$orderby) $orderby="preis";
$bgc="white"; $acnt=0;

$sql= mysql_query("SELECT * FROM `angebote` WHERE `kat`='notebook' AND `hersteller` = '".mysql_real_escape_string($_GET['hersteller'])."' ORDER BY `".mysql_real_escape_string($orderby)."` LIMIT 5") or die(mysql_error());
// usw...

Nachtrag
Der Sicherheit zuliebe bearbeitest du alle Daten die vom User kommen (also per GET oder POST oder sonstwie) mit [phpf]mysql_real_escape_string[/phpf].
Z.B.:
PHP:
$orderBy = mysql_real_escape_string($_GET['orderby']);

Damit verhinderst du sogenannte SQL-Injections.
 
Zuletzt bearbeitet:
...ahh, vielen dank...

ich werde es gleich mal versuchen und mich reinfuchsen...

kann diese form des links nutzen:
beispiel:
<a href=notebooks.php?hersteller=Toshiba>Toshiba</a>

zamo76
 
Ja kannst du. Aber siehe mein voriger Beitrag... Immer [phpf]mysql_real_escape_string[/phpf] benutzen, sobald du mit Daten vom User in Querys arbeitest.

Nachtrag
Markiere das Thema bitte als "Erledigt" (unten links).
 
...hi nochmal,

also das klappt alles hervorragend. nur möchte ich jetzt noch zusätzlich in der beschreibung suchen ( z.B. 60 GB ) und verwende:

PHP:
$sql= mysql_query("SELECT * FROM `angebote` WHERE `kat`='notebook' AND `hersteller` = '".mysql_real_escape_string($_GET['hersteller'])."' OR `beschreibung` LIKE '".mysql_real_escape_string($_GET['beschreibung'])."%' ORDER BY `".mysql_real_escape_string($orderby)."` LIMIT 10") or die(mysql_error());

LIKE funktioniert soweit...nur 'hersteller' nicht mehr richtig...ich denke, etwas beim Link ändern zu müssen:

notebooks.php?beschreibung60

zamo76
 
Hi,

willst Du für "60" einen zusätzliche Link anlegen dann :

Code:
notebooks.php?beschreibung=60
(bei Dir hat das "=" gefehlt)

oder soll der Toshiba-Link um diese 2. Angabe erweitert werden, dann

Code:
notebooks.php?hersteller=Toshiba&beschreibung=60
 
...ah, das = is drin, beim schreiben vergessen!

mir geht es um das sql statement. möchte keine erweiterung des Links.. das problem liegt darin, das jetzt die abfrage 'beschreibung' funktioniert, dafür die 'hersteller' abfrage nicht mehr!

muss ich denn bei dem Link: notebooks.php?beschreibung=60 das = zeichen verwenden
es ist ja nicht = sondern LIKE?

zamo76
 
Zurück