Ciao a tutti, sono bloccato da un paio di giorni con un problema relativo a una query di aggiornamento multiplo che proprio non ne vuole sapere di funzionare. Spero in un vostro aiuto...
La query deve aggiornare la tabella f_coach del mio db sottraendo da 'coachWallet' il valore 'pl_amount'.
Questo è il form :
Questa è la query:
Ho provato a mettere un exit dopo la query per vedere cosa restituiva e il risultato è stato questo:
All'atto pratico però aggiorna solo la prima riga.
Perchè?
La query deve aggiornare la tabella f_coach del mio db sottraendo da 'coachWallet' il valore 'pl_amount'.
Questo è il form :
PHP:
<form action="<?php echo $editFormAction; ?>" method="POST" name="edit" id="edit">
<table width = "100%">
<tr class="title">
<td class="head">Giocatore</td>
<td class="head">Squadra</td>
<td class="head">Base d'asta</td>
<td class="head">Vincitore Asta</td>
<td class="head">Azioni</td>
</tr>
<?php do { ?>
<tr>
<td class="table1"><?php echo $row_viewauction['playerName']; ?></td>
<td class="table1"><?php echo $row_viewauction['name']; ?></td>
<td class="table1"><?php echo $row_viewauction['a_minimumBid']; ?></td>
<td class="table1"><?php echo $row_viewauction['pl_amount']; ?> - <?php echo $row_viewauction['teamwin']; ?></td>
<td class="table1lastfield"><a href="playerbid_delete.php?recordID=<?php echo $row_viewauction['aucid']; ?>"><img src="http://forum.mrwebmaster.it/images/delete.png" width="25" height="25" alt="Elimina" /></a></td>
<td><input name="pl_amount[]" type="hidden" value="<?php echo $row_viewauction['pl_amount']; ?>" />
<input name="coachID[]" type="hidden" value="<?php echo $row_viewauction['coachID']; ?>" /></td>
</tr>
<?php } while ($row_viewauction = mysql_fetch_assoc($viewauction)); ?>
</table>
<div class="editbutton">
<ul>
<li class="leditcnt"><input class="submitbutton" type="submit" name="edit" value="Aggiorna" /></li>
<li class="lremove"><a href="auction_list.php"><input name="Button" type="button" class="linkbutton" value="Annulla" /></a></li>
</ul> </div>
</form>
Questa è la query:
PHP:
if ((isset($_POST ["edit"]))) {
$amountg = implode(', ', $_POST['pl_amount']);
$coach = implode(', ', $_POST['coachID']);
$updateSQL2 = ("UPDATE f_coach SET coachWallet=coachWallet - ('".$amountg."') WHERE coachID IN ('".$coach."')");
mysql_select_db($database_config, $config);
$Result1 = mysql_query($updateSQL2, $config) or die(mysql_error());
$updateGoTo = "auction_list.php";
if (isset($_SERVER['QUERY_STRING'])) {
$updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
$updateGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $updateGoTo));
}}
Ho provato a mettere un exit dopo la query per vedere cosa restituiva e il risultato è stato questo:
Codice:
UPDATE f_coach SET coachWallet=coachWallet - ('35, 20, 20') WHERE coachID IN('6, 7, 4')
All'atto pratico però aggiorna solo la prima riga.
Perchè?