2016-05-23 1 views
0

J'essaie de mettre à jour ma base de données en obtenant l'identifiant sélectionné par l'utilisateur.Mise à jour des informations dans mysql en utilisant php

<form action="edit1.php" method="post"> 
<?php 
       $query = "SELECT * FROM disease1;"; 
       $result = mysqli_query($dp, $query); 
       echo "<table border=5> 
       <tr> 
       <th>Disease ID</th> 
       <th>Disease</th> 
       <th>Sub Disease</th> 
       <th>Associated Disease</th> 
       <th>Edit</th> 
       </tr>"; 
    while($row = mysqli_fetch_assoc($result)) { 
    echo "<tr>"; 
    echo "<td>".$row{'id'}."</td>"; 
    echo "<td>".$row{'Disease'}."</td>"; 
    echo "<td>".$row{'SubDisease'}."</td>"; 
    echo "<td>".$row{'Associated_Disease'}."</td>"; 
    echo "<td><input type='radio' name='id' value='".$row[id]."'></td>"; 
    echo "</tr>";}    
    echo "</table>";       
     ?>  <div> 
    <input type = 'submit' value = 'Update' name = 'submitupdate'> 

Ma edting Page edit1.php

<?php 
    $conn = mysqli_connect('localhost','root','','tool') 
    if (!$conn) { 
    die("Connection failed: " . mysqli_error()); 
    } 
    $query = "SELECT * FROM disease where id=".$_POST["id"]; 
    $result = mysqli_query($conn, $query); 
    $count= mysqli_num_rows($result); 
    echo $count; 
    ?> 
    <form action="update.php" method="post"> 
    <input type="hidden" value="<?php echo $row['id'];?>" name="id"/> 
    Diease<input type="text" name="Disease" value="<?php echo $row['Disease'];? >"/> 
    SubDisease<input type="text" name="SubDisease" value="<?php echo $row['SubDisease'];?>"/> 
    Associated Disease<input type="text" name="Associated_Disease" value="<?php echo $row['Associated_Disease'];?>"/> 
    <input type="submit" value="update"> 
    </form> 

Mon update.php

<?php 
    $conn = mysqli_connect('localhost','root','','tool'); 
    if (!$conn) { 
    die("Connection failed: " . mysqli_error()); 
    } 
    $disease=$_POST['Disease']; 
    $SubDisease=$_POST['SubDisease']; 
    $Associated_Disease= $_POST['Associated_Disease']; 
    $id = $_POST ['id']; 
    $update="Update disease1 set Disease='".$disease."', SubDisease='".$SubDisease."', Associated_Disease='".$Associated_Disease."' where  id=".$_POST["id"]; 
    mysqli_query($conn,$update); 
?> 

Mais l'id ne lit pas et la valeur de l'identifiant ne sont pas transmises à la commande de mise à jour . Quelqu'un peut-il me aider

Répondre

2

Vous devez fetch data de résultats de votre requête

$row = mysqli_fetch_assoc($result); 

Affectez ensuite pour former.

Code complet serait

$query = "SELECT * FROM disease where id=".$_POST["id"]; 
$result = mysqli_query($conn, $query); 
$count= mysqli_num_rows($result); 
$row = mysqli_fetch_assoc($result); 

<form action="update.php" method="post"> 
    <input type="hidden" value="<?php echo $row['id'];?>" name="id"/> 
    Diease<input type="text" name="Disease" value="<?php echo $row['Disease'];? >"/> 
    SubDisease<input type="text" name="SubDisease" value="<?php echo $row['SubDisease'];?>"/> 
    Associated Disease<input type="text" name="Associated_Disease" value="<?php echo $row['Associated_Disease'];?>"/> 
    <input type="submit" value="update"> 
    </form> 
+1

Merci beaucoup. J'ai la sortie requise –

+0

@ Saty.J'ai deux boutons d'envoi pour la suppression et la mise à jour sous la même forme. Encore une fois, je suis confronté au même problème. L'ID n'est pas en cours de lecture et la valeur de l'ID n'est pas transmise à l'édition ainsi qu'à la page de mise à jour. –

+0

Postez une nouvelle question avec deux boutons d'envoi !! et votre nouvelle exigence! – Saty