2012-12-30 39 views
0

我認爲這將是相當簡單的解決,因爲它看起來像我的語法是這裏的問題。我已經通過其他simler stackoverflow的問題進行了搜索,但似乎無法解決這個問題。在數據庫列表視圖中使用href的PHP語法錯誤

我收到Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in C:\wamp\www\Active\Formula One\admin\list_products.php錯誤。

我正在做一個簡單的列表視圖的項目在我的數據庫中的選項,通過使用ID編輯它們。嘗試將<a href>標記添加到表格中,但無法找出添加它的正確語法。

鏈路即時試圖包括是 <td><a href=" ../admin/admin.master.php?page=blog/edit_post.php&id=' . $row['id'] . '">Edit</a> </td>

表被顯示爲左右;

echo "<tr> 
<td>" . $row['id'] . "</td> 
<td>" . $row['prod_id'] . "</td> 
<td>" . $row['prod_sub_id'] . "</td> 
<td>" . $row['name'] . "</td> 
<td>" . $row['description'] . "</td> 
<td>" . $row['price'] . "</td> 
<td>" . $row['sale'] . "</td> 
<td>" . $row['picture'] . "</td> 
<td><a href=" ../admin/admin.master.php?page=blog/edit_post.php&id=' . $row['id'] . '">Edit</a> </td> 
</tr>"; 

感謝您的幫助,對不起,這是這樣一個簡單的問題,但我一直在試圖找出這個了一會兒。

+2

所以,如果你看看語法突出顯示,在最後一行'​​'? – dualed

回答

2

它不直接回答你的問題,但你應該避免打印HTML標籤。 PHP替代控制結構致力於解決像這樣的問題。

所以你應該從PHP解耦HTML標記。

<table> 

<!-- This is just an example, you shouldn't use mysql_* functions anymore --> 
<!-- Use PDO or MySQLi instead --> 
<?php while($row = mysql_fetch_assoc($resourse)) :?> 

<tr> 
    <td><?php echo $row['id'] ?></td> 
    <td><?php echo $row['prod_id']; ?></td> 
    <td><?php echo $row['prod_sub_id'];?> </td> 
    <td><?php echo $row['name']; ?></td> 
    <td><?php echo $row['description']; ?></td> 
    <td><?php echo $row['price']; ?></td> 
    <td><?php echo $row['sale']; ?></td> 
    <td><?php echo $row['picture'];?></td> 
    <td><a href="<?php printf('../admin/admin.master.php?page=blog/edit_post.php&id=', $row['id']);?> ">Edit</a> </td> 

</tr> 

<?php endwhile; ?> 

</table> 

Consclusion:

  1. 這將使代碼清晰可讀
  2. 易於維護
  3. 給你,你不會有這樣的一個語法錯誤的可信度(一般)
+0

很好的回答和建議! – pzirkind

3

您必須轉義雙引號

<td><a href=\" ../admin/admin.master.php?page=blog/edit_post.php&id=" . $row['id'] . "\">Edit</a> </td> 
+0

這麼簡單。謝謝Olaf – memyselfandmyiphone

1

的問題似乎是,PHP不知道該<a href="是一個鏈接,而是在翻譯雙引號作爲字符串的結束,因此它會拋出一個錯誤。

更改這行代碼:

"</td> 
<td><a href=" ../admin/admin.master.php?page=blog/edit_post.php&id=' . $row['id'] . '">Edit</a> </td> 
</tr>"; 

要這樣:

'</td> // this needs a single quote in the beginning (not a double quoute) 
<td><a href=" ../admin/admin.master.php?page=blog/edit_post.php&id=' . $row['id'] . '">Edit</a> </td> 
</tr>'; // this also needs a single quote 

正如你可以看到你已經開始了與雙引號,並用單引號使得混淆PHP結束。

讓我們知道,如果你需要更多的幫助

相關問題