私はPHPを使用してミニプロジェクトを行っている学生です。管理者ページにバグがあります。つまり、最初にプロンプトを表示します。
-->Hall ticket No
-->Semester of the particular student.
管理者がこれらの詳細を入力してfirstsubmitボタンをクリックするたびに、特定の学生のマークがテキストボックスに表示されます。
マークが利用できない場合は、空のテキストボックスが表示され、管理者はその特定の学生のマークを挿入できます。
2番目の送信ボタンをクリックするたびにマークを入力した後、マークをデータベーステーブルに挿入する必要があります。
注:マークと2番目の送信ボタンは、管理者がHallticketnoと学期を取得して最初の送信ボタンをクリックした場合にのみ表示されます。
バグは、テキストボックスに件名のマークを入力し、2番目の送信ボタンをクリックすると、テキストボックスに入力されたマークの代わりに、テーブル内のすべての件名に「0」が挿入されることです。そしてここに私のコードがあります:
<html>
<body bgcolor="#abcdfg">
<center><h2>WELCOME TO ADMINISTRATOR</H2>
<form name="admin" action="admin1.php" method="POST">
Hall Ticket No.:
<input type="text" name="rno" value=""/>
<br>
<br>
Enter The Semister:
<input type="text" name="sem" value=""/>
<br>
<br>
<input type="submit" name="submit1" value="Load the marks">
</form>
<?php
if(isset($_POST['submit1']))
{
$id=$_POST['rno'];
$semester=$_POST['sem'];
$link = mysql_connect('127.0.0.1', 'root', '');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
$db_selected = mysql_select_db('etudient', $link);
if (!$db_selected) {
die ('Can\'t use etudient : ' . mysql_error());
}
$sql='SELECT *
FROM `2-1`
WHERE id='."'".$id."'";
$result=mysql_query($sql);
if (mysql_num_rows($result)==0)
{
echo 'marks were not entered for '.$id.' in '.$semester. ' semester'.'<br>';
$empty='SELECT subname
FROM `2-1subjects`';
$eresult=mysql_query($empty);
if(!$eresult)
{
die('invalid Query:'.mysql_error());
}
Print "<table border=0 cellpadding=10>";
//Print "<th>SUBJECT CODE</th>";
Print "<th>SUBJECT NAME</th>";
Print "<th>MARKS</th>";
while($cow = mysql_fetch_array($eresult))
{
Print "<tr>";
//Print "<td>".$row['subcode'] . "</td> ";
print "<td>".$cow['subname'] . "</td> ";
//Print "<td>".$row['marks'] . "</td> ";
?>
<form method="POST">
<td> <input type="text" name="mark" style="text-align:center" value=""/></td>
</form>
<?php
Print "</tr>";
}
Print "</table>";
?>
<input type="submit" name="submit2" value="Insert Marks"/>
<?php
if(isset($_POST['submit2']))
{
$insq='SELECT subcode
FROM `2-1subjects`';
if(!$insq)
{
die('invalid Query:'.mysql_error());
}
$insre=mysql_query($insq);
while($subrow=mysql_fetch_array($insre))
{
$mr=$_POST['mark'];
$inser='INSERT into `2-1`(id,subcode,marks)
VALUES('."'".$id."'".','
."'".$subrow['subcode']."'".','
."'".$mr."'".')';
$inseresult=mysql_query($inser);
if(!$inseresult)
{
die('invalid Query:'.mysql_error());
}
}
echo "successfully Inserted.";
}
else{
echo 'not submitted.';
}
}
else
{
echo 'Marks Details of '.$id.' in '.$semester.' semester'.'<br>';
$query='SELECT subname,marks
FROM `2-1subjects`
JOIN `2-1`
ON `2-1subjects`.subcode=`2-1`.subcode
WHERE id='."'".$id."'";
$sql=mysql_query($query);
if(!$sql)
{
die('invalid Query:'.mysql_error());
}
Print "<table border=0 cellpadding=10>";
//Print "<th>SUBJECT CODE</th>";
Print "<th>SUBJECT NAME</th>";
Print "<th>MARKS</th>";
while($row = mysql_fetch_array($sql))
{
Print "<tr>";
//Print "<td>".$row['subcode'] . "</td> ";
print "<td>".$row['subname'] . "</td> ";
//Print "<td>".$row['marks'] . "</td> ";
?>
<td> <input type="text" style="text-align:center" value="<?php echo $row['marks'] ?>" /></td>
<?php
Print "</tr>";
}
Print "</table>";
print '<input type="submit" name="submit" value="Update Marks"/>';
}
値は、テキストボックスに挿入したときに入力した値ではなく、下から上を意味する逆の順序でテーブルに挿入されています。コードを修正してください。前もって感謝します。