Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从php中的sql表更新字段_Php_Mysql - Fatal编程技术网

从php中的sql表更新字段

从php中的sql表更新字段,php,mysql,Php,Mysql,我有一个多列的表。在一列上,我有3个按钮,每行有不同的查询关联。当我单击其中一个按钮时,数据库表中的字段应该会更新。问题是,当我单击表中任何一行上的按钮时,它只更新第一行中的字段。例如,我有一个有10行的表。如果我单击第10行上的一个按钮,它将更新我的第一行,而不是我想要的第10行。有没有可能解决这个问题? 这是代码..很抱歉太长了: <?php $query = "SELECT * FROM masculin ORDER BY id_concurent";

我有一个多列的表。在一列上,我有3个按钮,每行有不同的查询关联。当我单击其中一个按钮时,数据库表中的字段应该会更新。问题是,当我单击表中任何一行上的按钮时,它只更新第一行中的字段。例如,我有一个有10行的表。如果我单击第10行上的一个按钮,它将更新我的第一行,而不是我想要的第10行。有没有可能解决这个问题? 这是代码..很抱歉太长了:

    <?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