Problem mit Combobox

E

encom

Hallo, ich benutze folgenden code um Daten aus einer mySQL DB in eine Combobox auszugeben.

PHP:
<?php
unset($aDaten);
$sqlQuery = "SELECT id, name from shop_kategorie WHERE kat_id = '$OID'";
$sqlResult = mysql_query($sqlQuery);

for($i=0; $strRow = mysql_fetch_array($sqlResult); $i++) {
   $aDaten[] = $strRow[name];
   $aDaten1[] = $strRow1[id];
}

$KATNAME = "<select name=\"namen\">\n";

foreach($aDaten as $strRow) {
   $KATNAME .= "<option value=\"$strRow1\">$strRow</option>\n";
}

$KATNAME .= "</select>\n";

echo $KATNAME;
?>

Hat einer eine Idee wie cih anstatt nur den Namen auch noch die IP der einzelnen datensätze ausgeben und diese als value der Combobox zuweisen kann?

Danke
 
Dein Code ist teilweise unsinnig!

PHP:
$iResult = mysql_query("SELECT `id`, `name`
                        FROM `shop_kategorie`
                        WHERE `kat_id` = '".$OID."';");

$sOutput = "<select name=\"namen\">\n";

while ($aCatInfo = mysql_fetch_array($iResult)) {
    $sOutput .=  "<option value=\"".$aCatInfo['id']."\">"
                 .htmlentities($aCarInfo['name'])."</option>\n";
}

$sOutput .= "</select>";

echo $sOutput;
 
Echt toll, danke.

Jetzt hätte ich gleich noch eine Frage.

Ich will jetzt eine Abfrage machen und wenn diese stimmt, den entsprechenden Eintrag in der Combobox selectieren.

könntest du mir dabei noch helfen?

Wäre echt toll,

Danke
 
Hab es jetzt erst mal so gelöst.
Hat einer eine elegantere Lösung`?

PHP:
<?php
#gesetzten Kategorienamen auslesen
$iResult = mysql_query("SELECT id, name FROM shop_kategorie
WHERE kat_id = '$OID'");
$KATNAME = "<select name=\"kategorie\">\n";

while ($aCatInfo = mysql_fetch_array($iResult)) 
{
if ($aCatInfo['name'] == $UKATNAMEN) {  $KATNAME .=  
"<option value=\"".$aCatInfo['id']."\" SELECTED>".htmlentities($aCatInfo['name'])."</option>\n";
}
else
{
  $KATNAME .=  "<option value=\"".$aCatInfo['id']."\"".$SEL.">".htmlentities($aCatInfo['name'])."</option>\n";
}
}

$KATNAME .= "</select>";
?>
 
Naja, ein bisschen eleganter:
PHP:
$iSelectId = 12; //kann natürluch auch der Name sein, musst halt anpassen

while ($aCatInfo = mysql_fetch_array($iResult)) {
    $sOutput .=  "<option value=\"".$aCatInfo['id']."\"";
    if ($sSelectId == $aCatInfo['id']) {
        $sOutput .= " selected=\"selected\"";
    }
    $sOutput .= ">".htmlentities($aCarInfo['name'])."</option>\n";
}
 
Danke dir,

ich probiere es die ganze zeit zum laufen zu bringen.
Irgenwie scheint da aber was nicht zu stimmen. Es wird einfach nichts als die leere Combobox
 
Hm, hast du schonmal in den Quelltext geschaut, ob auch Code innerhalb den <select>-Tags ist?

Desweitern könntest du noch innerhalb der while-Schleife irgend einen text ausgeben lassen, damit du siehst, ob die Schleife überhaupt ausgeführt wird.

Auch solltest du an dein mysql_query folgendes anhängen:
or die(mysql_error())
Dann wird ein Fehler ausgegeben, falls das SQL-Query falsch sein sollte.
 
Zurück