Il titolo è probabilmente terribile, ma non sapevo come altro sintetizzare il problema.
Quindi cercherò qui di spiegarmi al meglio.
Ho una tabella CLIENTI con dei record, e le colonne sono semplicemente Id,nome,descrizione
Il mio scopo è quello di voler modificare questi record, tramite un pulsante posto in una ulteriore colonna. Al click del pulsante voglio che i dati del cliente vengano visualizzati nella form posta accanto alla tabella. La form comprende i campi NOME e DESCRIZIONE (sono due textbox).
In questo modo tramite il pulsante modifica andrò ad editare i campi, ma questa è un'altra storia.
Il problema è che, qualsiasi sia il record associato al pulsante edit nella tabella, nella form mi visualizza solamente i dati dell'ultimo cliente inserito. Non importa che io spinga il 1-2-3.... record, lui visualizza sempre l'ultimo.
Non riesco a capire il motivo.
Faccio tutto all'interno della stessa pagina, avvalendomi di javascript per visualizzare i dati nella form.
Connessione al db, generazione tabelle etc sono tutte corrette.
Ecco il codice (ho cercato di metterne il minimo possibile per evitare confusione ma se serve altro chiedete pure)
Tabella con relativo codice script
Codice PHP:
<table class="simple-table responsive-table" id="tabella-elenco-clienti">
<thead><tr>//intestazione colonne</tr></thead>
<tbody>
<?php $i=0;
while ($i < $num) {
$nomecliente=mysql_result($risultati,$i,"C_NomeCliente");
$dettaglicliente=mysql_result($risultati,$i,"C_DettagliCliente");
$idcliente=mysql_result($risultati, $i, "C_IdCliente");
?>
<script type="text/javascript"> //la funzione che mi va a mettere i valori
function funzione()
{
document.formcliente.txtnomecliente.value="<?php echo $nomecliente; ?>";
document.formcliente.autoexpanding.value="<?php echo $dettaglicliente; ?>"; }
</script>
<tr>
<td><? echo $nomecliente; ?></td>
<td><? echo $dettaglicliente; ?></td>
<td class="align-right vertical-center">
<span class="button-group compact">
<a onclick="funzione();" class="button icon-pencil" id="editcliente">Edit</a> </span>
</td>
</tr>
<?php
$i++;
}
?>
</tbody>
</table>
questa è invece la form dove voglio stampare i valori
Codice PHP:
<form id="formcliente" method="post" name="formcliente">
<div class="bottoneperinserirecliente">
<h6 class="label-ins">Nome Cliente</h6>
<input type="text" name="txtnomecliente" id="input-2" size="9" class="input full-width" value="">
</div>
<div class="bottoneperinserirecliente">
<h6 class="label-ins">Dettagli Cliente</h6>
<textarea name="autoexpanding" id="autoexpanding" class="input full-witdh autoexpanding"></textarea>
</div>
<div class="bottoneinviocliente">
<input name="invia" type="submit" class="button compact" value="Salva Modifiche" onclick="javascript:formcliente.action='edit-cliente.php';"/>
</div>
</form>
Riporto un esempio pratico:
NOME DESCRIZIONE
Cane Cagnetto
Gatto Gattino
Se io premo il pulsante accanto a gatto gattino, nella form mi vanno i valori corrispondenti, se clicco quello accanto a cane cagnetto, avrò comunque i valori di gatto gattino
Eppure ad ogni record della tabella è associato un pulsante distinto. Non capisco quindi perchè si ostini a prendere solo l'ultimo.
Spero di essere stata chiara.
Grazie in anticipo