2017-10-01 2 views
0

J'ai une page qui a une liste d'utilisateurs dans ma base de données, chaque utilisateur est dans une table séparée, chaque table a un bouton qui peut activer l'utilisateur, ici sont mes codesComment utiliser le bouton soumettre dans un code php pour mettre à jour l'enregistrement

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

et ma requête:

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

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

} 

mon problème est le bouton ne fait rien quand j'appuyez aussi, si le code fonctionne correctement seront tous les utilisateurs de la base de données ont une valeur active 1? Je veux mettre à jour seulement l'utilisateur sur lequel j'ai appuyé, comment puis-je faire cela? Je vous remercie.

Répondre

1

utilisent un champ caché pour la tenue de ID utilisateur ou le nom (identifiant unique pour chaque enregistrement) et présenter, recueillir la valeur de cette bouton de ligne respective et modifiez la clause SQL avec where pour mettre à jour cet enregistrement ciblé.

si votre code devrait modifier comme ci-dessous -

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

et votre action de requête php mise à jour devrait être-

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

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

Si ypu ne va pas à cette page users.php alors je suggère d'appeler une fonction sur click et de passer le nom d'utilisateur de l'utilisateur actuel à travers cette fonction, puis à l'intérieur de cette fonction, vous pouvez faire $ .ajax post request et envoyer le nom de cet utilisateur à users.php puis mettre à jour cette ligne spécifique

+0

Désolé, venez de réaliser que vous n'utilisez pas jquery en PHP au lieu d'envoyer des données à cette page juste faire une fonction à l'intérieur de cette page et faire la même chose à l'intérieur, sauf mettre une condition sur la mise à jour pour changer la ligne spécifique –