Tôi gặp sự cố lạ khi đặt truy vấn vào bảng html được hiển thị trong thiết lập php/mysql. Truy vấn sẽ luôn tạo ra một kết quả nhiều hơn được hiển thị. Ví dụ: nếu 1 bộ kết quả được trả về, không có gì hiển thị trong bảng. Nếu có 5, chỉ có 4 được hiển thị. Tôi đã thử các truy vấn tương tự với một hàm được xác định trước để tạo ra một bảng dựa trên một truy vấn và nó tạo ra bảng bên phải với số lượng kết quả chính xác. Dưới đây là một ví dụ (xin lỗi cho thụt lề hoặc thiếu):Truy vấn PHP/MySQL vào vấn đề bảng html
$user_id = implode($_SESSION['user_id']);
$query = "SELECT name, address
FROM user
WHERE user_id = '$user_id'
ORDER BY date_added DESC";
$result = mysql_query($query) or die ("query failed: " . mysql_error());
echo "<table border='1' style=\"border-collapse: collapse;\">
<tr style=\"background-color: #000066; color: #FFFFFF;\">
<th>Name</th>
<th>Address</th>
</tr>";
$rowCt = 0; // Row counter
while($row = mysql_fetch_array($result))
{
if($rowCt++ % 2 == 0) $Style = "background-color: #00CCCC;";
else $Style = "background-color: #0099CC;";
echo "<tr style=\"$Style\">";
echo "<td>" . $row['name'] . "</td>";
echo "<td>" . $row['address'] . "</td>";
echo "</tr>";
}
echo "</table>";
Bất kỳ ý tưởng nào tại sao điều này đang xảy ra? Bất kỳ sự giúp đỡ nào sẽ được đánh giá cao, điều đó khiến tôi phát điên và cần phải tìm ra nó trước khi tôi có thể tiếp tục! Cảm ơn.
EDIT
Tôi đã thay đổi nó một chút để lặp qua số lượng hàng như con số đó là đúng, và bảng bây giờ là kích thước chính xác, tuy nhiên kết quả cuối cùng luôn là sản phẩm nào. Bất kỳ ý tưởng?
$rowCt = 0; // Row counter
$i = 0;
echo mysql_num_rows($result). ' number of rows';
$num = mysql_num_rows($result);
//while($row = mysql_fetch_array($result))
while ($i < $num)
{
$row = mysql_fetch_array($result);
if($rowCt++ % 2 == 0) $Style = "background-color: #00CCCC;";
else $Style = "background-color: #0099CC;";
echo "<tr style=\"$Style\">";
echo "<td>" . $row['name'] . "</td>";
echo "<td>" . $row['address'] . "</td>";
echo "</tr>";
$i++;
}
echo "</table>";
Cảm ơn
echo mysql_num_rows ($ result); và đảm bảo nó trả về số hàng bạn mong đợi – Tom
bạn đang cố gắng làm gì với 'implode ($ _ SESSION [' user_id '])'? – mshsayem
Tôi thấy không có gì sai với mã của bạn. Chỉ trong bạn trong khi, bạn có một nếu và khác, hãy thử bình luận chúng ra và xem những gì sẽ xảy ra, nó có thể làm điều gì đó bất ngờ. Ngoài ra tôi đề nghị thực hiện truy vấn $ trực tiếp trong phpmyadmin (nếu được cài đặt) và xem tập dữ liệu được trả về để xác nhận dữ liệu được trả về. – ArendE