wake-up-neo.com

Wie wählt man eine HTML-Dropdown-Liste mit PHP vor?

Ich versuche, die Option mit PHP auszuwählen, aber mir sind die Ideen ausgegangen!

Unten ist der Code, den ich bis jetzt ausprobiert habe:

<select>
<option value="1">Yes</options>
<option value="2">No</options>
<option value="3">Fine</options>
</select>
<input type="text" value="" name="name">
<input type="submit" value="go" name="go">

Also, was muss ich tun?

6
artur

Programmierer sind faul ... ähm ... effizient ... ich würde es gerne so machen:

<select><?php
    $the_key = 1; // or whatever you want
    foreach(array(
        1 => 'Yes',
        2 => 'No',
        3 => 'Fine',
    ) as $key => $val){
        ?><option value="<?php echo $key; ?>"<?php
            if($key==$the_key)echo ' selected="selected"';
        ?>><?php echo $val; ?></option><?php
    }
?></select>
<input type="text" value="" name="name">
<input type="submit" value="go" name="go">
12
Christian
<select>
<option value="1" <?php if ($myVar==1) echo 'selected="selected"';?>>Yes</options>
<option value="2" <?php if ($myVar==2) echo 'selected="selected"';?>>No</options>
<option value="3" <?php if ($myVar==3) echo 'selected="selected"';?>>Fine</options>
</select>
<input type="text" value="" name="name">
<input type="submit" value="go" name="go">

Dies ist ein sehr einfacher und unkomplizierter Weg, wenn ich Ihre Frage richtig verstehe.

6
Bart

sie können dies verwenden .. 

<select name="select_name">
    <option value="1"<?php echo(isset($_POST['select_name'])&&($_POST['select_name']=='1')?' selected="selected"':'');?>>Yes</option>
    <option value="2"<?php echo(isset($_POST['select_name'])&&($_POST['select_name']=='2')?' selected="selected"':'');?>>No</option>
    <option value="3"<?php echo(isset($_POST['select_name'])&&($_POST['select_name']=='3')?' selected="selected"':'');?>>Fine</option>
</select>
5
bernte

Geben Sie Ihrer Auswahl zunächst einen Namen. Dann mach:

<select name="my_select">
<option value="1" <?= ($_POST['my_select'] == "1")? "selected":"";?>>Yes</options>
<option value="2" <?= ($_POST['my_select'] == "2")? "selected":"";?>>No</options>
<option value="3" <?= ($_POST['my_select'] == "3")? "selected":"";?>>Fine</options>
</select>

Was dies tut, ist zu überprüfen, ob das, was ausgewählt wurde, für jedes gleich ist und wann sein gefundenes Echo "ausgewählt" ist.

2
Iznogood

Ich nehme an, Sie verwenden ein Array, um Ihre select-Formulareingabe zu erstellen. Verwenden Sie in diesem Fall ein Array:

<?php
    $selected = array( $_REQUEST['yesnofine'] => 'selected="selected"' );
    $fields = array(1 => 'Yes', 2 => 'No', 3 => 'Fine');
 ?>
  <select name=‘yesnofine'>
 <?php foreach ($fields as $k => $v): ?>
  <option value="<?php echo $k;?>" <?php @print($selected[$k]);?>><?php echo $v;?></options>
 <?php endforeach; ?>
 </select>

Wenn nicht, können Sie die obige Schleife einfach abrollen und trotzdem ein Array verwenden.

 <option value="1" <?php @print($selected[$k]);?>>Yes</options>
 <option value="2" <?php @print($selected[$k]);?>>No</options>
 <option value="3" <?php @print($selected[$k]);?>>Fine</options>

Hinweise, die ich nicht kenne:

  • wie Sie Ihre Eingabe benennen, also habe ich einen Namen dafür gemacht. 
  • auf welche Weise Sie Ihre Formulareingabe auf der Serverseite handhaben, habe ich $_REQUEST verwendet, 

Sie müssen den Code gegebenenfalls an die Anforderungen des verwendeten Frameworks anpassen.

In vielen Frameworks ist es üblich, die alternative Syntax in der Ansicht dedizierter Skripts zu verwenden.

0
didierc

Ich benutze Inline-ifs

($_POST['category'] == $data['id'] ? 'selected="selected"' : false)
0

Ich habe 2 PHP-Dateien und ich habe das gemacht, und es funktioniert. (Dies ist ein Beispiel) Der erste Code stammt aus der einen Datei und der zweite Code aus zwei Dateien.

<form action="two.php" method="post">
<input type="submit" class="button" value="submit" name="one"/>
<select name="numbers">
<option value="1"> 1 </option>
<option value="2"> 2 </option>
<option value="3"> 3 </option>
</select>
</form>



if(isset ($_POST['one']))
{

if($_POST['numbers']=='1')
{
$a='1' ;
}
else if($_POST['numbers']=='2')
{
$a='2' ;
{
else if ($_POST['numbers']=='3')
{
$a='3' ;
}

}
0
marouska