2016-07-06 14 views
0

Ich habe versucht, alle Datensätze Tabelle der einmal anzuzeigen und zu aktualisieren. Ich kann den Datensatz erfolgreich anzeigen. aber ich kann meine Datenbank nicht aktualisieren, bitte helfen Sie mir, die Datensätze in der Tabelle zu aktualisieren.
enter image description hereMehrere Zeilen in PHP aktualisieren mysql

<?php while($rows=mysqli_fetch_array($result)){ ?> 
 

 
<tr> 
 
    <td align="center"> 
 
    <input name="id[]" type="text" id="name" value="<?php echo $rows['id']; ?>"> 
 
    </td> 
 
    <td align="center"> 
 
    <input name="name[]" type="text" id="name" value="<?php echo $rows['name']; ?>"> 
 
    </td> 
 
    <td align="center"> 
 
    <input name="lastname[]" type="text" id="lastname" value="<?php echo $rows['lastname']; ?>"> 
 
    </td> 
 
    <td align="center"> 
 
    <input name="email[]" type="text" id="email" value="<?php echo $rows['email']; ?>"> 
 
    </td> 
 
</tr> 
 

 
<?php } ?> 
 

 
<tr> 
 
    <td colspan="4" align="center"> 
 
    <input type="submit" name="Submit" value="Submit"> 
 
    </td> 
 
</tr> 
 
</table> 
 
</td> 
 
</tr> 
 
</form> 
 
</table> 
 
<?php if(isset($_POST[ 'Submit'])) { $id_array=$_POST[ 'id']; $name_array=$ _POST[ 'name']; $year_array=$_POST[ 'lastname']; $emil_array=$_POST[ 'email']; for($i=0;$i<$count;$i++){ $sql1="UPDATE test_mysql SET name='$name_array[$i]', lastname='$year_array[$i]', email='$emil_array[$i]' WHERE id='id_array[$i]'" 
 
; } mysqli_close($con); } ?>

Antwort

0

Ihre Form haben keine Action-Handler.

<form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 
0

Versuchen:

Html:

<table> 
<form name="form1" method="post"> <!-- add form tag --> 

<?php while($rows=mysqli_fetch_array($result)){ ?> 

<tr> 
    <td align="center"> 
    <input name="id[]" type="text" id="name" value="<?php echo $rows['id']; ?>"> 
    </td> 
    <td align="center"> 
    <input name="name[]" type="text" id="name" value="<?php echo $rows['name']; ?>"> 
    </td> 
    <td align="center"> 
    <input name="lastname[]" type="text" id="lastname" value="<?php echo $rows['lastname']; ?>"> 
    </td> 
    <td align="center"> 
    <input name="email[]" type="text" id="email" value="<?php echo $rows['email']; ?>"> 
    </td> 
</tr> 

<?php } ?> 

<tr> 
    <td colspan="4" align="center"> 
    <input type="submit" name="Submit" value="Submit"> 
    </td> 
</tr> 
</table> 

</form> 
</table> 

PHP:

if(isset($_POST['Submit'])) { 
    $id_array=$_POST['id']; 
    $name_array=$ _POST['name']; 
    $year_array=$_POST['lastname']; 
    $emil_array=$_POST['email']; 
    for($i=0;$i<$count;$i++){ 
    $id = $name_array[$i]; 
    $name = $year_array[$i]; 
    $year = $emil_array[$i]; 
    $email = $id_array[$i]; // use $id_array[$i] to access id, as in above code you did not use $ in id_array 
    $sql="UPDATE test_mysql SET name='$name', lastname='$year', email='$email' WHERE id='$id'"; 
    if ($conn->query($sql) === TRUE) { // execute query like this 
     echo "Record updated successfully"; 
    } else { 
     echo "Error updating record: " . $conn->error; 
    } 
    } 
    $conn->close(); 
} 
+0

ich Ihren Code versucht, noch ist es nicht zu aktualisieren, – Deepashika

0

In dem Formular Sie keine Action-Handler erwähnen. Der Code muss

<form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 
+0

Jetzt habe ich Action-Handler, aber immer noch seine nicht funktioniert – Deepashika

0

Hoffnung, dies wird Ihnen helfen, ich habe setzen mysql_escape_string nicht, da Sie noch beginnen, aber es wird für die Flucht mysql Angriffe helfen. und wickeln auch eine Form auf <form>

if(isset($_POST['Submit'])) { 
    $id_array= $_POST['id']; 
    $name_array=$ _POST['name']; 
    $year_array=$_POST['lastname']; 
    $emil_array=$_POST['email']; 


    if($id_array){ 

    foreach($id_array as $key=>$id_val){ 
     $name = $name_array[$key]; 
     $year = $year_array[$key]; 
     $email = $emil_array[$key]; 
     $sql = "update activity_logs set name='{$name}' , lastname = '{$year}' , email='{$email}' where activity_logs_id = {$id_val}"; 
     $res = mysql_query($sql); 

    } 

    } 

} 
+0

Die OP MySQLi verwendet. Es ist auch eine gute Idee, vorbereitete Anweisungen (http://php.net/manual/en/mysqli.prepare.php) zu verwenden. – Mikey

+0

danke für den Vorschlag @Mikey Prost –

Verwandte Themen