J'ai une boucle while. Il est dans un formulaire. Je veux insérer toutes les lignes de la boucle while lors de l'envoi du bouton submit. Ci-dessous le code de la boucle while.MySQL Insérer uniquement la dernière ligne avec la boucle while
<form method="POST" action="insert.php" n>
<table>
<?php
$i =0;
$link = mysqli_connect('localhost', 'root', '', 'shibu');
$sql = "select `cus_id`, `mobile`, `date`, `time`,
sum(`d1` + `d2` + `d3`) as `credit`,
from `finale`;
$result=mysqli_query($link, $sql);
$count = mysqli_num_rows($result);
if($count == 0){
?>
<tr>
<th><?php echo 'No Records Founds!' .mysqli_error($link); ?></th>
</tr>
<?php
}else{
while($sql_result = mysqli_fetch_assoc($result)){
?>
<tr>
<td><?php echo $i += 1; ?></td>
<td><input type="text" name="cus_id" value="<?php echo $sql_result['cus_id']; ?>" ></td>
<td><input type="text" name="mobile" value="<?php echo $sql_result['mobile']; ?>" ></td>
<td><input type="text" name="date" value="<?php echo $sql_result['date']; ?>" ></td>
<td><input type="text" name="time" value="<?php echo $sql_result['time']; ?>"</td>
<td><input type="text" name="credit" value="<?php echo $sql_result['credit']; ?>"></td>
</tr>
<?php
}
}
?>
</table>
<input name="submit" type="submit" />
</form>
Ceci est ma requête d'insertion.
<?php
$link = mysqli_connect('localhost', 'root', '', 'shibu');
$stmt = mysqli_prepare($link, "INSERT INTO single
(`cus_id`, `mobile`, `date`, `time`, `credit`) VALUES (?,?,?,?,?)");
mysqli_stmt_bind_param($stmt, 'isssi', $cus_id, $mobile, $date, $time, $credit);
foreach ((array)$_POST['cus_id'] as $i => $cus_id) {
$mobile = $_POST['mobile'];
$date = $_POST['date'];
$time = $_POST['time'];
$credit = $_POST['credit'];
mysqli_stmt_execute($stmt);
}
if(!$stmt){
echo "error". mysqli_error($link);
}
Mon problème est quand je rentre bouton submit
, only last row enters
pas toutes les lignes.
J'ai besoin de votre aide chaleureusement.
Bonne réponse. Ce n'est pas du tout les actions mysql, c'est la façon dont les variables du formulaire sont traitées. – IncredibleHat
J'ai changé le champ de nom. Maintenant, à l'exception du champ 'cus_id', le champ' mobile, date et heure' affiche 'array' dans le champ word et credit affiche' 1' dans la base de données. –
Pouvez-vous afficher les données $ _POST en utilisant print_r ($ _ POST); –