-1

私はこれに固執しました、

10行のテーブルを作成したいと思います。各行には10個の製品の「同じドロップダウンメニュー」があります。しかし、すべての行で異なる製品が選択されています。最初の行の例最初の製品の2番目の行の2番目の製品など。次のコードは各行にドロップダウンメニューを示していますが、すべての行で最初の製品が選択されています。次の行の次の製品を選択するにはどうすればよいですか?

    <table>
    <tr>
        <td>
            <select>
                <?php
                    $query = "SELECT * FROM table_name WHERE featured=1 LIMIT 10";
                    $result = mysqli_query($connection, $query);
                    while($row = mysqli_fetch_array($result)){
                        echo "<option>".$row["product_name"]."</option>"
                    }
                ?>
             </select>
        </td>
        <td>
            <select>
                <?php
                    $query = "SELECT * FROM table_name WHERE featured=1 LIMIT 10";
                    $result = mysqli_query($connection, $query);
                    while($row = mysqli_fetch_array($result)){
                        echo "<option>".$row["product_name"]."</option>"
                    }
                ?>
             </select>
        </td>
    </tr>
</table>
4

2 に答える 2

1
    <? 
    //Only Once call to DB
    $query = "SELECT * FROM tbl WHERE featured=1 LIMIT 10";
    $result = mysqli_query($connection, $query); 
    $pos = 0;
    $currentRow = 0;
    ?>

    <table>
        <tr>
            </td>
            <select>
                <?php

                while($row = mysqli_fetch_array($result)){

                if($pos==$currentRow)
                   echo "<option selected=\"selected\">".$row["product_name"]."                     </option>";
                else
                   echo "<option>".$row["product_name"]."</option>";
                $pos++;

                }

                mysqli_data_seek( $result, 0 );
                $pos = 0;
                $currentRow++;

                ?>
            </select>
            </td>
        </tr>
        <tr>
            </td>
            <select>
                <?php
               while($row = mysqli_fetch_array($result)){

                if($pos==$currentRow)
                   echo "<option selected=\"selected\">".$row["product_name"]."                     </option>";
                else
                   echo "<option>".$row["product_name"]."</option>";
                           $pos++;

                }

                mysqli_data_seek( $result, 0 );
                $pos = 0;
                $currentRow++;
                ?>

            </select>
            </td>
        </tr>
        </table>
于 2012-10-19T05:25:42.020 に答える
0

2番目のwhileループ

$i=0;    
while($row = mysqli_fetch_array($result)){
$i++;
if($i==2)
    echo "<option selected=\"selected\">".$row["product_name"]."</option>";
else
 echo "<option>".$row["product_name"]."</option>";
    }
    ?>
于 2012-10-19T05:30:25.227 に答える