2 Auswahllisten

Status
Für weitere Antworten geschlossen.

michi311984

Registered +
Registriert
Jan. 2004
Beiträge
872
Hallo FSB-ler.

Ich möchte gern ein Kontaktforumlar erstellen, das neben den üblichen Eingabetext (Name und so) auch 2 Auswahllisten enthält, das soll dann alles per E-Mail gesendet werden. Soweit so gut, habe auch schon das Formular fertig, funzt auch prima, nur mein Problem besteht darin:

Liste 1:

Auswahl an Automarken

Liste 2:

Genaue Modelle


Sprich, liste 2 soll auf Liste aufbauen. Wenn in Liste 1 eine Marke gewählt wird, soll dann in Liste 2 die passenden Modelle aufgelistet werden. Ich habe nur keine Ahnung wo ich da ansetzen kann.
Habt ihr eine Idee?

mfg michi
 
Hi,

soweit mir bekannt kann man das nicht mit HTML lösen. Weil hier eine gewissen dynamik drin steckt.

Eine Ansatz wäre das ganze über Javascript zu machen. Dadurch kann die zweite Liste immer der ersten angepasst werden.

Eine weitere Möglichkeit, was allerdings weitaus mehr Kenntnisse benötigt, wäre über Ajax. Aber meiner Meinung nach zu übertrieben für sowas kleines.

Dann gäbe es noch die Möglichkeit über Flash, was aber auch zu umständlich dafür ist.

Nur über HTML und PHP müsstest du ein Formular bauen für die erste Auswahlliste, das Formular über den Button abschicken und dann mit PHP den entsprechenden Ausgabetext für die zweite Auswahlliste erzeugen.

Hoffe konnte dir helfen. Evtl. haben andere ja bessere und einfachere Lösungsvorschläge.

Gruß Blueson1c
 
Vielen Dank schonmal für die Info, dann heist es wohl jetzt nur noch ein passendes JavaScript zu finden :)

mfg michi
 
Würde es mit Php Lösen.
Wenn du dich da einwenog einliest haste es ziemlich schnell zusammen :)
 
Rein in PHP ist das nicht schön zu lösen, noobgamer. Dabei fällt zuviel Traffic an für ein so einfaches Script. Wenn du ganz um JavaScript drum rum kommen willst, gäbe es noch die (vielleicht nicht am modernsten anmutende) Möglichkeit, Eine Auswahlliste mit Untergruppen zu verwenden.

PHP:
3er Golf
4er Golf
Käfer


Clio
Civic


Corolla
iQ
Yaris

Lg
RamsesV
 
Danke für die Antworten.

RamsesV, der Ansatz is ja schon gut, aber net ganz das was ich suche. Wenn ich das auf diese weise lösen würde, wäre die Liste viel zu lang, aus diesem Grund auch die 2. Liste.

mfg Real
 
Hallo michi311984,

ich hab dir mal kurz nen script geschrieben (ungeprüft, sollte aber funktionieren) ;)

1. Deine HTML Datei:
PHP:
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">








Audi
BMW
Honda
Hyundai
Jaguar
KIA
Lexus
Maybach
Mercedes
Opel
Peugeot
Renault
Rolls Royce
Skoda
Smart
Toyota
VW
Andere...

2. Die eingebundene JavaScript Datei:
PHP:
var req = null;
getXMLHttp();
var req_current = false;

function getXMLHttp() {
try{
req = new XMLHttpRequest();
}
catch (e){
try{
req = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e){
try{
req = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (failed){
req = null;
}
}
}
}

function getCars()
{
if (req_current) req.abort();
req_current = true;

var carmaker = document.getElementById('carmaker').value;

req.open('GET', 'http://domain.tld/getCars.php?carmaker='+carmaker+'&rand='+new Date(), true);
req.onreadystatechange = function()
{
if (req.readyState == 4)
{
if (req.status == 200)
{
document.getElementById('cars').innerHTML = req.responseText;
}

req_current = false;
}
else
{
return false;
}
}

req.send(null);

}

und zum Schluss die aufgerufene PHP Datei getCars.php

PHP:
// DB Verbindung...

$carmaker = mysql_real_escape_string($_GET['carmaker']);

$query = mysql_query("SELECT `car`, `car_value` FROM `cars` WHERE `carmaker` = '".$carmaker."'");

while ($row = mysql_fetch_object($query)) 
{
echo "".$row['car']."\n\r";
}

// Verbindung schließen
?>

Hoffe das hilft dir etwas ;)

gruß
snip3r
 
Zuletzt bearbeitet von einem Moderator:
hey danke snip3r für die mühen :)

allerdings is mir net ersichtlich wo er die car daten herholen soll!?^^

könntest du mir das näher erläutern?

mfg michi
 
Moin michi,
die car daten würde ich in einer MySQL Datenbank speichern. Das wäre das einfachste.
Alternativ könnte man diese auch in einem Array speichern, allerdings müsste man dann ein paar sachen umschreiben.
Auch die Hersteller würde ich aus einer MySQL Datenbank auslesen (im Prinzip auch eine while() Schleife wie in der getCars.php).

mfg
snip3r
 
aha^^

wenn ich jetzt wüsste wie ich das ganze progammiere :D

vllt. hast du ja grad kurz zeit dafür!?^^

mfg michi
 
Hast du denn in deinem Webhosting Paket eine MySQL Datenbank (und PHP) inklusive?
Wenn nicht, würde ich den Hoster wechseln ;)

Wenn doch. Gibt es ein schönes Tool (PHPMyAdmin), mit dem du deine Datenbank verwalten kannst.

Wenn du speziellere Hilfe brauchst, schreib mir ne PN (ich kann allerdings erst morgen dran arbeiten).
 
so...

Ich habe jetzt ein Script gefunden, das der DB Abfrage die Marke und Modell einträgt. Problem ist nur das, sobald ich dieses innerhalb des "form" schreibe, funzt die DB Abfrage der 2. Liste nicht mehr, außerhalb geht diese noch. Hat jmd eine Ahnung worin das Problem liegt?

mfg michi
 
Hey,
warum hast du nicht mein Script genommen? Das funktioniert, da bin ich mir (fast) 100% sicher.

PS: poste mal etwas Quellcode, sonst kann dir niemand helfen ;)
 
ja snip3r, bei deinem script sollte genau das gleich Problem vorliegen, kp woran das liegt

Code:
[HEADING=1] [/HEADING]

[HEADING=1]Kontaktformular[/HEADING]




// Script to Query the Concerts Table to Display the results
/* database configuration */
$dbConfig['type']="mysql";
$dbConfig['server']="rdbms.strato.de";
$dbConfig['username']="DB-User";
$dbConfig['password']="DB-PSW";
$dbConfig['database']="DB-Name";
include_once("JSDropDown.class.php");
$frmObjName="JSddForm";
echo "
";
$JSdd = new JSDropDown($dbConfig);
$JSdd->DataFetch(); // Call the Function which will fetch the data.
$JSdd->createfrmObject($frmObjName); // Pass the Current Form name as the parameter
$JSdd->close_JSDropDown_database();
echo "
";
?>


Name:


Vorname:


Straße:


Postleitzahl:



Ort:


E-Mail:


Baujahr:

wie gesagt, wenn ich das script vor dem form setze gehts, dahinter net.
 
hast du den auch deine datenbank daten reingeschrieben ???
 
ja, habe ich, dachte mir aber das ich die lieber net posten sollte /ironie off :)

mfg michi
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben Unten