DB Abfrage per Link?

flandersX

Mitglied
Hallo,

ich habe eine mysqlDB mit Kunden.
name, plz....etc.

ich möchte nun eine elegantere Lösung als meine finden, per link (klick) alle aus dem PLZ Gebiet 4 anzeigen zulassen.

Möchte nicht für jedes PLZ Gebiet eine eigene seite machen....das würde ich noch hinbekommen..

Sollte irgendwie so aussehen:
meineseite.de/plz.php?plz=4

kann mir da einer helfen ?
Danke
 
Ließ den entsprechenden GET-Paramter aus und Inlcude die dazugehörige Seite. Zum Beispiel mit Switch oder über ein Array und sein index
 
Hi,

du könnetst dir mit Hilfe der Get-Parameter ein einfaches Sql-Statement zusammen setzen, beispielsweise:
PHP:
$sql = 'SELECT
			`foo`
		FROM
			`bar`
		WHERE
			`plz` LIKE "' . $_GET['plz'] . '%"';


Das muss noch gegen SQL-Injection abgesichert werden. Dazu mal google bemühen.
 
Hi,

du könnetst dir mit Hilfe der Get-Parameter ein einfaches Sql-Statement zusammen setzen, beispielsweise:
PHP:
$sql = 'SELECT
			`foo`
		FROM
			`bar`
		WHERE
			`plz` LIKE "' . $_GET['plz'] . '%"';


Das muss noch gegen SQL-Injection abgesichert werden. Dazu mal google bemühen.

so, habe das also so nach deinem Prinzip gemacht.
Es funktioniert auch eigentlich supi.

plz.php?plz=44567

listet mir alle datensätze mit dieser PLZ auf.

Nur leider klappt es mit dem % nicht so recht.
Sobald ich den joker setze, bekomme ich einen Fehler in meiner array zeile angezeigt:

Code:
<? while ($daten = mysql_fetch_array($ergebnis2)) { ?>
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

woran liegt das ?
 
Zuletzt bearbeitet:
Hi,

genau das sollte das von mir gepostete Beispiel eigendlich tun...
Was passiert denn wenn du plz.php?plz=4 schreibst?


edit:

Ich kann das so nicht nachvollziehen. Mit meinem kleinen Test-Script bekomme ich das passende Ergebnis.
Zeig mal die passenden Stellen aus deinem Script bitte.

PHP:
$db = new mysqli('localhost','****','****','****');

$sql = 'SELECT
			`plz`
		FROM
			`plz`
		WHERE
			`plz` LIKE "' . $_GET['plz'] . '%"';

print $sql . '<br />-------------------------------<br />';

$res = $db->query($sql);

while ($row = $res->fetch_assoc())
{
	print $row['plz'] . '<br />';
}


Aufruf über demo_flandersx.php?plz=2
Code:
SELECT `plz` FROM `plz` WHERE `plz` LIKE "2%"
-------------------------------
23456
24567
25678
 
Zuletzt bearbeitet:
Er zeigte nichts an.

habe aber den Fehler gefunden:

hatte in meiner while schleife das MYSQL_ASSOC vergessen.

Nun geht alles prima.

Ich danke euch beiden für den schubs in die richtige Richtung ! :)


gute nacht
 
Zurück