Autor |
Nachricht |
j.r
Threadersteller
Dabei seit: 24.08.2005
Ort: Bocholt
Alter: 38
Geschlecht:
|
Verfasst Di 04.04.2006 13:01
Titel [PHP] Listenfeld befüllen |
|
|
Hallo zusammen,
ich habe ein kleines Problem. Ich möchte gerne ein Listenfeld mit PHP Dynamisch füllen. Das habe ich auch schon gemacht.
siehe hier:
Code: | <?php
echo "<option value></option>";
while($data=mysql_fetch_array($resultset)){
echo "<option value=" . $data['marke'] .">" .$data['marke'] . "</option>";
}
?> |
Nun möchte ich gerne ein zweites Listenfeld befüllen was genau dadrunter stehen soll. Wenn ich aus dem ersten Listenfeld eine Marke gewählt habe soll sich das zweite Listenfeld wieder füllen z.b mit dem Fahrzeug Modell.
Ein Beispiel könnt Ihr euch hier anschauen: Link
Wie kann ich das am Besten lösen?
gruß
j.r
|
|
|
|
|
beeviZ
Dabei seit: 30.09.2002
Ort: -
Alter: -
Geschlecht:
|
Verfasst Di 04.04.2006 13:49
Titel
|
|
|
ajax wär dafür vermutlich das perfekteste. um javascript wirste dabei ohnehin nich drumrumkommen.
|
|
|
|
|
Anzeige
|
|
|
labrar
Dabei seit: 04.04.2006
Ort: -
Alter: 49
Geschlecht:
|
Verfasst Di 04.04.2006 14:07
Titel
|
|
|
nein müsste auch ohne javascript funzen.
Ich habe mal ein CMS geschrieben mit 7 voneinander abhängenden Listen. Allerdings nicht via SQL datenbank sondern via Textdateien in denen gespeichert wurde.
Haste alles in einem Formular oder über mehrere verteilt?
|
|
|
|
|
j.r
Threadersteller
Dabei seit: 24.08.2005
Ort: Bocholt
Alter: 38
Geschlecht:
|
Verfasst Di 04.04.2006 14:07
Titel
|
|
|
Um mich jetzt in Ajax rein zu arbeiten fehlt mir die Zeit und Lust.
Ich kann es ja auch so machen das ich die Listenfelder alle befülle mit den Daten und später die Ausgewählten Daten aus der Liste in meine SQL SELECt Abfrage packe und mir die Datensätze dann ausgeben lasse.
Aber da stehe ich wieder auf dem Schlauch....! Wie bekomme ich z.B die Variable
Code: | echo "<option value=" . $data['marke'] .">" .$data['marke'] . "</option>"; |
$data['marke'] in meine SELECT Abfrage? Da weiß ich nicht mehr weiter.
|
|
|
|
|
Kerrigan
Dabei seit: 22.02.2006
Ort: Österreich
Alter: -
Geschlecht:
|
Verfasst Di 04.04.2006 14:30
Titel
|
|
|
Warum machst dus nicht einfach mit
Code: | echo "<form action='film_main.php' method=GET>";
$auswahl1=$_GET["auswahl"];
|
Und anschließend eine if/else-Schleife?
Oder ist das nicht dynamisch?
Lg,
Kerrigan
|
|
|
|
|
j.r
Threadersteller
Dabei seit: 24.08.2005
Ort: Bocholt
Alter: 38
Geschlecht:
|
Verfasst Di 04.04.2006 14:39
Titel
|
|
|
verstehe ich gerade nett?
|
|
|
|
|
Kerrigan
Dabei seit: 22.02.2006
Ort: Österreich
Alter: -
Geschlecht:
|
Verfasst Di 04.04.2006 15:05
Titel
|
|
|
Zum Beispiel so:
Code: | <?php
$variable1="Auswahl 1";
$variable2="Auswahl 2";
echo "<form action='test.php' method=GET>";
echo "<select name='auswahl'>";
echo "<option value='$variable1'>$variable1";
echo "<option value='$variable2'>$variable2";
echo "</select>";
echo "<input type='submit' value='anzeigen' name='anzeigen'>";
echo "</form>";
$eingabe1=$_GET["auswahl"];
if($eingabe1==$variable1) {
echo "Hier steht Formular mit den Moeglichkeiten fuer Auswahl 1";
}
else {
echo "Hier steht Formular mit den Moeglichkeiten fuer Auswahl 2";
}
?> |
Nur wie's funktioniert, dass das Formular erst nach dem Absenden kommt, kann ich dir leider nicht sagen.
|
|
|
|
|
bk2k
Dabei seit: 29.03.2005
Ort: Schermbeck
Alter: 39
Geschlecht:
|
Verfasst Di 04.04.2006 15:24
Titel
|
|
|
Hab vor ner weile mal das ganze mit der OpenGeo DB gemacht und funzt halt nach eingabe der PLZ ich poste das mal es wird das sein was du suchst musste halt nur noch umschreiben
Das JavaScript In der Ausgangsdatei
Code: | <script language="javascript" type="text/javascript">
var url = "plz.php?param=";
function handleHttpResponse() {
if (http.readyState == 4) {
if (http.responseText.indexOf('invalid') == -1) {
document.forms['form'].set_plzid.options.length = 0;
results = http.responseText.split("<2>");
var fehler = "fehler";
for (i = 0; i < results.length-1; i++){
stadt = results[i].split("<1>");
name = unescape(stadt[0]);
plzid = unescape(stadt[1]);
document.forms['form'].set_plzid.options[i] = new Option(name,plzid);
}
isWorking = false;
}}}
var isWorking = false;
function updatePLZ() {
if (!isWorking && http) {
var zipValue = document.getElementById("set_plz").value;
http.open("GET", url + escape(zipValue), true);
http.onreadystatechange = handleHttpResponse;
isWorking = true;
http.send(null);
}
}
function getHTTPObject() {
var xmlhttp;
/*@cc_on
@if (@_jscript_version >= 5)
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
@else
xmlhttp = false;
@end @*/
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
try {
xmlhttp = new XMLHttpRequest();
xmlhttp.overrideMimeType("text/xml");
} catch (e) {
xmlhttp = false;
}
}
return xmlhttp;
}
var http = getHTTPObject();
</script> |
Die PLZ.PHP
Code: | <?
include('connect.inc.php');
$zipcode = $_GET['param'];
if(strlen($zipcode) == "5"){
$query = "select id,name,plz from `geodb_locations` where 1 AND `plz` LIKE '%$zipcode%'";
$result = mysql_query($query);
$count = mysql_num_rows($result);
if ($count > 0) {
while($res = mysql_fetch_object($result)){
$array .= "".rawurlencode($res->name)."<1>".$res->id."<2>";
}
}}
if (isset($array)){ $ausgabe = $array; }
else{ $ausgabe = "fehler"; }
echo $ausgabe;
?> |
Alles weitere dürfte beim lesen klar werden.
LG Benni
Fasst vergessen musst natürlich nach ausfüllen des Formularfeldes die "updatePLZ" ausführen sonst wird das nix.
PLZ eingabe in Textfeld
Auswahl der Orte im Listenfeld
Zuletzt bearbeitet von bk2k am Di 04.04.2006 15:26, insgesamt 1-mal bearbeitet
|
|
|
|
|
|
|
|
Ähnliche Themen |
RTF mit Daten aus Datenbank befüllen & als PDF generieren
PHP-Script, um News via Email zu befüllen
[nur im ie6] inputs lassen sich nicht befüllen
Suche Ajax Script zum Textfelder befüllen
|
|