Inserire Multi Update into mysql from form HTML PHP Array

DeveloperNewsTips & Tricks

Come inserire tante query su mysql da ciclo while php derivanti da array php.

Dopo la conferma del POST stampo per verificare il corretto funzionamento e visualizzo il contenuto dell’ Array.
Poi grazie alla variabile $_POST[‘count’] sappiamo quante volte eseguire in ciclo la query di inserimento o aggiornamento.
Decidiamo, quindi, cosa fare dopo inserimento con location.


if($_SERVER["REQUEST_METHOD"] == "POST"){

$id = $_POST['id'] ;
$incasso_fornitore = $_POST['incasso_fornitore'];
echo 'id'.$id.'
incasso fornito'.$incasso_fornitore;

echo '

'; print_r($id); echo '

‘;
echo '

'; print_r($incasso_fornitore); echo '

‘;
echo json_encode($incasso_fornitore);
echo json_encode($id);

$number = $_POST["count"];// il numero ottenuto tramite il ciclo while php nel form ---vedi più avanti codice HTML---
if($number > 0)
{
for($i=0; $i<$number; $i++)
{
if(trim($_POST["incasso_fornitore"][$i] != ''))
{

$sql = "UPDATE report SET incasso_fornitore='".mysqli_real_escape_string($link, $_POST["incasso_fornitore"][$i])."' where id='".mysqli_real_escape_string($link, $_POST["id"][$i])."'";
mysqli_query($link, $sql);

}//chiudo ciclo possiamo anche utilizzare INSERT con lo stesso metodo

}
header("location: conferma.php?store=".$_GET['store']);// indirizzo verso la index una volta eseguita la query
}
else
{
header("location: index.php?store=".$_GET['store']);// indirizzo verso index se non eseguo
}

}

Codice HTML

$nome_fornitore_grafico = array();</code><br ?--> $percentuale_grafico= array();
$select_report = mysqli_query($link,"SELECT * FROM report where store='".$_GET['store']."' and data='".$_GET['data']."' " );
$i = 0;
while($row_report = mysqli_fetch_array($select_report)){
$id = $row_report['id'] ;
$id_username= $row_report['id_username'];
$id_fornitore= $row_report['id_fornitore'];
$data = $row_report['data'];
$incasso_fornitore = $row_report['incasso_fornitore'];
$i++;

$select_fornitori = mysqli_query($link,"SELECT * FROM fornitori where id='$id_fornitore' " );

$row_fornitori = mysqli_fetch_array($select_fornitori);

$nome_fornitore= $row_fornitori['nome_fornitore'];

<code>$nome_fornitore_grafico[] = $row_fornitori[‘nome_fornitore’];</code>
<code>?&gt;</code>
<code></code>
<code></code>
<div class=”mb-3″><code><input class=”form-control” name=”data” required=”” type=”hidden” value=”&lt;?php echo $data ;?&gt;” /> </code>
<code><input class=”form-control” name=”id[]” readonly=”readonly” required=”” type=”hidden” value=”&lt;?php echo $id ;?&gt;” /></code><code><label>Importo </label></code>
<code><!–?php echo $nome_fornitore;?–></code>
<code><input class=”form-control” name=”id_fornitore[]” readonly=”readonly” required=”” type=”hidden” value=”&lt;?php echo $id_fornitore ;?&gt;” /></code><code><input class=”form-control” min=”0.01″ name=”incasso_fornitore[]” required=”” step=”0.01″ type=”number” value=”&lt;code&gt;&lt;?php echo $incasso_fornitore ;?&gt;&lt;/code&gt;” />/&gt;</code></div>

Ovviamente il codice non funziona se faccio copia incolla ma serve solo per spiegare e ottenere ciclo in maniera dinamica per un multi inserimento da ciclo while.

Non perderti tutti gli aggiornamenti!

Non inviamo spam! Leggi la nostra Informativa sulla privacy per avere maggiori informazioni.

Tags: , , , , , , , , ,

Potrebbe interessarti…

Strumenti indispensabili per indicizzare un sito su Google
Ottenere un numero formattato con migliaglia in php

Da leggere

Mobile, News

108MP: SAMSUNG GALAXY S21 ULTRA

SAMSUNG GALAXY S21 ULTRA ha una fotocamera da 108 MegaPixel. È il miglior cameraphone disponibile al momento l’S21 ultra non è certo economico ma…
Menu
%d