2017-07-06 179 views
-2

最近,我決定來測試我真的老項目,我有PHP的新版本,所以,我必須改從mysql_fetch_assoc()mysqli_fetch_assoc()mysqli_fetch_assoc()返回的數據進行兩次

但是,在我的本地主機上運行它的數據被返回兩次。

這是代碼片段。任何幫助將不勝感激。

感謝提前:)

<?php 
$query = 'SELECT people_id, people_fullname FROM people WHERE people_isactor = 1 ORDER BY people_fullname;'; 
$result = mysqli_query($con,$query) or die(mysqli_error($con)); 

//populate the select options with the result 
while($row = mysqli_fetch_assoc($result)){ 
    foreach($row as $value){ 
     if($row['people_id'] == $movie_leadactor){ 
      echo '<option value="'.$row['people_id'].'"selected="selected">'; 
     }else{ 
      echo '<option value="'.$row['people_id'].'">'; 
     } 
     echo $row['people_fullname'].'<option>'; 
    } 
} 
?> 
+3

你的每一行循環用'foreach'!是的,那將會輸出與該行中的字段一樣多的次數。 – deceze

+1

看起來很奇怪,在你更新它來使用mysqli之前,這不會做同樣的事情。 –

+0

1.remove'foreach' only(not if-else inside it).2'echo $ row ['people_fullname']。''

回答

2

1.去除foreach()

2.Last <option>必須</option>

做象下面這樣: -

<?php 
$query = 'SELECT people_id, people_fullname FROM people WHERE people_isactor = 1 ORDER BY people_fullname;'; 
$result = mysqli_query($con,$query) or die(mysqli_error($con)); 

//populate the select options with the result 
while($row = mysqli_fetch_assoc($result)){ 

    if($row['people_id'] == $movie_leadactor){ 
     echo '<option value="'.$row['people_id'].'"selected="selected">'.$row['people_fullname'].'</option>'; 
    }else{ 
     echo '<option value="'.$row['people_id'].'">'.$row['people_fullname'].'</option>'; 
    } 
} 
?> 
+0

耶,工作感謝! :) –

+0

@ArunKumar很樂意幫助你。 –