Kategorien per Dropdownmenü

anopheles1337

Mitglied
Also,
ich will eine "Objektdatenbank" erstellen, wobei man die Kategorie (welche
von einer sql Datenbank geholt werden), etwa so:

Code:
echo "<br>";
echo "<form name='form1' method='post' action=''>";
echo "<label>Kategorie ";
echo "<select name='cat' size='1' id='catchooser'>";
// keeps getting the next row until there are no more to get
while($row = mysql_fetch_array( $result )) {
// Print out the contents of each row into a table
    
echo "<option>";
echo $row['catname'];
echo "</option>";
echo "<br>";

Nun habe ich aber das Problem, dass dadurch nur der Name angewählt wird und nicht
die eigentliche ID ich will aber, dass die ID in die Datenbank geschrieben wird und nicht der Name der Kategorie, ist irgendwie unsauber!

Kann mir jemand helfen?!

Danke,
anopheles1337
 
Huhu, ich versuch mal dein Problem anhand des Codes zu interpretieren, ist mir nämlich nicht ganz klar :/ Aber ich hoffe, dass das folgende dir helfen kann :)
PHP:
$sql = mysql_query( "SELECT cat_id, catname FROM tbl WHERE options" , connection );
echo '<form name="form1" method="post" action="ACTION">';
echo '<label>Kategorie</label>';
echo '<select name="cat" size="1" id="catchooser">';
// keeps getting the next row until there are no more to get
    while($row = mysql_fetch_array( $sql ) ) 
    {
// Print out the contents of each row into a table
echo '<option value="' . $row[ 'cat_id' ] . '">' . $row[ 'catname' ] . '</option>';
    }
echo '</select>';
echo '</form>';
Hab den HTML-Code gleich ein wenig gesäubert :) Jetzt werden die Daten aus der Kategorien-Tabelle 'tbl' ausgelesen und mittels einer While-Schleife wird das ganze als Pulldown-Menü (Select-Feld) ausgegen. Die Daten aus dem Select, die per 'post' weitergegeben werden, sind jetzt die cat_id, lediglich der Anzeigetitel ist der catname.
 
Das ganze sieht so aus:
PHP:
// Make a MySQL Connection

mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("objects") or die(mysql_error()); 

$sql = mysql_query( "SELECT id, catname FROM cat WHERE options", connection );
echo '<form name="form1" method="post" action="ACTION">';
echo '<label>Kategorie</label>';
echo '<select name="cat" size="1" id="catchooser">';
// keeps getting the next row until there are no more to get
    while($row = mysql_fetch_array( $sql ) ) 
    {
// Print out the contents of each row into a table
echo '<option value="' . $row[ 'cat' ] . '">' . $row[ 'catname' ] . '</option>';
    }
echo '</select>';
echo '</form>';  

?>

Bekomme eine Fehlermeldung:
mysql_query(): supplied argument is not a valid MySQL-Link resource in

Nochmal nachschauen ob die Tabelle auch wirklich da ist,
Database: objects
Table: cat
Fields sind bei mir: id und catname

Keine Ahnung was ich falsch gemacht habe. Was bedeutet das Where options?
 
Zuletzt bearbeitet:
Lass mal den zweiten Parameter der mysql_query()-Funktion weg, dann wird die zuletzt geöffnete Verbindung genommen.
 
So, ihr wart mir bisher :) eine riesige Hilfe!
Naja und wenn ich dann grade mal hier bin, wie kann ich jetzt
aus der gewonnen ID den entsprechenden Kategorienamen bekommen.

Also erst der sql_connect Kram ...
PHP:
$sql = mysql_query( "SELECT id FROM cat WHERE options");

und dann die entsprechenden "Catnames" von den "IDs" bekommen.

Sollte mir mal ein SQL Handbuch kaufen. Hab nur ein ganz kleines mit viel anderem
Zeug drin, dass man nicht braucht!

Naja, Thx!
 
Ich sehe da viele "Fehler" bzw. ungeänderte Attribute die aus einem anderen Code per Copy-Paste übernommen wurden. Bevor du dich an so ein Beispiel heranwagst solltest du ein paar simple Beispiele mit eintragen und auslesen von Datenbanken durcharbeiten. Davon gibts genug Tutorials im Internet und natürlich auch hier. Und mit durcharbeiten meine ich nicht nur die Quellcodes zu kopieren. Versuch zu verstehen was da geschrieben wird. Dann wird dir bald dieses Beispiel sehr einfach vorkommen ;)
 
danielku hat gesagt.:
Ich sehe da viele "Fehler" bzw. ungeänderte Attribute die aus einem anderen Code per Copy-Paste übernommen wurden. Bevor du dich an so ein Beispiel heranwagst solltest du ein paar simple Beispiele mit eintragen und auslesen von Datenbanken durcharbeiten. Davon gibts genug Tutorials im Internet und natürlich auch hier. Und mit durcharbeiten meine ich nicht nur die Quellcodes zu kopieren. Versuch zu verstehen was da geschrieben wird. Dann wird dir bald dieses Beispiel sehr einfach vorkommen ;)
naja steht momentan ziemlich unter zeitdruck, müssen ein paar projekte raus.
und naja zeit ist geld, sowohl für mich als auch für meinen clienten :)

najam wär trotzdem nett wenn mir jemand helfen könnte. Mir fehlt einfach die
Verbindung zwischen id und catname. Vielleicht mit einer while schleife?
 
Zurück