1

これが私のコードです:

$a=mysql_query("SELECT denumire_intrebare,denumire_varianta,tip_intrebare 
                FROM intrebari,variante 
                WHERE intrebari.cod_chestionar='".$_SESSION['cod']."' 
                AND intrebari.cod_intrebare=variante.cod_intrebare");

while($b=mysql_fetch_array($a))    
if($b['tip_intrebare']==3)    
{    
echo $b['denumire_intrebare'];
echo "<br>";
echo "<input type='checkbox' name='option1' value='Milk'>";
echo $b['denumire_varianta'];
echo "<br>";
}

それでは説明させてください。データベースにクエリを実行すると、質問とそれに関連する回答が表示されます。回答をチェックボックスの回答として入れたいです。問題は、私の質問がすべての回答に対して繰り返されることです。したがって、5 つの回答がある場合、質問は次のように 5 回表示されます: question answer1, question answer2, .... 質問を 1 回だけ表示し、質問の下に回答を表示したい。私は何かが欠けていますが、何がわかりません。何か助けはありますか?

4

1 に答える 1

2

すべて$b['denumire_varianta']で配列を作成し、しばらくしてから使用しforeach()、チェックボックスを配列にして後で取得できるようにします。

$variante = array();
while($b=mysql_fetch_array($a)) {
    if($b['tip_intrebare']==3){
        $intrebare = $b['denumire_intrebare'];
        $variante[] = $b['denumire_varianta'];
    }
}
echo $intrebare."<br />";
foreach($variante as $varianta){
    echo "<input type='checkbox' name='option[]' value='".$varianta."'>";
    echo $varianta."<br />";
}
于 2012-09-19T11:31:51.190 に答える