Datenbank Abfragen Auswahlmenü
rainer
- php
Hallo,
Abfrage über ein Auswahlmenü:
Bringe es nicht hin, ein Auswahlmenü von Kennzeichen in meine Abfrage einzubinden.
$query_km = "SELECT myEndKm, kennzeichen, datum, userid FROM fahrtenbuchga WHERE userid = '".$_SESSION["Username"]."' && kennzeichen = '' ORDER BY timestamp DESC";
Auswahlmenü:
<select name="kennzeichen" id="kennzeichen">
<?php
do {
?>
<option value="<?php echo $row_kfz['kennzeichen']?>"><?php echo $row_kfz['kennzeichen']?></option>
<?php
} while ($row_kfz = mysql_fetch_assoc($kfz));
$rows = mysql_num_rows($kfz);
if($rows > 0) {
mysql_data_seek($kfz, 0);
$row_kfz = mysql_fetch_assoc($kfz);
}
?>
</select>
Möchte gerne nur die Daten von dem Ausgewählen Kennzeichen zu sehen bekommen.($row_kfz['kennzeichen']) geht nicht!
Bitte um Hilfe oder Denkanstoß!
lg
Rainer
Hi,
Möchte gerne nur die Daten von dem Ausgewählen Kennzeichen zu sehen bekommen.($row_kfz['kennzeichen']) geht nicht!
was bedeutet "geht nicht"? Dass Du etwas anderes als einen Leerstring zurück bekommst? Wenn dem so ist, dann enthält $row_kfz sicher etwas anderes als eine Zeile der SQL-Rückgabe, denn in Deinem Statement wird garantiert, dass der Wert 'kennzeichen' immer ein Leerstring ist.
Cheatah
Hallo,
Ganz egal welches Kennzeichen ich auswähle oder ausgewählt habe, er zeigt mir die Daten aller Kennzeichen.
Meine Kennzeichen hole ich von der Datenbank. (Das geht alles, nur als Abfrage möchte ich einzelne Kfz-Kennzeichen mit Auswahlmenü darstellen.
Deshalb mein WHERE in der Abfrage.
kennzeichen = '".$row_kfz['kennzeichen']."'
lg
Rainer
(bin noch am lernen von php)
Hi,
Möchte gerne nur die Daten von dem Ausgewählen Kennzeichen zu sehen bekommen.($row_kfz['kennzeichen']) geht nicht!
was bedeutet "geht nicht"? Dass Du etwas anderes als einen Leerstring zurück bekommst? Wenn dem so ist, dann enthält $row_kfz sicher etwas anderes als eine Zeile der SQL-Rückgabe, denn in Deinem Statement wird garantiert, dass der Wert 'kennzeichen' immer ein Leerstring ist.
Cheatah
Hi!
Möchte gerne nur die Daten von dem Ausgewählen Kennzeichen zu sehen bekommen.($row_kfz['kennzeichen']) geht nicht!
Naja. Das Feld im Formular heisst ja auch anders. Was steht denn in den vom Formular ubermittelten Daten drin?
Hallo,
wenn ich ein Kennzeichen eintrage kennzeichen = 'L-355-GH']."' erhalte ich die richtigen Daten.
Will das aber im Formular mit Auswahlliste machen.
Oben auf Seite ist Formular, unten werden Daten angezeigt.
lg
Rainer
Hi!
Möchte gerne nur die Daten von dem Ausgewählen Kennzeichen zu sehen bekommen.($row_kfz['kennzeichen']) geht nicht!
Naja. Das Feld im Formular heisst ja auch anders. Was steht denn in den vom Formular ubermittelten Daten drin?
Moin
wenn ich ein Kennzeichen eintrage
kennzeichen = 'L-355-GH']."'erhalte ich die richtigen Daten.Will das aber im Formular mit Auswahlliste machen.
Deine Abfrage im Original-Post lautet: && kennzeichen = ''
Das heißt suuche alle DAtensätze wo Kennzeichen leer ist. Also können keine Kennzeichen erscheinen. Kann dort der Fehler liegen?
Gruß Bobby
Hallo,
habe es leer gelassen, da bis jetzt noch nichts so funktioniert wie ich mir das vorstelle.
Ich möchte einfach, dass was ich im select Menü ausgewählt habe eingetragen haben, fehlt mir jedoch der Plan dazu.
lg
Rainer
Moin
wenn ich ein Kennzeichen eintrage
kennzeichen = 'L-355-GH']."'erhalte ich die richtigen Daten.Will das aber im Formular mit Auswahlliste machen.
Deine Abfrage im Original-Post lautet: && kennzeichen = ''
Das heißt suuche alle DAtensätze wo Kennzeichen leer ist. Also können keine Kennzeichen erscheinen. Kann dort der Fehler liegen?
Gruß Bobby
Moin
Zuersteinmal, unterlasse bitte TOFU
habe es leer gelassen, da bis jetzt noch nichts so funktioniert wie ich mir das vorstelle.
Was passiert wenn du && kennzeichen = '' weglässt? Probiers mal und schilder uns dein Ergebnis.
Gruß Bobby
Hallo,
Ja, wenn ich Kennzeichen weglasse, bekomme ich alle Datensätze, die der angemeldete USER eingegeben hat, ich möchte jedoch das er Kennzeichen "a" oder "b" zu sehen bekommt.
lg
Rainer
Moin
Ja, wenn ich Kennzeichen weglasse, bekomme ich alle Datensätze, die der angemeldete USER eingegeben hat, ich möchte jedoch das er Kennzeichen "a" oder "b" zu sehen bekommt.
hm. Da weiß ich aber nicht warum du nach leerem Kennzeichenfeld abfragst.
Da muss es doch eher heißen:
$query_km = "SELECT myEndKm, kennzeichen, datum, userid FROM fahrtenbuchga WHERE userid = '".$_SESSION["Username"]."' && kennzeichen = '".mysql_real_escape_string($_POST['kennzeichen'])."' ORDER BY timestamp DESC";
Oder habe ich dich komplett Mißverstanden?
Gruß Bobby
Hallo,
Ist richtig was du meinst, jedoch bleibt $_POST['kennzeichen'] trotz meiner Auswahl im SelectMenü leer.
Schöne Grüsse
Rainer
Moin
Ist richtig was du meinst, jedoch bleibt
$_POST['kennzeichen']trotz meiner Auswahl im SelectMenü leer.
Ah... jetzt kommen wir dem eigentlichen problem näher. Du möchtest also das das gewählte Kennzeichen im Selectmenu auch selectiert ist?
dann sollte helfen:
<option value="<?php echo $row_kfz['kennzeichen']?>"><?php echo $row_kfz['kennzeichen']?></option>
muss so verändert werden:
<option value="<?php [code lang=php]echo $row_kfz['kennzeichen']?>" <?php echo ($row_kfz['kennzeichen']==$_POST['kennzeichen'])?'selected="selected"':'';?>><?php echo $row_kfz['kennzeichen']?></option>[/code]
So sollte dir das jeweilig gewählte kennzeichen selecttiert werden.
Gruß Bobby
Hallo,
Habs nun endlich hinbekommen, dass meine Abfrage auf das Kennzeichen rücksicht nimmt.
Dank an alle, die mich mit Ratschlägen und Hilfe unterstützt haben.
Schöne Grüsse
Rainer
Hi!
<option value="<?php echo $row_kfz['kennzeichen']?>"><?php echo $row_kfz['kennzeichen']?></option>
Wie wäre es denn in der Sitution noch mit dem Einsatz von htmlspecialchars(), beim Einfügen in den HTML-Kontext?
Lo!
Moin
Wie wäre es denn in der Sitution noch mit dem Einsatz von htmlspecialchars(), beim Einfügen in den HTML-Kontext?
Man kann auch nich stripslashes() hinzufügen wenn magic_quotes an sind. ;) Es ging ja erstmal ums Prinzip. Aber natürlich hast du recht.
Gruß Bobby
Hallo Rainer,
bitte zitiere sinnvoll und verwende kein TOFU.
Ich möchte einfach, dass was ich im select Menü ausgewählt habe eingetragen haben, fehlt mir jedoch der Plan dazu.
ausgehend von den bisherigen Beiträgen vermute ich:
a) der Benutzer hat sich anzumelden
b) Du zeigst dem Benutzer ein Auswahlformular an, in dem alle möglichen Fahrten drin stehen, die dieser Benutzer gemacht hat.
c) Wenn der Benutzer ein bestimmtes Kennzeichen auswählt, sollen dem Benutzer die Fahrten angezeigt werden, die er mit diesem Fahrzeug unternommen hat.
d) Wenn der Benutzer ein anderes Kennzeichen auswählt, so sollen dem Benutzer die Fahrten angezeigt werden, die er mit dem anderen Fahrzeug gemacht hat?
Habe ich Dich richtig verstanden?
Freundliche Grüße
Vinzenz
Hallo Vinzenz,
a) der Benutzer hat sich anzumelden
a) Richtig!
b) Du zeigst dem Benutzer ein Auswahlformular an, in dem alle möglichen Fahrten drin stehen, die dieser Benutzer gemacht hat.
b) Der Benutzer bekommt ein Formular dargestellt, wo er seine Daten eingibt, er muss dabei auswählen, welches Kennzeichen er bei dieser Fahrt benutzt hat. Dies sende ich an die Datenbank, dies funktioniert alles super!
c) Wenn der Benutzer ein bestimmtes Kennzeichen auswählt, sollen dem Benutzer die Fahrten angezeigt werden, die er mit diesem Fahrzeug unternommen hat.
c) So hatte ich mir das vorgestellt, jedoch kann ich im select Menü auswählen was ich möchte, es werden keine Daten angezeigt, wenn ich jedoch explizit eine Autonummer eintrage (kennzeichen = 'L-555-TZ') bekomme ich die Daten.
d) Wenn der Benutzer ein anderes Kennzeichen auswählt, so sollen dem Benutzer die Fahrten angezeigt werden, die er mit dem anderen Fahrzeug gemacht hat?
d) Richtig!
Freundliche Grüße
Rainer
Hi!
Ich hab dich schon drauf hingewiesen, Bobby jetzt auch nochmal explizit. Die Selectbox heisst 'kennzeichen' und hat nichts mit einem Resultset $row_kfz zu tun. $row_kfz['kennzeichen'] in der Where-Bedingung wird also nicht funktionieren.
Oder funktionert die Abfrage von POST auch nicht? Deshalb meine Frage nach den vom Formular uebermittelten Daten. Nochmal Genauer: Welche Daten uebermittelt dein Formular an die auswertende php Datei? Hast Du Debugging betrieben und dir die Werte mal ausgeben lassen? Auch das fertige SQL-Statement?
Hallo,
Danke noch mal für eure Antworten.
Ok, das mit der Selectbox ist mir jetzt klar, jedoch schreibt er mir das ausgewählte Kennzeichen nicht in ein Array, deshalb bleibt $_POST['kennzeichen'] auch leer.
<select name="kennzeichen" id="kennzeichen" >
<?php
do {
?>
<option value="<?php echo $row_kfz['kennzeichen']?>"<?php if (!(strcmp($row_kfz['kennzeichen'], $row_daten['kennzeichen']))) {echo "selected=\"selected\"";} ?>><?php echo $row_kfz['kennzeichen']?>
So hole ich es von der Datenbank, jedoch $_POST['kennzeichen'] übernimmt nicht das ausgewählte Kennzeichen.
Diese Daten werden übermittelt oder sollten angezeigt werden:
$query_daten = "SELECT id_ga, datum, timestamp, userid, kennzeichen, fahrtstrecke, reisezweck, myStartKm, myEndKm, myKm, FROM fahrtenbuchga WHERE userid = '".$_SESSION["Username"]."' && kennzeichen = ".mysql_real_escape_string($_POST['kennzeichen'])."' ORDER BY timestamp DESC";
Schöne Grüsse
Rainer
Hi!
Ich hab dich schon drauf hingewiesen, Bobby jetzt auch nochmal explizit. Die Selectbox heisst 'kennzeichen' und hat nichts mit einem Resultset $row_kfz zu tun. $row_kfz['kennzeichen'] in der Where-Bedingung wird also nicht funktionieren.
Oder funktionert die Abfrage von POST auch nicht? Deshalb meine Frage nach den vom Formular uebermittelten Daten. Nochmal Genauer: Welche Daten uebermittelt dein Formular an die auswertende php Datei? Hast Du Debugging betrieben und dir die Werte mal ausgeben lassen? Auch das fertige SQL-Statement?