Salve, ringrazio in primis per le risposte e l'aiuto che mi darete.
Ho fatto uno script di update multiplo e non riesco a capire perchè non si prende la variabile per fare l'aggiornamento. Vi divido lo script per essere chiaro:
Codice PHP:
<?php
if($_REQUEST['modifica']=='ok'){
echo $contatore_selezione=$_POST['contatore_selezione']."io sono il contattore<br>";
echo $idnegozio=$_POST['idnegozio']. "io sono il negozio<br>";
echo $idriparazione = $_POST['idriparazione'.$i]."io sono id riparazioni<br>";
for($i=0; $i<=$contatore_selezione; $i++){
$datainvio = date('Y/m/d');
$idriparazione=$_REQUEST['idriparazione'.$i]; // ID RIPARATORE
$db->Query("UPDATE riparazioni SET `idnegozio` = '$idnegozio' WHERE idriparazione ='{$_REQUEST['idriparazione'.$i]}';");
}
$db->TransactionBegin();
if ($db->Query($sql)) {
$db->TransactionEnd();
// messaggio di inserimento riuscito
echo "Last ID inserted was: " . $db->GetLastInsertID() . "<br /><br />\n";
} else {
$db->TransactionRollback();
// messaggio di inserimento non riuscito
echo "<p>Query Failed</p>\n";
}
// header("location:content.php?page=21&messaggio={$_REQUEST['messaggio']}");
} ?>
Questa è la porzione di codice che dovrebbe elaborare tutto, prende tutte le variabili tranne idriparazione, (valori nel check sono presenti ho controllato)
Questo è messo subito dopo è javascript che mi fa da contatore e in più c'è un avviso se si sicuri di compiere l'azione
Codice PHP:
<script type="text/javascript">
function incremento_contatore(check){
var contatore=document.formspostamento2.contatore_selezione.value;
if ($('#'+check).is(":not(:checked)")){
contatore--;
document.formspostamento2.contatore_selezione.value=contatore;
} else {
contatore++;
document.formspostamento2.contatore_selezione.value=contatore; }
}
function controllo(){
var risposta = confirm('Sei sicuro di voler SPOSTARE gli elementi selezionati?');
if(risposta == true){
document.forms["formspostamento2"].submit();
}
}
</script>
Qui cì'è la form
codice HTML:
<form action="content.php?page=21" role="form" id="formspostamento2" name="formspostamento2" method="post" class="validate" novalidate="novalidate" >
<div class="panel-body">
<div class="row">
<div class="form-group col-md-3 has-success">
<label class="control-label">Negozio dove spostare il prodotto</label>
<select class="form-control" name="idnegozio">
<option>Seleziona il negozio</option>
<?php
$db->Query("SELECT negozio, idnegozio FROM negozi WHERE ordine='1' ORDER BY negozio");
while($row3 = $db->Row()){
echo "<option value='{$row3->idnegozio}'";
echo ">{$row3->negozio}</option>";
}
?>
</select>
</div>
<div class="form-group col-md-4 has-success">
<label class="control-label"> </label><br>
<input type="hidden" value="inserimento" name="messaggio">
<input type="button" name="button" onclick="javascript:controllo();" value="Sposta il prodotto" class="btn btn-info">
<input type="hidden" name="contatore_selezione" id="contatore_selezione" value="0"> </div>
</div>
</div>
<div class="clear"></div>
<br>
<table class="table table-bordered table-striped datatable" id="table-2">
<thead>
<tr>
<th>
<div class="checkbox checkbox-replace">
<input type="checkbox" id="chk-1">
</div>
</th>
<th>N. scheda</th>
<th>Data ingresso</th>
<th>Cliente</th>
<th>Prodotto</th>
<th>Tipo di assistenza</th>
<th>Negozio</th>
</tr>
</thead>
<tbody>
<?php
if($_SESSION['livello']=='1'){ $db->Query("SELECT riparazioni. * , statiriparazioni. * , tipiassistenze. * , anagrafiche. * , articoli. * , marche. * , riparatori. * , negozi . * FROM marcheRIGHT OUTER JOIN articoli ON marche.idmarca = articoli.idmarcaRIGHT OUTER JOIN riparazioniINNER JOIN anagrafiche ON riparazioni.idanagrafica = anagrafiche.idanagraficaINNER JOIN statiriparazioni ON riparazioni.idstato = statiriparazioni.idstatoINNER JOIN tipiassistenze ON riparazioni.idtipoassistenza = tipiassistenze.idtipoassistenzaINNER JOIN negozi ON riparazioni.idnegozio = negozi.idnegozio ON articoli.idarticolo = riparazioni.idarticoloLEFT OUTER JOIN riparatori ON riparazioni.idriparatore = riparatori.idriparatoreWHERE riparazioni.idstato != '7'AND riparazioni.eliminato ='0'ORDER BY riparazioni.idriparazione DESC");}else{ $db->Query("SELECT riparazioni. * , statiriparazioni. * , tipiassistenze. * , anagrafiche. * , articoli. * , marche. * , riparatori. * , negozi. * FROM marcheRIGHT OUTER JOIN articoli ON marche.idmarca = articoli.idmarcaRIGHT OUTER JOIN riparazioniINNER JOIN anagrafiche ON riparazioni.idanagrafica = anagrafiche.idanagraficaINNER JOIN statiriparazioni ON riparazioni.idstato = statiriparazioni.idstatoINNER JOIN tipiassistenze ON riparazioni.idtipoassistenza = tipiassistenze.idtipoassistenzaINNER JOIN negozi ON riparazioni.idnegozio = negozi.idnegozio ON articoli.idarticolo = riparazioni.idarticoloLEFT OUTER JOIN riparatori ON riparazioni.idriparatore = riparatori.idriparatoreWHERE riparazioni.idstato != '7'AND riparazioni.idnegozio ='".$_SESSION['negozio']."'ORDER BY riparazioni.idriparazione DESC");
}
// Count table rows $i = 0;// --- estraggo il record corrispondente alla email della tabella utente -------------------------------------
while($row = $db->Row()){
?>
<tr>
<td>
<div class="checkbox checkbox-replace">
<?php
$appoggio="chk-1".$row->idriparazione;
?>
<input type="checkbox" onclick="javascript:incremento_contatore('<?php echo $appoggio;?>');" name="idriparazione<?php echo $i;?>" value="<?=$row->idriparazione;?>" id="<?php echo $appoggio; ?>">
</div>
</td>
<td>
<?=$row->nscheda?>
</td>
<td>
<?=$row->dataingresso?></td>
<td><?=$row->cognome?> <?=$row->nome?></td>
<td><?=$row->marca?> <?=$row->articolo?></td>
<td><?=$row->tipoassistenza?></td>
<td><?=$row->negozio?></td>
</tr>
<?php $i++; }
?>
</tbody>
</table>
<br><br>
<input type="hidden" value="ok" name="modifica">
</form>
non arriva allo script idriparazione, non ho la più pallida idea di perchè