Я создаю веб-страницу, в которой администратор может обновлять запись ученика (здесь это номер призыва по запросу), он будет обновлять запись для конкретного идентификатора студента , Ниже приведен код, проблема в том, что номер DD обновляется для всех записей в базе данных, а не для идентификатора, указанного в текстовом поле. Если бы кто-нибудь мог предложить возможное решение, я был бы очень признателен.Сопоставление записей базы данных с значением текстового поля и обновлением базы данных в php
Вот код:
<div class="main row">
<?php
$connect_mysql=mysql_connect("localhost","root","");
$mysql_db=mysql_select_db("mca",$connect_mysql);
?>
<form name="form1" method="POST" action="">
Enter the student's Registration ID :<span style="padding-left:20px"> <input type="text" id="studentsearch" name="studentsearch"></span>
</br> </br><span style="padding-left:190px"><input name="submit" type="submit" value="search"></span></br>
<?php
if(isset($_POST['submit']))
{
$id=$_POST['studentsearch'];
$query1="select 1 from user where id=$id" ;
$result1=mysql_query($query1) or die("Query Failed:".mysql_error());
if(mysql_num_rows($result1)>0)
{
echo 'student present';
}
else
{
echo 'student not present';
}
}
?>
</br>
</br>Enter the Demand Draft no : <span style="padding-left:46px"><input type="text" name="dd"></span>
</br></br><span style="padding-left:190px">
<input name="update" type="submit" value="update"></span><span style="padding-left:10px">
<input name="clear" type="submit" value="cancel" ></span>
<?php
if(isset($_POST['update']))
{
$connect_mysql=mysql_connect("localhost","root","") or die("cannot connect");
$mysql_db=mysql_select_db("mca",$connect_mysql);
$id1=$_POST['studentsearch'];
$dd=$_POST['dd'];
$sql="SELECT id FROM user ";
$result1 =mysql_query($sql,$connect_mysql) or die(mysql_error($connect_mysql));
while($row = mysql_fetch_array($result1))
if($id1=$row['id'])
{
$q="UPDATE user SET DD='$dd'";
$result2=mysql_query($q,$connect_mysql) or die("Query Failed".mysql_error());
}
mysql_close($connect_mysql);
}
?>
</form>
</div>
в 'mysql_' функции устарели. Я предлагаю вам заглянуть в «PDO» вместо http://php.net/manual/en/book.pdo.php – lshas
вам не хватает ваших условных операторов в ваших запросах. Сейчас, как в вашем выборе, так и в вашем обновлении, вы говорите ему, чтобы применять операции к каждой записи в каждой из этих таблиц. – Augwa
Вы забыли предложение 'WHERE' при обновлении' $ q = "UPDATE user SET DD = '$ dd' WHERE id = $ id"; 'вам не нужен цикл' WHILE'. Используйте 'mysqli_' или' PDO' вместо 'mysql_' –