問題:如何解決我在處理會話時遇到的問題,因爲它返回的值不正確。 情況:我在表中有這個會話變量的問題。我使用while循環將數據從數據庫添加到表中。這裏是我的代碼:PHP會話得到正確的值
<form action="edit2.php" method="get">
<?php
$link = mysql_connect("localhost", "root", "root");
mysql_select_db("ispot", $link);
$result4 = mysql_query("SELECT * FROM user_ispot", $link);
$num_rows = mysql_num_rows($result4);
$result = mysqli_query($con,"SELECT * FROM complaints");
echo "<table border='1'>
<tr>
<th>Id Number</th>
<th>Category</th>
<th>Problem</th>
<th>Date Reported</th>
<th>Complaint ID </th>
<th>Action</th>
</tr>";
while($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td name=id_num>" . $row['id_number'] . "</td>";
$_SESSION['favcolor'] = "$row[id_number]";
echo "<td name=remarks>" . $row['remarks'] . "</td>";
echo "<td name=status>" . $row['status'] . "</td>";
echo "<td name=date>" . $row['date_reported'] . "</td>";
echo "<td>" . "<INPUT TYPE = text Name = cid VALUE = " . $row['complaint_id'] . ">" . "</td>";
echo "<td>" . "<INPUT TYPE = Submit Name = Submit1 VALUE =Edit>" . "</td>";
echo "</tr>";
}
echo "</table>" ;?>
它看起來是這樣的:
正如你所看到的,有編輯按鈕,在那裏我可以編輯表中的特定行。 當我按下編輯按鈕,這將顯示:
注意,用戶ID是錯誤的,我能做些什麼來解決這個問題?因爲這裏發佈的用戶標識是插入表中的最後一個user_id。
這裏是我的第二圖像代碼:
<b>Date:</b> <input type='text' name='today' placeholder='<?php echo $today ?>' disabled='disabled'> <br><br>
<b>User ID:</b> <input type='text' disabled='disables' name='userid' placeholder='<?php
//$comid = $_GET["cid"];
//echo $userid;
echo $_SESSION['userid'];
//$result = mysqli_query($con,"SELECT * FROM complaints WHERE id = XXX");
//$row = mysqli_fetch_assoc($result);
//print_r($row);
//$result2 = mysql_query("SELECT * FROM complaints WHERE complaint_id = '$comid'", $link);
//$result2 = mysql_query("SELECT * FROM complaints", $link);
//while($row = mysql_fetch_assoc($result2))
//{
//echo $row['id_number'];
//}
?>'></br><br>
任何幫助,將不勝感激。謝謝。
不要使用會話,這對你想做的事完全不恰當的。將單擊編輯按鈕的行的相應ID發送到服務器。 –
您正在循環的每次迭代中設置SESSION變量。所以當循環結束時,該值被設置爲最終迭代的值。 – andrewsi
@AnthonyGrist先生,我也試過不使用會話,但仍然是同樣的問題。 。 – ms061210