0

これは、テーブルuserのすべてのデータを表示するための私のコーディングです。ファイル名はadmindisplay.phpです。

<?php
//Establish Server Connection String

//Connect to database
include('server.php');
session_start();

//Query database and set result to variable
$result = mysql_query ("SELECT * FROM user");
//Generate Table
echo "<table border='1'><tr><th>No</th><th>Name</th><th>Department</th><th>Date</th><th>Issue</th><th>Details</th><th>Assign Person</th><th>Status</th></tr>";

while($row = mysql_fetch_array($result))
{
$No = $row ['No'];
echo "<tr>";
echo "<td>" . $row['No'] . "</td>";
echo "<td>" . $row['Name'] . "</td>";
echo "<td>" . $row['Department'] . "</td>";
echo "<td>" . $row ['Date'] . "</td>";
echo "<td>" . $row ['Issue'] . "</td>";
echo "<td>" . $row ['Details'] . "</td>";
echo "<td>" . $row ['Assignperson'] . "</td>";
echo "<td>" . $row ['Status'] . "</td>";
echo "<td><form action=\"adminassign.php\" method=\"POST\">
Note:   <input type=\"text\" size=\"40\" maxlength=\"100\" name=\"note\">

<label>Assign to:</label>
<select name=\"assign\">
<option value=\"\">-Choose-</option>
<option value=\"Adrian\">Adrian</option>
<option value=\"Trainee\">Trainee</option> 
</select>

<input name=\"Nos\" type=\"hidden\" value=\"$No\">

<input name=\"submit\" type=\"submit\" value=\"Assign\"</td>";
}
echo "</table>";

?>

そして、これは私が望む任意の行を更新するための私のコーディングです。ファイル名はadminassign.phpです。

<?php
//Establish Server Connection String
//Connect to database
include('server.php');

session_start();
$No = $_POST ['Nos'];
$Note = $_POST['note'];
$Assign  = mysql_real_escape_string(htmlspecialchars($_POST['assign']));

if($Assign=='Adrian')
{

mysql_query("UPDATE user SET Assignperson = 'Adrian'  WHERE No = '$No'");
mysql_query("UPDATE user SET Note = '$Note'  WHERE No = '$No'");
echo "assign successful";

}

else
{

if($Assign=='Trainee')

{
mysql_query("UPDATE user SET Assignperson = 'Trainee' WHERE No = '$No'");
mysql_query("UPDATE user SET Note = '$Note'  WHERE No = '$No'");
echo "assign successful";

}
}
?>

<form action="index.php" method="POST">
<p><input type="submit" value="Log Out"> 

</form>

<form action="admindisplay.php" method="POST">
<p><input type="submit" value="Back">

 </form>    

問題は、最後の行しか更新できず、前の行は更新できないことです。誰かが私がこれを解決するのを手伝ってくれる?

4

2 に答える 2

0

ええ、それはあなたがこれを使わなければならないのは簡単です

<input name=\"Nos\" type=\"hidden\" value=\"$No\">

あなたがこれを提出するときはいつでも、彼らは最後の記録データを提出しているので、あなたはその代わりを使うことができます

<td><a href='adminassign.php?id=<?php echo $row['No']; ?>'>Edit</a></td>

これはあなたに役立つかもしれません!!!!

于 2012-11-19T06:56:54.537 に答える
0

テーブルの各行の各フォームの終了タグがありません。

</form>

次に、多くのNos入力を持つ1つのフォームがあり、最後の1つだけが考慮されます。

最初のコードサンプルのwhileサイクルの最後の行は、次のようになります。

<input name=\"submit\" type=\"submit\" value=\"Assign\" /></form></td>";

コードには他の構文上の問題もあります(閉じ括弧>がないなど)。この種の問題は、htmlコードのバリデーターによってキャッチできます:http://validator.w3.org/

于 2012-11-19T06:57:36.843 に答える