2012-09-19 53 views
1

這裏是我的一段代碼:複選框出現在PHP動態

$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次,如下所示:問題答案1,問題答案2,...。我希望我的問題在問題的答案下只出現一次。我錯過了一些東西,但我不知道是什麼。任何幫助?

+1

**提示**包裝'while'語句請注意,請勿使用'mysql_ *'函數來編寫新的代碼。「#: – diEcho

+0

他們不再維護,社區已經開始[棄用程序](http://goo.gl/KJveJ)。請參閱* [紅盒子](http://goo.gl/GPmFd)*?相反,您應該瞭解[準備好的語句](http://goo.gl/vn8zQ)並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli的)。如果你不能決定哪些,[這篇文章](http://goo.gl/3gqF9)會幫助你。如果你選擇PDO,[這裏是很好的教程](http://goo.gl/vFWnC)。 –

回答

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 />"; 
} 
+0

請在這裏使用英文,對不起,我的時間有限,如果你看,你可以找到我的電子郵件地址。 –