Nasıl bir süre döngü seçilen yankı mı?

3 Cevap php

Ben kategorileri vardır sitemde bir bloglar ve sorular bölümü var. Bir kullanıcı bir soru ya da bir blog oluşturduğunda, sizin kategori seçmenizi sağlayan menü aşağı bir düşüş var. Eğer bu iki düzenleme yaptığınızda açılan üzerinden kategorisini değiştirme seçeneği var. Eğer bir blog düzenlemek için gittiğinizde, kategori açılan bir standart stil açılır, ve ben daha önce seçilen kategori görüntülemek için <option value="1" <?php if($blog->category == "1"){echo "selected";}?> >Art and Literature</option> kullandım. O döngü sırasında aşağı damla koymak sorular biri için çok başka bir geliştirici, bıraktığı yerden ben alıyorum. Ben daha önce seçilmiş cat.Here çekin yapmak için süre döngü "echo seçilen" nasıl bilmiyorum, bir acemi olmak döngü

                       <select name="category">
                            <option value="null">Choose Category</option>
                            <?php
                            $query = "SELECT * FROM `Categories_questions` ORDER BY `CategoryName` ASC";
                            $request = mysql_query($query,$connection);
                            while($result = mysql_fetch_array($request)) {
                                echo "<option value='" . $result['id'] . "'>" . $result['CategoryName'] . "</option>";
                            }
                            ?>

                        </select>

3 Cevap

Bunu aynı şekilde yapabiliriz. Bu kod çalıştığı mevcut $ blog nesne var varsayarsak:

while($result = mysql_fetch_array($request)) {
    $selected = ($result['id']==$blog->category) ? ' selected="selected"' : '';
    echo "<option value='" . $result['id'] . "' ".$selected.">" . $result['CategoryName'] . "</option>";
}
 while($result = mysql_fetch_array($request)) {
   $selected = ($result['id'] == $blog->category) ? "selected" : "";
   echo "<option value='" . $result['id'] . "' $selected>" . $result['CategoryName'] . "</option>";
 }

O ne yaptığını bilmiyorsanız, bir ternary operator bulunuyor. $result['id'] geçerli $blog->category eşitse essentialy, bunu denetler, ve daha sonra $selected "seçili" dizesini içerir yoksa. Eğer yoksa, bu sadece boş bir dize içerir. Ardından, <option> elemanın içinde, sen çıkışının ve boş bir dize ya da "seçilmiş" ya vardır.

Ben böyle bir şey yapmak istiyorum:

while($result = mysql_fetch_array($request)) {
    $value = $result['id'];
    $selected = "";
    if (check_if_selected($value)) {
        $selected = "selected";
    }
    echo "<option value='" . $value . "' " . $selected . ">" .
          $result['CategoryName'] . "</option>";
}