Autor Zpráva
Háva
Profil
Ahoj,
Má takovýhle formulář, kde mi po vybrání čísla zůstává tato hodnota jako viditelná:
echo '<form action="" method="post">
<select name="kolik" onchange="this.form.submit();">';

foreach ( $_POST as $postitem ) {

switch ($postitem) {
case "10":
    echo '<option value="10" selected>10</option>
<option value="20">20</option>
<option value="30">30</option>
<option value="50">50</option>';
    break;
case "20":
echo '<option value="10">10</option>
<option value="20" selected>20</option>
<option value="30">30</option>
<option value="50">50</option>';
        break;
case "30":
    echo '<option value="10">10</option>
<option value="20">20</option>
<option value="30" selected>30</option>
<option value="50">50</option>';
    break;
case "50":
    echo '<option value="10">10</option>
<option value="20">20</option>
<option value="30">30</option>
<option value="50" selected>50</option>';
    break;    
default:
;
}
}
echo '</select>
</form>
';

rád bych aby mi to šlo udělat i když <option> budu mít pomocí cyklu. Zkoušel jsem něco takového ale to je asi blbost nic mi to neukáže:

<select name="page" onchange="this.form.submit();">
        <?php
           for($i=1;$i<$total_page;$i++)
         
         foreach ( $_POST as $pagei )
           {
             switch ($pagei) {
             case "$i":
             echo"<option value='$i' selected>$i</option>";
             break;
             default:;
                             }
           }
        ?>
    </select>

Děkuji za radu.
Micruss
Profil
Pokud chceš tam přidat "selected"

tak si udělej jednoduchou podmínku třeba a přidej to před echo nejdřív samozřejmě smaž ten switch :-!
$selected = $i==$pagei ? "selected" : "";
echo"<option value='$i' $selected>$i</option>";
btw. jakou hodnotu má proměnná total_page?
hava
Profil *
Proměnná total_page je celkový počet stránek který se má zobrazit.
Zkusil jsem toto ale select mi nejde, nemohu vybírat jenom rozbaluje:
 <?php
$page=$_POST['page'];
?>

<form action="" method="post">
<select name="page" onchange="this.form.submit();">
        <?php
              for($i=1;$i<$total_page;$i++)
              {
                $selected = $i==$page ? "selected" : "";
                echo"<option value='$i' $selected>$i</option>";
              }
        ?>
    </select>
</form>    
tazatel
Profil *
Tahle syntaxe je otřesná, nechápu, jak někdo dokáže takhle psát.

      echo "<select name='page' onchange='this.form.submit();'>";

      for ($i=1; $i<$total_page; $i++) {
        echo "<option value='".$i."'";

        if ($i==$page) {
          echo " selected='selected'";
        } 

        echo ">".$i."</option>";
      }

      echo "</select>";

Nevím, co znamená "nejde vybírat jenom rozbaluje".

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: