mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Di 23.04.2024 15:38 Benutzername: Passwort: Auto-Login

Thema: [PHP] Listenfeld befüllen vom 04.04.2006


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [PHP] Listenfeld befüllen
Seite: 1, 2  Weiter
Autor Nachricht
j.r
Threadersteller

Dabei seit: 24.08.2005
Ort: Bocholt
Alter: 38
Geschlecht: Männlich
Verfasst Di 04.04.2006 13:01
Titel

[PHP] Listenfeld befüllen

Antworten mit Zitat Zum Seitenanfang

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
  View user's profile Private Nachricht senden
beeviZ

Dabei seit: 30.09.2002
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Di 04.04.2006 13:49
Titel

Antworten mit Zitat Zum Seitenanfang

ajax wär dafür vermutlich das perfekteste. um javascript wirste dabei ohnehin nich drumrumkommen.
  View user's profile Private Nachricht senden
Anzeige
Anzeige
labrar

Dabei seit: 04.04.2006
Ort: -
Alter: 49
Geschlecht: Männlich
Verfasst Di 04.04.2006 14:07
Titel

Antworten mit Zitat Zum Seitenanfang

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?
  View user's profile Private Nachricht senden
j.r
Threadersteller

Dabei seit: 24.08.2005
Ort: Bocholt
Alter: 38
Geschlecht: Männlich
Verfasst Di 04.04.2006 14:07
Titel

Antworten mit Zitat Zum Seitenanfang

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. * Keine Ahnung... *
  View user's profile Private Nachricht senden
Kerrigan

Dabei seit: 22.02.2006
Ort: Österreich
Alter: -
Geschlecht: Weiblich
Verfasst Di 04.04.2006 14:30
Titel

Antworten mit Zitat Zum Seitenanfang

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
  View user's profile Private Nachricht senden
j.r
Threadersteller

Dabei seit: 24.08.2005
Ort: Bocholt
Alter: 38
Geschlecht: Männlich
Verfasst Di 04.04.2006 14:39
Titel

Antworten mit Zitat Zum Seitenanfang

verstehe ich gerade nett? * Keine Ahnung... *
  View user's profile Private Nachricht senden
Kerrigan

Dabei seit: 22.02.2006
Ort: Österreich
Alter: -
Geschlecht: Weiblich
Verfasst Di 04.04.2006 15:05
Titel

Antworten mit Zitat Zum Seitenanfang

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.
  View user's profile Private Nachricht senden
bk2k

Dabei seit: 29.03.2005
Ort: Schermbeck
Alter: 39
Geschlecht: Männlich
Verfasst Di 04.04.2006 15:24
Titel

Antworten mit Zitat Zum Seitenanfang

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 *zwinker*


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
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ä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
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.