从php中的sql表更新字段
我有一个多列的表。在一列上,我有3个按钮,每行有不同的查询关联。当我单击其中一个按钮时,数据库表中的字段应该会更新。问题是,当我单击表中任何一行上的按钮时,它只更新第一行中的字段。例如,我有一个有10行的表。如果我单击第10行上的一个按钮,它将更新我的第一行,而不是我想要的第10行。有没有可能解决这个问题? 这是代码..很抱歉太长了:从php中的sql表更新字段,php,mysql,Php,Mysql,我有一个多列的表。在一列上,我有3个按钮,每行有不同的查询关联。当我单击其中一个按钮时,数据库表中的字段应该会更新。问题是,当我单击表中任何一行上的按钮时,它只更新第一行中的字段。例如,我有一个有10行的表。如果我单击第10行上的一个按钮,它将更新我的第一行,而不是我想要的第10行。有没有可能解决这个问题? 这是代码..很抱歉太长了: <?php $query = "SELECT * FROM masculin ORDER BY id_concurent";
<?php
$query = "SELECT * FROM masculin ORDER BY id_concurent";
$result = mysqli_query($link ,$query);
$row = mysqli_fetch_assoc($result);
if(isset($_POST['locul1']))
{
$sql = "UPDATE masculin SET Premiu=1 WHERE CNP='".$row['CNP']."'";
mysqli_query($link,$sql);
header("Location:administrare.php");
}
else if(isset($_POST['locul2']))
{
$sql = "UPDATE masculin SET Premiu=2 WHERE CNP='".$row['CNP']."'";
mysqli_query($link,$sql);
header("Location:administrare.php");
}
else if(isset($_POST['locul3']))
{
$sql = "UPDATE masculin SET Premiu=3 WHERE CNP='".$row['CNP']."'";
mysqli_query($link,$sql);
header("Location:administrare.php");
} ?>
<u><i><h1 align="center">Administrare concurenti</h1></i></u>
<u><i><h2>MASCULIN</h2></i></u>
<?php
$query = "SELECT * FROM masculin ORDER BY id_concurent";
$result = mysqli_query($link ,$query);
if (mysqli_num_rows($result) == 0) {
echo 'Inca nu s-a inscris niciun concurent.';
} else {
?>
<table width="100%">
<tr>
<th>Nr.<br />concurs</th>
<th>Nume</th>
<th>Prenume</th>
<th>CNP</th>
<th>Categoria</th>
<th>Varsta</th>
<th>Premiu</th>
<th>Modifica<br />rezultat</th>
<th>Descalifica</th>
</tr>
<?php while($row = mysqli_fetch_assoc($result)){ ?>
<tr>
<?php
$query1="SELECT id_concurent FROM concurenti WHERE CNP='".$row['CNP']."'";
$result1=mysqli_query($link,$query1);
$nr_conc=mysqli_fetch_assoc($result1);
?>
<td> <?php echo $nr_conc['id_concurent'] ?> </td>
<td> <?php echo $row['Nume'] ?> </td>
<td> <?php echo $row['Prenume'] ?> </td>
<td> <?php echo $row['CNP'] ?> </td>
<td> <?php echo $row['Categorie'] ?> </td>
<td> <?php echo $row['Varsta'] ?> </td>
<td> <?php echo $row['Premiu'] ?> </td>
<td>
<form action="administrare.php" method="post">
<input type="submit" name="locul1" value="Premiul 1">
<input type="submit" name="locul2" value="Premiul 2">
<input type="submit" name="locul3" value="Premiul 3">
</form>
</td>
</tr>
<?php } ?>
</table> <?php } ?>
对于更新的数据行,当您提交与html表格行相关的值时,应添加和隐藏输入值,使您能够到达正确的行,例如:
<form action="administrare.php" method="post">
<input type="submit" name="locul1" value="Premiul 1">
<input type="submit" name="locul2" value="Premiul 2">
<input type="submit" name="locul3" value="Premiul 3">
<input type="hidden" name="CNP" value="<?php echo $row['CNP'] ?>">
</form>
当您提交与html表格行相关的值时,要更新da tbale行,您应该添加和隐藏输入值,使您能够到达正确的行,例如:
<form action="administrare.php" method="post">
<input type="submit" name="locul1" value="Premiul 1">
<input type="submit" name="locul2" value="Premiul 2">
<input type="submit" name="locul3" value="Premiul 3">
<input type="hidden" name="CNP" value="<?php echo $row['CNP'] ?>">
</form>
$row['CNP']的内容是什么???好吧,那就是我不知道写什么条件的地方。$row['CNP']每次都从第一行获取值…但我需要对应于按钮的行中的值(我已经发布了一个答案hope is clear哪是$row['CNP']内容???好吧,这就是我不知道要写什么条件的地方。该$row['CNP']每次都从第一行获取值…但是我需要对应于按钮的行中的值。)(我发布了一个答案hope is clear