2012-09-25 22 views
-2

我有這樣的代碼,允許我得到一些IDS在PHP中使用的foreach功能問題

$sql_id_att="SELECT DISTINCT att_id FROM agenzia_pdv WHERE id_ag='$id_ag'"; 
$resultuserid_att=mysql_query($sql_id_att) or die(mysql_error()); 
while ($rows = mysql_fetch_array($resultuserid_att, MYSQL_ASSOC)) { 

    $id_att=$rows['att_id']; 
    echo $id_att; 

} 

而這一次,我用做的foreach功能

foreach ($id_att as $attivita_id) { 

    ?> 
<form action="lista_attivita_ag_modifica.php?&id=<?php echo $attivita_id ; ?>" method="post" enctype="multipart/form-data"> 
<input type="hidden" name="form_secret" id="form_secret" value="<?php echo $_SESSION['FORM_SECRET'];?>" /> 
<input type="submit" name="edit" value="<?php echo $row['attivita_da_promuovere']; ?>" /> 
</form> 

<?php 
    } 

我在做什麼錯這裏? 它說: foreach提供的無效參數 但是,當我打印$ id_att它工作正常! 感謝

我有這兩個數組:

$attivita_name[]=$rows['attivita_da_promuovere' 
$id_att[]=$rows['att_id']; 

如何打印使用的foreach的內容,我的意思是,我需要打印:

$attivita_name[0]| $id_att[0] 
$attivita_name[1]| $id_att[1] 
$attivita_name[2]| $id_att[2] 
+0

foreach的第一個參數必須是'Traversable',通常是一個'array'。 –

回答

4

你需要$id_att作爲陣列

$sql_id_att="SELECT DISTINCT att_id FROM agenzia_pdv WHERE id_ag='$id_ag'"; 
$resultuserid_att=mysql_query($sql_id_att) or die(mysql_error()); 

$id_att = array(); 
$attivita_name = array(); 
while ($rows = mysql_fetch_array($resultuserid_att, MYSQL_ASSOC)) { 
    $attivita_name[]=$rows['attivita_da_promuovere']; 
    $id_att[]=$rows['att_id']; 
    echo $rows['att_id']; 
} 

// then you can iterate $id_att using foreach loop here 
$result_str = ""; 
for($i=0 ; $i < count($id_att) ; $i++) { 
    $result_str .= $attivita_name[$i] . "|" . $id_att[$i] . "\n"; 
} 
echo $result_str; 
+0

謝謝,這工作正常:) 請,我有關於此問題的另一個問題,我更新我的問題,如果可能的話,請看看... – Tao

+0

請參閱回答編輯 – Neverever

+0

非常感謝:) – Tao