2017-04-07 20 views
1

私は、より多くの列を持つテーブルを持っています。ある列には、それぞれの行に3つのボタンがあり、それぞれ異なるクエリが関連付けられています。ボタンの1つをクリックすると、データベースのテーブルのフィールドが更新されます。テーブルのどの行のボタンもクリックすると、最初の行のフィールドのみが更新されます。たとえば、 10行のテーブルです.10行目のボタンの1つをクリックすると、ITは自分の最初の行を更新します.10行目は更新しません。これを解決する可能性はありますか? これは長すぎる申し訳ありませんcode..I'mです:更新ダtbale行のphpからSQLテーブルのフィールドを更新

<?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 } ?> 
+0

に関連するPOST値を追加します? – scaisEdge

+0

これは、私がどのような条件を書いているのかわからないところです。その$ row ['CNP']は毎回最初の行から値を取得します...しかし、私はボタンに対応する行からの値が必要です.. :( – Andrew

+0

私は答えが希望を掲示しました – scaisEdge

答えて

0

あなたは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> 

とあなたのSQL更新クエリで$行[「CNP」]コンテンツである行

$sql = "UPDATE masculin SET Premiu=1 WHERE CNP='".$_POST['CNP']. "'"; 
+0

:)たくさん!:) – Andrew

+0

@Andrewもし私の答えが正しければ受け入れられたようにマークしてください...どうぞこちらを見てください http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-作業 – scaisEdge

関連する問題