2017-06-25 56 views
0

我試圖從MySQL數據庫中使用mysql_fetch_array回顯一系列行,同時將表循環放入表中。我試着不重複form-table和/ table-/form標籤,只是在回顯時重複tr .../tr標籤。返回mysql_fetch_array的列表while回聲而不重複其他文字

雖然它也重複了form-table和/ table-/form標籤。 任何人都可以請幫忙。我只想讓tr .../tr重複。 下面是代碼:給予

$topmessage = '<form><table width="100%" border="0" cellspacing="0" cellpadding="10">'; 

$bottommessage = '</table><div align="right"><input type="submit" name="approveimage" value="Approve" /><input type="submit" name="disapproveimage" value="Disapprove" /></div></form>'; 

$multirowing = ''; 

require("../connect.php"); 
$query2 = "SELECT * FROM imagegallery WHERE approve ='0'"; 
$result2 = mysql_query($query2); 
while($rowphew = mysql_fetch_array($result2)) 
{ 
    $multirowing .= '<tr> 
     <td>' . $rowphew['username'] . '</td> 
     <td> 
      <a href="uploads/' . $rowphew['image'] . '"> 
       <img src="uploads/' . $rowphew['image'] . '" width="100px" /> 
      </a> 
     </td> 
     <td> 
      <input type="checkbox" name="selectingimage" value="' . $rowphew['image'] . '" /> 
     </td> 
    </tr>'; 
} 
$message = $topmessage . $multirowing . $bottommessage; 
echo $message; 

結果結果(如源代碼所示)是:(對不起着上傳圖像需要10聲譽points..ahh)

<form><table> 
<tr><td>Image1</td></tr> 
</table>BUTTONS</form> 

<form><table> 
<tr><td>Image1</td></tr> 
<tr><td>Image2</td></tr> 
</table>BUTTONS</form> 

<form><table> 
<tr><td>Image1</td></tr> 
<tr><td>Image2</td></tr> 
<tr><td>Image3</td></tr> 
</table>BUTTONS</form> 

<form><table> 
<tr><td>Image1</td></tr> 
<tr><td>Image2</td></tr> 
<tr><td>Image3</td></tr> 
<tr><td>Image4</td></tr> 
</table>BUTTONS</form> 

<form><table> 
<tr><td>Image1</td></tr> 
<tr><td>Image2</td></tr> 
<tr><td>Image3</td></tr> 
<tr><td>Image4</td></tr> 
<tr><td>Image5</td></tr> 
</table>BUTTONS</form> 
+0

你確定某個其他文件沒有在循環中包含此文件嗎? – cwallenpoole

+0

*** STOP ***使用'mysql_'系列的PHP函數,它們是DEPRECATED和NSECURE。你想[使用'mysqli_'函數來代替](https://www.phpclasses.org/blog/package/9199/post/3-Smoothly-Migrate-your-PHP-Code-using-the-Old-MySQL-延伸到MySQLi.html)。 – Martin

+0

請在[鏈接]找到圖片(http://burhaniconsultancy.com/outcome.jpg) –

回答

0

您需要將字符串附加到$multirowing,而不是替換它。你應該使用htmlentities

$topmessage = '<form><table width="100%" border="0" cellspacing="0" cellpadding="10">'; 

$bottommessage = '</table><div align="right"><input type="submit" name="approveimage" value="Approve" /><input type="submit" name="disapproveimage" value="Disapprove" /></div></form>'; 

$multirowing = ''; 

require("../connect.php"); 
$query2 = "SELECT * FROM imagegallery WHERE approve ='0'"; 
$result2 = mysql_query($query2); 
while($rowphew = mysql_fetch_array($result2)) 
{ 
    $multirowing .= '<tr> 
     <td>' . htmlentities($rowphew['username']) . '</td> 
     <td><a href="uploads/' . htmlentities($rowphew['image']) . '"><img src="uploads/' . htmlentities($rowphew['image']) . '" width="100px" /></a></td> 
     <td> 
     <input type="checkbox" name="selectingimage" value="' . htmlentities($rowphew['image']) . '" /> 
     </td> 
    </tr>'; 
} 
$message = $topmessage . $multirowing . $bottommessage; 
echo $message; 
+0

不,它沒有解決的目的 –

+1

如果它仍然重複

標記,那麼很可能你從另一個循環運行此代碼。 – user3429660

+0

@MustafaAliasgar如果你把你的評論的內容和**更新你原來的問題**,並在問題底部添加信息,那就更好了。 – Martin

0

除了從msql_query已棄用的事實(你應該尤爲明顯轉移到PDO)。

你設置$multirowing = '<tr>....'

我想你想這個改變$multirowing .= '<tr>....'

這是另一個循環中?

+0

或者他們可以使用'MySQLi_'這可能是一個很大的要求有人重新學習從程序到OO編程(PDO)。 – Martin