NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Označení první položky jako selected u select cyklu

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
mr.sammet
Člen
Avatar
mr.sammet:7.4.2016 10:14

Ahoj, prosím o radu.

$sql_query1 = "SELECT category_product FROM products_category";
$result1 = mysqli_query($dbconnect, $sql_query1);

echo "<select name='category_product' size='6'>";

while ($row1 = mysqli_fetch_array($result1, MYSQLI_ASSOC)) {
echo "<option class='select-product' value='".$row1['category_product']."'>".$row1['category_product']."</option>";
                                            }

echo "</select>";

Potřebuji, aby se vždy první řádek označil jako selected. Když to dopíšu za option, tak se označí logicky vždycky poslední řádek.
Děkuji :-)

 
Odpovědět
7.4.2016 10:14
Avatar
Michal Pipal
Člen
Avatar
Odpovídá na mr.sammet
Michal Pipal:7.4.2016 10:21
$tag = true;
while ($row1 = mysqli_fetch_array($result1, MYSQLI_ASSOC)) {
        if($tag){
                echo "<option class='select-product' value='".$row1['category_product']."' selected>".$row1['category_product']."</option>";
                $tag = false;
        }
        echo "<option class='select-product'    value='".$row1['category_product']."'>".$row1['category_product']."</option>";
 }

Timhle bys mel docilit, aby se prvni oznacil jako selected a ostatni ne. Pokud bys potreboval jiny nez prvni, tak bys udelal nad cyklem vynulovany pocitac a v cyklu pak v ifu hledal konkretni cislo.

 
Nahoru Odpovědět
7.4.2016 10:21
Avatar
Odpovídá na mr.sammet
Neaktivní uživatel:7.4.2016 10:25

Ja pouzivam nieco taketo:

$i = 0;
while ($row1 = mysqli_fetch_array($result1, MYSQLI_ASSOC)) {
$selected = '';
if($i == 0) {
  $selected = 'selected';
}
echo "<option <?= $selected ?> class='select-product' value='".$row1['category_product']."'>".$row1['category_product']."</option>";
$i++;
}
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
7.4.2016 10:25
Neaktivní uživatelský účet
Avatar
mr.sammet
Člen
Avatar
mr.sammet:7.4.2016 13:01

Děkuji vám. Měl bych ještě jednu otázku, lze to nějak jednodušeji modifikovat tak, aby ze začátku byla tedy zvolena první volba a když zvolím jiný řádek, aby zůstal "selected" ten, který jsem zvolil? Děkuji

 
Nahoru Odpovědět
7.4.2016 13:01
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.