|
 |
|
| Autor |
Nachricht |
21.designs User [User]

Anmeldung: 30.09.07 Beiträge: 17
|
Verfasst am: 18.12.2007, 08:49 Titel: 3 Bedigungen vergleichen und Ergebnisse ausgeben |
|
|
Hallo,
um aus einer Datenbank bestimmte Werte ausgeben zu lassen, kann der Besucher aus drei Kriterien wählen.
Also z.B. aus den folgenden Vorgaben:
Auswahl Name
Auswahl Strasse
Auswahl PLZ
Nun besteht die Möglichkeit nur eine Option(z.B. die Strasse) anzugeben und alle Ergebnisse (die diesen Strassennamen haben) anzeigen zu lassen. Das funktionert so weit. Mit einer simplen if-Abfrage, Vergleich der Eingabe mit dem Datenbankeintrag.
| Code: | | if ($line[Strasse] == $Auswahl Strasse) |
Wie aber verbinde ich die Optionen nun?
Nehmen wir mal an, der Besucher weiss den Namen und die Strasse, nicht aber die PLZ. Dann möchte ich, dass lediglich die beiden Übereinstimmungen ausgegeben werden. Dass heisst, es ist gleich welche PLZ der Eintrag hat.
Mit den weiteren Optionen soll es natürlich genauso funktionieren.
Das heisst:
Auswahl Strasse & Auswahl PLZ = zeigt alle Einträge mit entsprechenden Strassennamen und der Posteitzahl
Auswahl PLZ & Auswahl Name = zeigt alle Einträge mit entsprechender Posteitzahl und Namen
ETC.....
Hier für jede Möglichkeit eine if-Abfrage mit Ausgabe festzulegen kann ja eigentlich nicht die einzige und vor allem eleganteste Möglichkeit sein, oder?
Ich hoffe, dass ich mein Anliegen deutlich genug beschreiben konnte.
Freue mich auf konstruktive Antworten.
Gruß Stefan _________________
http://www.21-designs.de
|
|
| Nach oben |
|
 |
maudim02 Helfer [User]


Anmeldung: 30.09.06 Beiträge: 145
|
Verfasst am: 18.12.2007, 09:35 Titel: |
|
|
Also du kannst das ja direkt bei sql-statement dazuschreiben...
Select * from "tabellenname" where strasse = 'eingabe vom user' OR plz = 'eingabe vom user' OR name = 'eingabe vom user'
Ich hoffe du meinst das...
|
|
| Nach oben |
|
 |
21.designs User [User]

Anmeldung: 30.09.07 Beiträge: 17
|
Verfasst am: 18.12.2007, 14:28 Titel: |
|
|
Hallo,
danke für die Antwort. Das ist schon richtig.
Aber dann wird ja nur entweder Strasse, PLZ, oder Ort gesucht.
Das kann ich ja auch über:
| Code: | | if ($line[Strasse] == $Auswahl Strasse OR $line[Ort] == $Auswahl Ort.....etc) |
Was aber wenn der User PLZ und Strasse eingibt.
Dann sollten ja alle Einträge angezeigt werden, bei denen diese beiden Sachen übereinstimmen, nicht mehr und nicht weniger.
Ich hoffe ich konnte das verdeutlichen..?! _________________
http://www.21-designs.de
|
|
| Nach oben |
|
 |
eforium Bekannter [Mod]


Anmeldung: 20.01.06 Beiträge: 1302 Wohnort: Irgendwo i ...
|
|
| Nach oben |
|
 |
21.designs User [User]

Anmeldung: 30.09.07 Beiträge: 17
|
Verfasst am: 18.12.2007, 16:58 Titel: |
|
|
2 würde ja (verbesser mich, wenn ich falsch liege) nicht ausreichen,
ich bräuchte ja wie erwähnt, Möglichkeiten für die folgenden Eigenschaften:
Ergebnisse für...
Auswahl Strasse & Auswahl PLZ
Auswahl PLZ & Auswahl Name
Auswahl Name & Auswahl Strasse
Auswahl Ort & Auswahl Strasse
Und so weiter und so fort... _________________
http://www.21-designs.de
|
|
| Nach oben |
|
 |
800XE Bekannter [Mod]


Anmeldung: 24.10.04 Beiträge: 1176 Wohnort: Speyer
|
Verfasst am: 19.12.2007, 03:26 Titel: |
|
|
| Code: |
$PLUS=''
$PLUS2=' AND '; // oder $PLUS2=' OR ';
$WHERE='';
if ( $_POST['name'] )
{
$WHERE.=$PLUS.addslashes($_POST['name']);
$PLUS=$PLUS2;
}
if ( $_POST['strasse'] )
{
$WHERE.=$PLUS.addslashes($_POST['strasse']);
$PLUS=$PLUS2;
}
if ( $_POST['ort'] )
{
$WHERE.=$PLUS.addslashes($_POST['ort']);
$PLUS=$PLUS2;
}
if ( strlen ( $WHERE ) )
{
$query = " SELECT *";
$query .= " FROM tabellenname";
$query .= " WHERE ".$WHERE;
$result = mysql_query($query) or die('<hr>'.$query.'</hr>'.mysql_error());
while($line = mysql_fetch_array($result, MYSQL_ASSOC))
{
echo('<br>'.$line['name'].$line['strasse'].$line['ort']);
}
}
else
{
echo ( $htmlformular );
}
|
_________________
Seien wir realistisch, versuchen wir das Unmögliche!
CMS800 :::::::::: Andy 800XE Zmuda :::::::::
ich bin nicht unhöflich, ich bin binär
|
|
| Nach oben |
|
 |
|
|
 |
|
Alle Zeiten sind GMT + 1 Stunde
|
| Seite 1 von 1 |
|  |