Allego la parte di creazione della lista (quindi il ciclo while).
Codice PHP:
$Ag = mysql_query("SELECT IDUtenteMaster, IDUtenteDetail, cognome, nome FROM agenti, utenti WHERE IDUtenteDetail = id AND IDUtenteMaster = $id");
$tabella = "agenti";
//creo dinamicamente la tabella con i dati trovati
while ($row = mysql_fetch_assoc($Ag)) {
$ret .= "<tr class=\"$td_class\">";
$ret .= "<td width=\"16px\" class=buttons>";
$ret .= "<form action=\"?q=sistema/utenti/eliminaAgenti\" method=post>";
$ret .= html_par("IDUtenteMaster", $id);
$ret .= html_par("tabella", $tabella);
$ret .= html_par("IDUtenteDetail", $row["IDUtenteDetail"]);
$ret .= "<input alt=\"elimina agente\" type=\"image\" onclick=\"return askConfirm();\" src=\"images/icons/delete.gif\">";
$ret .= "</form>";
$ret .= "</td>";
$ret .= "<td nowrap width=\"86px\">"." ".$row["cognome"]." ".$row["nome"]."</td>";
$ret .= "</tr>";
$td_class = ($td_class == "light" ? "dark" : "light");
}
$ret .= "</table>";
Questa porzione di codice viene usata per cancellare degli elementi dalla lista. Funziona correttamente per tutti gli elementi tranne il primo (della lista)
Il form richiama una funzione presente nella stessa pagina attraverso un case ( case EliminaAgenti -> funzione di eliminazione)
Codice PHP:
function eliminaAgente_utente()
{
global $utente;
if (!check_login() || $utente->ruolo < R_ADMIN)
{
return ACCESS_DENIED;
}
$master = $_POST['IDUtenteMaster'];
$detail = $_POST['IDUtenteDetail'];
if ($id == "-1")
{
append_msg("Eliminzione record non riuscita.");
}
else
{
$strSql = "DELETE FROM agenti WHERE IDUtenteMaster= $master AND IDUtenteDetail= $detail";
if (ExecuteQuery($strSql))
{
append_msg("Eliminzione record riuscita.");
}
else
{
$msg = "Eliminzione utente non riuscita.";
append_msg($msg);
}
}
return OK;
}
Spero che cosi possa essere tutto più chiaro.