Wert eines Arrays variable abfragen ?

ibanez

Mitglied
Hallo liebe Community,

ich habe folgendes Problem:

Ich würde gerne eine Seite erstellen zur Abfrage von Handys hierzu habe ich ein Dropdown menü via java erstellt welches bei auswahl eines Herstellers über "Onchange" eine Datei öffnet welches ein weiteres dropdown menü öffnet in diesem Dropdownfeld werden die Werte von einer MYSQL Datenbank bezogen. Nun würde ich gerne wissen wie kann ich den angezeigten Wert zB. "IPad 4 16GB - 4 G" (so steht die bezeichnung in meiner Datenbank) des Dropdownfeldes auslesen und dazu verwenden auf eine weitere datei zu verlinken ?

Hier mein bisheriger Code des 2ten Dropdownfeldes:

PHP:
<?php

 
// MySQL-Host angeben

$mysqlhost="****";

 

// MySQL-User angeben

$mysqluser="****"; 



// Passwort angeben

$mysqlpwd="****"; 

 

// Gewuenschte Datenbank angeben

$mysqldb="****"; 



 

// Zu Server mit oben angegebenen Zugangsdaten verbinden

$connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die ("Verbindungsversuch fehlgeschlagen");

 

  

// Zu Datenbank verbinden-

mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht waehlen.");

 

  
// Anfrage um Modelle aus Tabelle handy auszulesen nach Herstellernamen zu Sortieren und als Variable setzen

$modelle = "SELECT bezeichnung FROM handy WHERE hersteller = 'Apple' " ;


// Abfrage durchführen

$apple = mysql_query($modelle) or die("Anfrage nicht erfolgreich")




?>

<link href="css.css" rel="stylesheet" type="text/css">
<select style="select">

<?php
//Drop-Downfeld Modelle

				while ($post_modell = mysql_fetch_array($apple)){
							
?>
<?php 

echo "<option>" . $post_modell['bezeichnung'] . "</option>";

							}


?>

PS: Ich hoffe ich habe meine frage deutlich genug gestellt für die Optik meines Codes entschuldige ich mich schonmal im vorraus bin absoluter anfänger und hab mich bis hierhin über selfhtml etc. durchgekämpft nur bei diesem problem komme ich momentan nicht weiter hoffe das mir jemand von euch Helfen kann.

Vielen Dank im vorraus

ibanez
 
Ändere deine <option>. Du kannst den Parameter value mitgeben mit der ID aus der Datenbank
HTML:
<option value="15678">IPad 4 16GB - 4 G</option>
Dann wird die ID 15678 übergeben und du kannst sie direkt auswerten
 
Erstmal vielen Dank für die schnelle antwort nun stellt sich mir die frage:

wenn ich die value auf die ID stelle und die Ausgabe als text definiere. Dann müsste ich doch rein theoretisch jedes einzelne modell so definieren und kann nicht wie zuvor die angezeigten modelle aus der mysql beziehen oder irre ich mich da gewaltig ?
 
gewaltig ist das richtige Wort
PHP:
//Hier die ID mitnehmen (oder produkt-nummer oder wie immer der eindeutige Schlüssel bei dir heisst)
$modelle = "SELECT id, bezeichnung FROM handy WHERE hersteller = 'Apple' " ;
...
//Dem SELECT noch ein Name geben
echo "<select name='product' style="select">"
//und ausgeben:
//Drop-Downfeld Modelle
while ($post_modell = mysql_fetch_array($apple)){
    echo "<option value ='{$post_modell['id']}'>{$post_modell['bezeichnung']}</option>";
}
?>

Und so nachher auswerten
PHP:
//$_GET oder $_POST - ja nach From-Type
$id = $_GET['id'];
$selected_model = "SELECT * FROM handy WHERE id = {$id}";
 
Ich versteh nur noch Bahnhof. Ich habe deine Code folgender maßen abgewandelt:

PHP:
//Hier die ID mitnehmen (oder produkt-nummer oder wie immer der eindeutige Schlüssel bei dir heisst)
$modelle = "SELECT preis1, bezeichnung FROM handy WHERE hersteller = 'Apple' " ;
...
//Dem SELECT noch ein Name geben
echo "<select name='product' style="select">"
//und ausgeben:
//Drop-Downfeld Modelle
while ($post_modell = mysql_fetch_array($apple)){
    echo "<option value ='{$post_modell['preis1']}'>{$post_modell['bezeichnung']}</option>";
}
?>


Also quasi nur "id" mit der spalte aus meiner db.

So danach habe ich wie du geschrieben hast:

PHP:
//$_GET oder $_POST - ja nach From-Type
$id = $_GET['preis1'];
$selected_model = "SELECT * FROM handy WHERE preis1 = {470,00}";

Hoffe ich hab bis hier hin alles richtig angepasst. Dann wollte ich aus Testzwecken einfach mal nen Text ausspucken lassen was ich dann versucht habe mit:

PHP:
if ($selected_model)

					{ echo "Geschafft";
					
					}

Doch es passiert nichts... warum was habe ich falsch gemacht ?
 
item: Hast du um deine Box ein Formular im HTML?

item: Preis1 ist keine ID. Die ID sollte etwas einmaliges sein. Ein Identifikator

item: "preis1 = {470,00}" ist kein SQL. Was soll das sein? Kann es sein, dass du die {} einfach ohne zu überlegen von meinem Code übernommen hast? Wenn ja, dann lies mal Complex (Curly) Syntax durch
 
reines PHP kein HTML, also heisst meine nächste aufgabe um dein beispiel zu verwirklichen eine Spalte mit ID einfügen die einmalig ist wie eine MAC-Adresse, ich versteh dann allerdings nicht wie er zwischen den einzelnen modellen unterscheidet wenn ich jetzt im Dropdownfeld auswähle Iphone 3GS im welchem teil vom code unterscheidet er denn dann zwischen den anderen Modellen die im Dropdownfeld sind macht der das hier:

PHP:
//$_GET oder $_POST - ja nach From-Type
$id = $_GET['id'];
$selected_model = "SELECT * FROM handy WHERE id = {$id}";

sorry wenn ich so blöd frage aber ich will es ja auch lernen damit ich bei späteren problemen nicht wieder fragen muss.
 
Zurück