suchergebnisse "selektieren"

Also bei dem Link mußt Du schon "=" nehmen. Das bedeutet ja nur das die hier der Variablen beschreibung den Wert 60 zuweist.

In der SQL-Abfrage selbst kannst/mußT Du dann LIKE nehmen. Je nachdem ob der Wert exakt dem Suchbegriff entspricht oder nicht.

Die Abfrage die Du jetzt hast scheint Ok zu sein. Warum sie vielleicht nicht klappt :

Code:
LIKE '".mysql_real_escape_string($_GET['beschreibung'])."%'

sucht alles was mit "60" beginnt und dahinter noch was kommt.

Code:
LIKE '%".mysql_real_escape_string($_GET['beschreibung'])."%'

sucht nach allem wo "60" drin vorkommt. Egal ob ein oder mehrere Zeichen davor und/oder danach stehen.
 
Hallo!

Die erste Codezeile bei Tombe bewirkt: suche alles wo 60 drin vorkommt, also z.b. auch 600.
Die zweite Codezeile würde auch z.b. 160 als Ergebnis liefern.
Das erste %-Zeichen ist also zu viel.

Wenn Du nach Hersteller und Beschreibung durchsuchen willst, dann musst Du Deinem Query es so auch sagen.
Derzeit sucht Dein Query nach Hersteller oder Beschreibung.
Na, kommst Du von allein auf die Lösung?! ;)

Gruss Dr Dau
 
;) jepp, schon erledigt!

aber nochmal ne andere frage. sorry, aber ich suche und probiere immer bevor ich euch quäle!

ich habe ja LIMIT im sql statement...möchte gerne über einen Link/ Klick dem user weitere optionen der trefferanzahl bieten. beispiel:

Anzahl Treffer anzeigen: 10 | 25 | 50

is auch der letzte tipp den ich benötige! ;)

zamo76
 
Na, dann übergebe doch die Limitzahl auch per URL (z.b. maxtreffer=25) und gibst das Ergebnis mit $_GET['maxtreffer'] hinter LIMIT aus.
Ich kann jetzt aber nicht aus dem Kopf sagen was passiert wenn kein Wert übergeben wird.
Entweder kommt dann eine Fehlermeldung oder es wird ein "Standardwert" genommen.
Im Zweifel würde ich eine if-Abfrage für $_GET['maxtreffer'] machen, wenn kein Wert übergeben wird, definierst Du halt selbst einen Standardwert.
 
...also das raffe ich nicht

wie muss es denn hinter ...ORDER BY `".mysql_real_escape_string($orderby)."` LIMIT 20"...? aussehen

$LIMIT = mysql_real_escape_string($_GET['10'])

etwas so?:

PHP:
...ORDER BY `".mysql_real_escape_string($orderby)."` LIMIT 20" mysql_real_escape_string($_GET['10'])

zamo76
 
PHP:
$limit = (isset($_GET['maxtreffer']) && $_GET['maxtreffer'] > 0) ? $_GET['maxtreffer'] : 10; // 10 ist dann Standart, wenn kein Maxwert übergeben wird

"... LIMIT ".intval($limit).";

Wobei [phpf]intval[/phpf] den Wert zu Integer umwandelt.
 
Zuletzt bearbeitet:
...danke mAu,

habe es eingebaut, aber irgendwie es nicht...zumindest kommt keine fehlermeldung.

ich teste die kategorie mit 4 produkten...und stelle halt standard auf 2 und per link:

notebooks.php?limit=4

leider springt er dann nicht auf 4, sondern zeigt ein leeres ergebnis...

zamo76
 
Achsooo, wenn du willst, dass er bei 4 anfängt und 2 anzeigen soll, dann sieht es so aus:

PHP:
$limit = (isset($_GET['maxtreffer']) && $_GET['maxtreffer'] > 0) ? $_GET['maxtreffer'] : 10; // 10 ist dann Standart, wenn kein Maxwert übergeben wird

"... LIMIT ".intval($limit).", 2;
 
Zurück