• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Frage Php Dropdown Nutzereingabe aus Phpmyadmin Tabelle ausgeben

testo_html

Neues Mitglied
Hallo Leute,

Ich hab da mal eine Frage, ich möchte meine zuvor gespeicherte Nutzereingabe als selected im dropdown Menü machen,
dazu hab ich folgendes Script gefunden:


<?php
$selectedValue = $_POST['Auswahl'];
?>
<select name="Auswahl">
<option value="value1"
<?php if ('value1' == $selectedValue) {
echo 'selected="selected"'; }
?>>Eintrag 1</option>

<option value="value2"
<?php if ('value2' == $selectedValue) {
echo 'selected="selected"'; }
?>>Eintrag 2</option> </select>


Soweit so gut, allerdings möchte ich alles in Php haben (also das Dropdown-menü auch).
Also im Grunde so...


<?php
$selectedValue = $_POST['Auswahl'];

echo "<select name='Auswahl'> ";
echo " <option value='value1'";
if ('value1' == $selectedValue) {
echo 'selected="selected"'; }
echo ">Eintrag 1</option>";
?>


Allerdings funktioniert das nicht, und die Syntax Error Reportings verwirren mich irgendwie
Könnte mir jemand kurz helfen wie ich das Script ändern muss damit alles in Php Stehen kann ?

Danke schon mal im Voraus :-D
 
Werbung:
Die erste Variante ist wesentlich besser als die Zweite, gibts einen bestimmten Grund weshalb du das gerne so hättest?
 
Werbung:
1. Es muss weniger durch den PHP-Parser
2. Die Fehlersuche im HTML-Teil ist einfacher

Je komplexer desto unschönter, da hast du natürlich Recht. Aber gerade obiges Problem kann man mittlerweile sehr kurz halten:

Code:
<option value="value2"<?= ('value2' === $selectedValue) ?  'selected' : '';?>>Eintrag 2</option>
 
Oh hey Leute ich hab wohl ausversehen den fehler hier beim hinschreiben schon gelöst, jetzt funktioniert es bei mir auch :-D
Trotzdem danke an alle :-)
 
Okay Leute es gibt doch noch ein mieses Problem,

Ich habe nun folgenden Code,

<?php
$selectedValue = $_POST['Auswahl'];

echo "<select name='Auswahl'> ";
echo " <option value='value1'";
if ('value1' == $selectedValue) {
echo 'selected="selected"';
echo ">Eintrag 1</option>}


else {
echo " <option value='value2'>Eintrag2</option>";}
echo "</select>";

?>
Ich bekomme jedoch immer Eintrag2 ausgespuckt, ich weiß aber das für $selectedValue, value1 eingetragen ist,was ,mache ich falsch ?

Ich habe auch probiert das den ersten teil zwei mal zu machen also für jeden Eintrag eine Überprüfung mit if, dort kam aber das selbe Problem raus.
 
Werbung:
Bitte benutze die Code-Tags des Forums, damit dein Quelltext besser lesbar ist.

Richtig debuggen

  1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
  2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(-1);
  3. Man verwendet ini_set('display_errors', true); damit die Fehler auch angezeigt werden.
  4. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
  5. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde. Wichtig bei MySQL Fehlern (...not a valid MySQL result resource...): mysqli_error() verwenden oder Abfrage ausgeben und zb mit phpmyadmin testen.
  6. Schritt 5 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
  7. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
  8. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
  9. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.
 
Bitte benutze die Code-Tags des Forums, damit dein Quelltext besser lesbar ist.

Richtig debuggen

  1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
  2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(-1);
  3. Man verwendet ini_set('display_errors', true); damit die Fehler auch angezeigt werden.
  4. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
  5. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde. Wichtig bei MySQL Fehlern (...not a valid MySQL result resource...): mysqli_error() verwenden oder Abfrage ausgeben und zb mit phpmyadmin testen.
  6. Schritt 5 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
  7. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
  8. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
  9. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.
Sehr cool danke hab mithilfe error_reporting(-1) meinen Fehler ziemlich schnell gefunden, es lag daran das ich mich in meinen Variablen vertippt hatte :-)
 
Zurück
Oben