Inhalt Dropdownfeld

Venillla

Mitglied
Gibt es eine Möglichkeit den Wert im Dropdownfeld beim laden anzuzeigen?


PHP:
  <div> Objekt&nbsp;     
<select name="objekt">
<option> Objekt auswählen </option>
<?
error_reporting(0);
$con = mysql_connect("localhost", "root", "xxx");
$db = mysql_select_db("zeiterfassung");
$res = mysql_query("SELECT * FROM objekteliste ORDER by objnr");
while($row = mysql_fetch_array($res))
{
echo "<option value=";
echo $row["objnr"];
echo ">";
echo $row["objnr"];
echo "&nbsp;&nbsp;";
echo $row["objname"];
echo "</option><br />";
}
?> </select>

 <input type="submit" value="Laden">

Wenn ich hier auf Laden drücke werden die ausgewählte Daten angezeigt, das Wert den ich aber im Dropdownfeld ausgewählt habe sieht man jedoch nicht mehr..
dieser soll auch nach dem laden im Dropdownfeld noch zu sehen sein..
 
Ja - beim Dropdown gibt es den Flag "selected", welches du nach belieben setzen kannst.

Bsp:

PHP:
if ($anzeige == 2) {
$sel = "selected";
} else {
$sql = "";
}

echo '<option '.$sel.' value="1">Test1</option>';
echo '<option '.$sel.' value="2">Test2</option>';

"Test2" wäre in diesem Fall ausgewählt.

MfG,

maeg
 
Aber wenn ich im Dropdownfeld Daten aus dem Datenbank hole, wie würde es dann aussehen?

wäre es so richtig?

PHP:
<select name="mitarbeiter">
<option value="<?php echo $_SESSION["user_nickname"]; ?>">
<?php echo $_SESSION["user_nickname"]; ?></option>
<option value=""></option>
<?
error_reporting(0);
$con = mysql_connect("localhost", "root", "xxxx");
$db = mysql_select_db("zeiterfassung");
$res = mysql_query("SELECT * FROM mitarbeiter");
while($row = mysql_fetch_array($res));

if ($anzeige == "") {
$sel = "selected";
} else {
$sql = "";
};

{
echo "<option " .$sel. " value=";
echo $row["id"];
echo ">";
echo $row["id"];
echo "</option><br />";
}
?>
 
Aber wenn ich im Dropdownfeld Daten aus dem Datenbank hole, wie würde es dann aussehen?

wäre es so richtig?

Probieren geht nach wie vor über Studieren ;)

um Daten aus der Datenbank zu holen und in ein Dropdown zu klatschen, würde ich dir folgenden Codeschnippsel empfehlen (den hab ich auf der Page von 'ner Freundin gebastelt)

PHP:
<?php
mysql_connect('dbserver','dbuser','dbpasswd');
mysql_select_db('dbname');
?>
<form name="form1" method="post" action="irgendwohin.php">
<select name="select" onChange="this.form.selection.value=this.options[this.selectedIndex].value;>
<?php
$sql = "SELECT * FROM mitarbeiter"
$result = mysql_query($sql);
while ($fetch = mysql_fetch_array($result)){
   ?>
   <option value="<? echo $fetch['name'] ?>"><? echo $fetch['name'] ?></option>
<? } ?>
<input type="hidden" name="selection">
<input type="submit" value="Abschicken">
</form>

So, das musst du jetzt nurnoch auf deine Datenbank hin abgleichen...dann müsste das eig en.
Und
 
Hallo!
Ich konnte durch andere Forums herausfinden wie ich den ausgewählten Wert im Dropdown nach dem Laden beibehalte.

Jedoch habe ich hier ein kleines Problem..
Die Daten werden gleich angezeigt wenn ich einen Wert im Dropdown ausgewählt habe, ohne dass ich auf dem Laden-button geklickt habe.
Wenn ich aus mehrere Dropdowns auswerten will, geht es natürlich nicht.

Hier das Script:
PHP:
<form name ="form" action="honorar.php" method="post">

<?
error_reporting(0);
$con = mysql_connect("localhost", "root", "xxx");
$db = mysql_select_db("zeiterfassung");
$sql="SELECT * FROM objekteliste";
$result=mysql_query($sql)or die(mysql_error().$errordatabase);

if (isset($_POST['objekt']) && strlen($_POST['objekt'])>0) {
   $sel = $_POST['objekt'];
   $_SESSION['str_selected'] = $sel;
} elseif ($_SESSION['str_selected']!='') $sel = $_SESSION['str_selected'];
else {
   $sel = '----';
   $_SESSION['str_selected'] = $sel;
}
echo '<form name="form"  >';
echo 'Wähle ein Objekt: ';         
echo '<select name="objekt" class="AuswahlObjekt" onchange="document.form.submit();"></">';
echo'<option value="------"';
if ($sel=='----') echo' selected';
echo '>--All--</option>';
while ($objekteliste = mysql_fetch_array($result))
{
if($objekteliste['objnr']==$sel)
    {
    echo'<option value="'.$objekteliste['objnr'].'" selected>'.$objekteliste['objnr'].'</option>';
    }
else
    {
    echo'<option value="'.$objekteliste['objnr'].'">'.$objekteliste['objnr'].'</option>';
    }
}                   
echo '</select>';

?> 
    <input type="submit" value="Laden">
    </form>


Wie kann ich ändern dass die Daten erst angezeigt werden, nachdem ich auf dem "Laden" -button geklickt habe..

Wäre sehr froh auf eine Antwort
 
Zurück