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

<selected> gewählter Wert in Variable

_R_A_L_F_

Mitglied
Hallo,

habe folgendes Problem. Ich möchte eine <selected> - Auswahl machen mit der mir der Wert der ausgewählt ist in eine Variablen übergeben wird.

Und zwar möchte ich den Wert auswählen und sobald ich einen Button/Link betätige, soll die Auswahl dann auch geschehen.

Folgendes habe ich schon mal zusammen gebaut:

Die Datei heißt: admin_gae.php
PHP:
<p class='h1'>G&auml;stebuch - &Uuml;bersicht</p>
<table width='90%' border='0' align='center'>
<tr>
<td width='20%'><p class='h4'>Sortieren nach:</p>
<?php $option1 = $_REQUEST['option1']; ?>
<select name="option1" style="margin-bottom:3px;"> 
    <option value="datum" <?php echo $option1 == 'datum' ?>>Datum</option>
    <option value="name" <?php echo $option1 == 'name' ?>>Name</option>
</select>    
</td>
<td width='30%' align='left'><a href='admin_gae.php' title='Seite aktualiseren'><img src='/home/bilder/aktualisieren.png'></a></td>
</tr>
</table>
<br />

<?php

//Option 1 auswählen
switch($option1)
{
  case ("Datum"):
  $optorder = 'datum';
  break;

  case ("Name"):
  $optorder = 'name';
  break;
}

// SQL-Befehl für den Zugriff
$sql = "SELECT * FROM `gaestebuch` ORDER BY $optorder DESC";

Komm da nicht weiter, in der variablen $option1 steht einfach nichts drin und ich weiß nicht, wie ich den ausgewählten Text in die Variable $option1 reinbekomme.

Schon mal Danke
 
Werbung:
Des bedeutet ich müsst vor der <selected> - Auswahl folgendes machen oder?
HTML:
<form name="auswahl" action="<?php echo $_SERVER['PHP_SELF']; ?>"
method="POST" > und anschließend unter dem Link </form>

schreiben?
 
Werbung:
http://www.php.net/manual/de/reserved.variables.request.php
Array, das standardmäßig den Inhalt von $_GET, $_POST und $_COOKIE enthält.
Wenn ich dein Select-Feld in ein Formular stecke und es mit POST submitte funktioniert es tadellos.

Das Einzige was du noch beachten solltest:
Bei deiner Switch-Case Verzweigung prüfst du ob deine values entweder Datum oder Name sind - was niemals zutreffen wird, da sie entweder nur datum oder name sein können ;)

Edit: Da war ich wohl der langsamste :D
 
PHP:
<?php
   $option1 = isset($_POST['option1']) ? $_POST['option1'] : 'datum';
?>
<p class='h1'>G&auml;stebuch - &Uuml;bersicht</p>
<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post">
  <table width='90%' border='0' align='center'>
    <tr>
     <td width='20%'><p class='h4'>Sortieren nach:</p>
      <select name="option1" style="margin-bottom:3px;">
        <option value="datum" <?php if ($option1 == 'datum') echo "selected='selected'"; ?>>Datum</option>
        <option value="name"  <?php if ($option1 == 'name')  echo "selected='selected'"; ?>>Name</option>
       </select>
     </td>
     <td width='30%' align='left'><input type="submit" name="submit" value="Aktualisieren"></td>
   </tr>
  </table>
</form>
<br />
<?php
// SQL-Befehl für den Zugriff
$sql = "SELECT
           `dies`,
           `das`,
           `jenes`
          FROM
            `gaestebuch`
          ORDER BY
            `$option1` DESC";
?>
 
Werbung:
Zurück
Oben