Ajout bouton modifier pour chaque ligne de la table de mise à jour de la base de données en PHP
J'ai créé une requête simple de récupérer les enregistrements de ma base de données et de les transmettre à un html. Je veux ajouter une modification/bouton afficher pour chaque ligne donc, après quelques recherches, j'ai fini avec cela:
$query = mysqli_query($con, "SELECT * FROM mytable") or die(mysqli_error($con));
if(mysqli_num_rows($query) > 0) {
while($row = mysqli_fetch_array($query)) {
echo "<tr><td>".$row['pId']."</td>";
echo "<td>".$row['data1']."</td>";
echo "<td>".$row['data2']."</td>";
echo "<td><form action='detailform.php' method='POST'><input type='hidden' name='tempId' value='".$row["pId"]."'/><input type='submit' name='submit-btn' value='View/Update Details' /><form></td>";
}
}
Cela fonctionne très bien pour 1 dossier. Mais si j'ai 2 ou plus, l'enregistrement le plus récent est toujours extraites indépendamment de l'enregistrement que vous avez sélectionné. Par exemple, si vous avez 5 enregistrements et que vous sélectionnez un enregistrement, le 5ème record sera toujours sélectionné, de sorte que je suis incapable de mettre à jour les enregistrements précédents. Pourquoi est-ce qui se passe? Ai-je raté quelque chose?
Ne sais pas si cela aide mon cas, mais voici mes la logique de base de mon detailform.php:
if(isset($_POST["tempId"]){
//pass data using post then update. Here's where I keep getting only the latest record regardless of selected record from previous page
} else { //add data }
Vous devez vous connecter pour publier un commentaire.
Fermer le formulaire:
Le premier est envoyé correctement, car il est le plus proche de le bouton d'envoi, le reste sera plus proche de la dernière bouton soumettre
essayer cette