2017-10-01 11 views
0

データベースにユーザーのリストがあり、すべてのユーザーが分離されたテーブルにあり、各テーブルにはユーザーをアクティブにできるボタンがあります私のコード PHPコード内の送信ボタンを使用してレコードを更新する方法

<?php 
    while($r = mysqli_fetch_assoc($queryD)) 
      {   
    echo "<table width='800' border='0' align='center' style='margin-top: 10px; margin-bottom: 20px; background-color: #FFFFFF; border: 1px solid black; outline: 3px solid #262626;' cellspacing='0px' cellpadding='2px;'>"; 
     echo "<tbody>"; 
     echo "<tr>"; 
      echo "<td width='193' class='generalFONT' style='border: 1px solid black;'>" . "Username" . "</td>"; 
      echo "<td width='93' class='generalFONT' style='border: 1px solid black;'>" . "Name" . "</td>"; 
      echo "<td width='98' class='generalFONT' style='border: 1px solid black;'>" . "Phone" . "</td>"; 
      echo "<td width='50' class='generalFONT' style='border: 1px solid black;'>" . "Age" . "</td>"; 
      echo "<td width='148' class='generalFONT' style='border: 1px solid black;'>" . "Gender" . "</td>"; 
      echo "<td width='160' class='generalFONT' style='border: 1px solid black;'>" . "Natunality" . "</td>"; 
     echo "</tr>"; 

     echo "<tr>"; 
      echo "<td width='93' class='generalFONT' style='border: 1px solid black; background-color: #005B87; 
color: #FFFFFF;'>" . $r["Username"] . "</td>"; 
      echo "<td width='93' class='generalFONT' style='border: 1px solid black; background-color: #005B87; 
color: #FFFFFF;'>" . $r["Name"] . "</td>"; 
      echo "<td width='93' class='generalFONT' style='border: 1px solid black; background-color: #005B87; 
color: #FFFFFF;'>" . $r["Phone"] . "</td>"; 
      echo "<td width='50' class='generalFONT' style='border: 1px solid black; background-color: #005B87; 
color: #FFFFFF;'>" . $r["Age"] . "</td>"; 
      echo "<td width='93' class='generalFONT' style='border: 1px solid black; background-color: #005B87; 
color: #FFFFFF;'>" . $r["Gender"] . "</td>"; 
      echo "<td width='93' class='generalFONT' style='border: 1px solid black; background-color: #005B87; 
color: #FFFFFF;'>" . $r["Natunality"] . "</td>"; 
     echo "</tr>"; 

     echo "<td style='border-bottom: 1px solid black; border-right: 1px solid black; text-align:right; padding: 0px;'> 
      <form action='users.php' method='post'> 
      <input type='submit' name='active' id='active' title='Active User' value='Active'> 
      </form> 
      </td> 
      ";?> 

と私のクエリは、次のとおりです。

if(isset($_POST['active'])){ 

    $queryR = mysqli_query($con, "UPDATE users SET isAct=1"); 
    mysqli_close($con); 

} 

私の問題はあるボタンは、このコードが正しく実行されている場合、私は、データベース内のすべてのユーザーがのアクティブな値を持つことになり、また、それを押したときに何もしません1?私が押したユーザーだけを更新したいのですが、どうすればいいですか?ありがとうございました。

答えて

1

を更新するために、そのユーザーの名前を送信しますそれぞれの行のボタンをクリックしてSQLを変更して、where句を使用して、ターゲットレコードを更新します。

<?php 
while($r = mysqli_fetch_assoc($queryD)) 
     {   
echo "<table width='800' border='0' align='center' style='margin-top: 10px; margin-bottom: 20px; background-color: #FFFFFF; border: 1px solid black; outline: 3px solid #262626;' cellspacing='0px' cellpadding='2px;'>"; 
    echo "<tbody>"; 
    echo "<tr>"; 
     echo "<td width='193' class='generalFONT' style='border: 1px solid black;'>" . "Username" . "</td>"; 
     echo "<td width='93' class='generalFONT' style='border: 1px solid black;'>" . "Name" . "</td>"; 
     echo "<td width='98' class='generalFONT' style='border: 1px solid black;'>" . "Phone" . "</td>"; 
     echo "<td width='50' class='generalFONT' style='border: 1px solid black;'>" . "Age" . "</td>"; 
     echo "<td width='148' class='generalFONT' style='border: 1px solid black;'>" . "Gender" . "</td>"; 
     echo "<td width='160' class='generalFONT' style='border: 1px solid black;'>" . "Natunality" . "</td>"; 
    echo "</tr>"; 

    echo "<tr>"; 
     echo "<td width='93' class='generalFONT' style='border: 1px solid black; background-color: #005B87;color: #FFFFFF;'>" . $r["Username"] . "</td>"; 
     echo "<td width='93' class='generalFONT' style='border: 1px solid black; background-color: #005B87;color: #FFFFFF;'>" . $r["Name"] . "</td>"; 
     echo "<td width='93' class='generalFONT' style='border: 1px solid black; background-color: #005B87;color: #FFFFFF;'>" . $r["Phone"] . "</td>"; 
     echo "<td width='50' class='generalFONT' style='border: 1px solid black; background-color: #005B87;color: #FFFFFF;'>" . $r["Age"] . "</td>"; 
     echo "<td width='93' class='generalFONT' style='border: 1px solid black; background-color: #005B87;color: #FFFFFF;'>" . $r["Gender"] . "</td>"; 
    echo "<td width='93' class='generalFONT' style='border: 1px solid black; background-color: #005B87;color: #FFFFFF;'>" . $r["Natunality"] . "</td>"; 
    echo "</tr>"; 

    echo "<td style='border-bottom: 1px solid black; border-right: 1px solid black; text-align:right; padding: 0px;'> 
     <form action='users.php' method='post'> 
     <input type='hidden' name='id' value=".$r["id"]."> 
     <input type='submit' name='active' id='active' title='Active User' value='Active'> 
     </form> 
     </td> 
     ";?> 

と更新したPHPのクエリアクションが

if(isset($_POST['active'])){ 

    $queryR = mysqli_query($con, "UPDATE users SET isAct=1 WHERE id =".$_POST['id']); 
    mysqli_close($con); 
} 
0

もしypuがそのページusers.phpに行かないなら、私はクリックで関数を呼び出し、その関数を通して現在のユーザーのユーザー名を渡し、その関数の中で$ .ajax post requestとusers.phpし、その値を収集し、ユーザIDまたは名前(各レコードため一意の識別子)を保持するための隠しフィールドを使用して、上の提出その特定の行を

+0

をBE-べきで申し訳ありませんが、ちょうどあなたがPHPでjqueryの を使用しての代わりに、データを送信していない実現 - ので、あなたのコードは以下のように変更する必要があり

そのページにこのページの中で関数を作成し、その中で同じことをします –

関連する問題