sanktusm
10-09-2005, 19:38
oder mehrerer ziffern.)
Ich möchte dass nach Postleitzahlen gesucht werden kann, die zum Beispiel die Zahlen 7 und 9 am Anfang anfang hat. Muss ich das mit einer Regexabfrage realisieren oder geht das einfacher?
penizillin
10-09-2005, 19:44
was soll denn durchsucht werden?
sanktusm
10-09-2005, 19:49
z. B. nach postleitzahlen die die ziffern 7 und neun am anfang haben also
die postleitzahlen 79227 und 79110
die postleitzahlen sind in einer datenbank gespeichert (VARCHAR 5) und es soll bei einer teilweisen Übereinstimmung die entsprechenden Daten ausgelesen werden
penizillin
10-09-2005, 19:56
SELECT * FROM ... WHERE `plz` LIKE '79%' oder so
sanktusm
10-09-2005, 20:15
was zum beispiel wenn jemand 792 eingibt und so also alle postleitzahlen finden soll die mit 792 beginnen. brauche ich da nicht doch eine regexabfrage, die also feststellt mit welchen werten man zu tun hat
z.b. mit der regex abfrage \d{10}/
es ist nur so dass ich noch nicht genau verstanden habe wie das funktioniert.
penizillin
10-09-2005, 20:19
was zum beispiel wenn jemand 792 eingibt und so also alle postleitzahlen finden soll die mit 792 beginnen. analog zum beispiel, s. oben.
eine regexabfrage, die also feststellt mit welchen werten man zu tun hat wozu muss man das wissen? es ist nur so dass ich noch nicht genau verstanden habe wie das funktioniert dann probiere es aus.
sanktusm
10-09-2005, 20:33
einen fehler
ich möchte % an einen $_POST - Wert anhängen und so sicherstellen das alle zahlen möglich sind.
so also:
<?php
include './db/mysql.inc.php';
include './db/connect.php';
if($_GET['act'] == "action")
{
$plz = $_POST['plz']%;
$sql = "SELECT
firmenname
FROM
adressdaten
WHERE
plz like $plz;";
$result = mysql_query($sql) OR die(mysql_error());
while($row = mysql_fetch_assoc($result))
{
echo $row['firmenname'];
}
}
echo "<p><form action=\"plz.php?act=action\" method=\"post\"><input type=\"text\" name=\"plz\"></form><input type=\"submit\"></p>";
?>
penizillin
10-09-2005, 20:36
$plz = $_POST['plz'] . '%'; sowas muss man kennen.
und später: WHERE `plz` LIKE '$plz'
sanktusm
10-09-2005, 21:02
irgendwas stimmt irgendwie nicht wenn ich nichts eingebe dann bekomme ich eine ausgabe aller firmennamen aber wenn ich etwas eingebe nichts
Original geschrieben von sanktusm
irgendwas stimmt irgendwie nicht
wunderbar *seufz*
- http://www.php-resource.de/forum/showthread.php?s=&threadid=50454
- query ausgeben lassen, und in PMA kontrollieren
phpmyadmin
wenn du den nicht nutzt - dann teste halt in deinem verwendeten DB-frontend.
sanktusm
10-09-2005, 21:38
ich habs geschafft. der code muss so aussehen:
<?php
error_reporting(E_ALL);
include './db/mysql.inc.php';
include './db/connect.php';
if($_GET['act'] == "action")
{
$plz = $_POST['plz'].'%';
$sql = "SELECT
firmenname
FROM
adressdaten
WHERE
plz LIKE '$plz';";
$result = mysql_query($sql) OR die(mysql_error());
while($row = mysql_fetch_assoc($result))
{
echo $row['firmenname'];
$null = true;
}
}
if (!isset($null))
{
echo "nix";
}
echo "<p><form action=\"plz.php?act=action\" method=\"post\"><input type=\"text\" name=\"plz\"><input type=\"submit\"></form></p>";
?>