1Danke
ERLEDIGT
NEIN
NEIN
ANTWORTEN
7
7
ZUGRIFFE
2137
2137
EMPFEHLEN
-
08.02.08 11:07 #1
Also ich habe ein Formular in dem ich eine Drop-Down-Liste eingebettet habe. Die einträge der liste bekom ich aus ner datenbank damit die in deutsch und endlisch zu sehen sind.
wenn ich dann auch absenden gehe ruft sich das formular nach einem check selbst wieder auf, und meckert wo einträge fehlen oder nicht korrekt sind. alle einträge, egal ob falsch oder richtig, stehen dann noch da.... alle radio buttons sind noch so ausgewählt und die checkboxen genau so.... ebenso wie die textboxen noch den text enthalten.
aber bei der dropdownliste ist nicht mehr der vorher gewählte eintrag da... wie mach ich das, das nach dem klick auf den button der eintrag immernoch ausgewählt ist..... hier mein code zu der liste
PHP-Code:function draw_TischDeko($err)
{
echo "<br>\n";
echo $_REQUEST['TischDeko'];
echo "<fieldset>\n";
echo "<legend>$err<label for='Tischdeko'><span class=\"legHeader\"> " . $_SESSION['geb_Deko'] . ":</span></label></legend>\n";
echo "<label for='ez'>" . $_SESSION['geb_DekoThema'] . ":</label>\n";
echo "<SELECT NAME=\"TischDeko\" id=\"ez\">\n";
echo " <option>Bitte auswählen</optio>\n";
echo " <optgroup label=\"Mädchendekoration\">\n";
echo " <option value=\"" . $_SESSION['geb_Deko01'] . "\">".$_SESSION['geb_Deko01']."</option>\n";
echo " <option value=\"" . $_SESSION['geb_Deko02'] . "\">".$_SESSION['geb_Deko02']."</option>\n";
echo " <option value=\"" . $_SESSION['geb_Deko03'] . "\">".$_SESSION['geb_Deko03']."</option>\n";
echo " <option value=\"" . $_SESSION['geb_Deko04'] . "\">".$_SESSION['geb_Deko04']."</option>\n";
echo " </optgroup\">\n";
echo " <optgroup label=\"Jungendekoration\">\n";
echo " <option value=\"" . $_SESSION['geb_Deko05'] . "\">".$_SESSION['geb_Deko05']."</option>\n";
echo " <option value=\"" . $_SESSION['geb_Deko09'] . "\">".$_SESSION['geb_Deko09']."</option>\n";
echo " <option value=\"" . $_SESSION['geb_Deko06'] . "\">".$_SESSION['geb_Deko06']."</option>\n";
echo " <option value=\"" . $_SESSION['geb_Deko07'] . "\">".$_SESSION['geb_Deko07']."</option>\n";
echo " <option value=\"" . $_SESSION['geb_Deko08'] . "\">".$_SESSION['geb_Deko08']."</option>\n";
echo " </optgroup\">\n";
echo " </select><br>\n";
echo " <label for='deko'>".$_SESSION['geb_DekoAlternat']."</label> <input name=\"dekoAlternat\" id=\"dekoAlternat\" value=\"" . $_POST['dekoAlternat'] . "\" type=\"text\" size=\"20\" maxlength=\"30\">\n";
echo "</fieldset>\n";
}
-
08.02.08 12:51 #2
- Registriert seit
- Dec 2007
- Ort
- Bremen
- Beiträge
- 3.418
Hi,
wo kommen denn in dem Schnipsel die Daten aus der DB? Du füllst die Liste ja aus der Session...
DB würde denke ich in etwa so aussehen:
LGPHP-Code:while($row = mysql_fetch_assoc($result)) {
echo '<option value="' . $row['TischDeko'] . '"';
if($row['TischDeko'] == $_POST['TischDeko']) {
echo ' selected'; //gesendeten Eintrag wieder auswählen
}
echo '>' . $row['TischDeko'] . '</option>';
}
-
08.02.08 14:36 #3
ja genau ich neme die einträge aus der session variable die ich aber aus der datenbank fülle...(habe nicht ich geschrieben sondern mein vorgänger und ich muss es modifizieren)
die idee das direkt aus der DB zu hlen hatte ich auch schon nur weiß ich nicht wie... das codefragment sieht schon sehr hilfreich aus... kann ich das so verwenden wie es da ist? wenn nicht, was muss ich noch machen und beachten?
-
Hallo,
du kannst das eigentlich so verwenden.
Nur musst du noch die MySQL-Query ausführen, um an die Daten in der Datenbank zu kommen:
Ansonsten sollte eigentlich alles stimmen.PHP-Code:$result = mysql_query("SELECT * FROM `table`");
while($row = mysql_fetch_assoc($result))
{
echo '<option value="' . $row['TischDeko'] . '"';
if($row['TischDeko'] == $_POST['TischDeko'])
{
echo ' selected'; //gesendeten Eintrag wieder auswählen
}
echo '>' . $row['TischDeko'] . '</option>';
}
MfG
Fabsch
-
08.02.08 15:37 #5
das problem ist jetzt nur noch das die tabelle nicht einfach nur ne tabelle ist sondern auch mehrere spalten hat....
id----reihenfolge-----optgroup--------------------de--------------------en
0--------0--------------tischdenko------------unterwasser------under water
1--------1--------------tischdenko---------------fussball------------football
wie mach ich das dann?
(die sprache wird gaaaanz am beginn der session (die session von der seite) gewählt
-
08.02.08 20:15 #6
- Registriert seit
- Dec 2007
- Ort
- Bremen
- Beiträge
- 3.418
Hi,
komisches DB-Design... Mit den beiden Zeilen kann ich jetzt nichts anfangen. Zeig' doch mal, wie die Sessionvariablen gefüllt werden, vielleicht erklärt das mehr.
LG
-
Also dein Db design solltes du nochmals überdenken. Soweit ich das aus den 2 Zeilen sehe hast du dort eine Redunaz drin die man vermeiden sollte.
Mfg Splasch
-
12.02.08 11:42 #8
die session variablen werden folgendermaßen gefüllt...
(denke doch mal das es das ist, wie gesagt das ist NICHT mein werk... ich muss es nur etwas änder aber basierend auf DIESEM werk.....
also zu den Session variablen und dann noch ne frage von mir:
also erst mal in die datenbank..... ganz normal... und dann die sprache auswählen :
anschließend folgendes... (NICHT MEIN WERKPHP-Code:if(isset($_REQUEST['lang']))
{
if($_REQUEST['lang'] == "de")
{
$_SESSION['lang'] = "de";
}
elseif($_REQUEST['lang'] == "en")
{
$_SESSION['lang'] = "en";
}
else
{
$_SESSION['lang'] = "en";
}
}
)
hier werden (glaub ich) tausende von sessionvariablen angelegt, und zwar jedesmal wenn ne neue website session angelegt wird..... d.h. jeder user hat seine eigene bebliotek an sessionvariablen..... in der tebelle translate sind alle teste deutsch und englisch.....
ich weiß das der mist schwachsinnig ist.... aber naja was solls.... ich habe jetzt ne andere frage zu dieser funktion...PHP-Code:$db->setFetchMode(DB_FETCHMODE_ASSOC);
$query =& $db->query("SELECT alias, " .$_SESSION['lang']. " FROM translate");
if (PEAR::isError($query))
{
die($query->getMessage());
}
//array basteln
//alias als index von $_SESSION und de/en text als wert
while ($row = $query->fetchRow())
{
$_SESSION[$row['alias']] = $row[$_SESSION['lang']];
}
hier wird aus der datenbank alle einträge von OptGroup ausgelesen und ausgegeben... alles dynamisch....PHP-Code:function draw_kuchen2()
{
global $db;
$sql = "SELECT * FROM FormOptions WHERE OptGroup = 'Kuchen' Order by Reihenfolge LIMIT 0, 20 ";
$query = $db->query($sql);
if (PEAR :: isError($query))
{
die($query->getMessage() . " " . $sql);
}
echo "<fieldset>\n";
echo '<legend><span class="legHeader"> ' . $_SESSION['geb_kuchen'] . " </span></legend>\n";
echo '<table border = "0" width="60%">';
while ($row = $query->fetchRow())
{
echo '<tr><td><input type = "checkbox" value="' . $row[$_SESSION['lang']] . '"';
if($row[$_SESSION['lang']] == $_POST[$_SESSION['lang']])
{
echo 'checked="checked"'; //gesendeten Eintrag wieder auswählen
}
echo '> ' . $row[$_SESSION['lang']] . "
</td>
<td>
" . $_SESSION['geb_form27'] . "
</td>
<td>
<input type=\"text\" id=\"kuchenanz\" value=\"" . $_REQUEST['kuchenanz'] . "\" name=\"kuchenanz\" border=\"0\" size=\"2\" maxlength=\"3\">
</td>
<td>
€ " . $row['Preis'] . "
</td>
</tr>\n";
//hier
}
echo '</table>';
echo "</fieldset>\n";
}
ich will das ganze so haben das.... wenn ich eines anchecke und in das textfeld die anzahl angebe, DANN erstmal auf den absenden button klicke, dann soll der preis * die anzahl gerechnet werden und dann aber noch die anzahl im textfeld drinnen stehen und der hacken in der checkbox sein.....
ich möchte bitte die variable bei //hier testweise ausgeben lassen
Ähnliche Themen
-
Variablenübergabe bei Drop Down Liste aus Datenbank
Von dj_honda im Forum PHPAntworten: 6Letzter Beitrag: 16.10.07, 17:13 -
Werte von DB-Tabelle in Drop-Down-Liste
Von corona im Forum PHPAntworten: 3Letzter Beitrag: 01.10.05, 14:14 -
multiple Drop-down Liste
Von xollo im Forum CGI, Perl, Python, Ruby, Power ShellAntworten: 1Letzter Beitrag: 23.09.04, 11:48 -
Drop-Liste
Von thobikid im Forum HTML & XHTMLAntworten: 4Letzter Beitrag: 13.11.03, 18:09 -
Drop Down Liste dynamisch füllen
Von angelnb im Forum ASPAntworten: 3Letzter Beitrag: 27.08.03, 15:05





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren