Ciao Biagiopas,
ho risolto il problema cosi', gli vuoi dare uno sguardo. Tu in che modo lo avresti risolto?
//Controllo se l'utente vuole effettuare la ricerca per nome o e-mail
if (isset($_POST['ricerca'])){
$ricnome=$_POST['nome'];
$ricmailfonte=$_POST['mailfonte'];
//ricerca per nome e preparo la query
if ($ricnome){
$queryname="select * from segnalatori where nik='$ricnome'";
}
//ricerca per e-mail
elseif ($ricmailfonte){
$queryname="select * from segnalatori where mail='$ricmailfonte'";
}
//nessuna ricerca prego riprovare
else{
echo "non è possibile effettuare la ricerca!
";
exit();
}
//effettuo la query
$datiric=@mysql_query($queryname);
if (!$datiric){
echo "nessuna dato trovato
";
exit();
}
//query riuscita
// preparo i risultati in un form con un checkbox
// che serve per sapere da un elenco quale eliminare
echo "<table border='1'>";
echo "<form action='" . $_SERVER['PHP_SELF'] . "' method='post'>";
echo "<tr>";
echo "<th>Selezione</th><th>Id</<th><th>Nik</th><th>E-Mail</th><th>Note</th>";
echo "</tr>";
$riga=null;
$contaid="";
//qui devi considera la l'array $riga. E' importate perche' contiene il risultato
//della ricerca. E' questo l'array che ti dicevo.
//Non posso accedere in seguito a quest array nello specifico dove trovi la
//seguente istruzione "if (isset($_POST['elric']))" vedi sotto.
while($riga=mysql_fetch_array($datiric)){
echo "<tr>";
$idform=$riga['idsegnalatore'];
echo "<td><input type='checkbox' name='$idform'></td>";
echo "<td>".$riga['idsegnalatore']."</td><td>".$riga['nik']."</td><td>".$riga['mail']."</td><td>".$riga['note']."</td>";
echo "</tr>";
// La soluzione che ho trovato..
//la variabile $contaid conterrà i valori id dei record la eliminare(tutti)
//e ogni id verrà separato da un carattere "-" cosi' da avere una stringa
//del tipo id1-id2-id3-idn
if ($contaid==""){
$contaid=$idform;
}
else{
$contaid=$contaid."-".$idform;
}
}
// La chiave di volta
// il form contiene un campo con la proprietà type='hidden'
// cioè nascosta qui mi conservo la variabile $contaid formattata
//id1-id2-idn da recupera in seguito rendendola di fatto
// accessibile con il metodo $_POST
echo "<input type='hidden' name='formid' value='$contaid'>";
echo "<tr><td><input type='submit' name='elric' value='Elimina'></td></tr>";
echo "</form>";
echo "</table>";
}
if (isset($_POST['elric'])){
//Elimina gli elementi selezionati
//QUI MI RECUPERO GL'ID FORMATTATI CHE TI DICEVO
//CONTENUTI NELLA VARIABILE $contaid vedi sopra e con il metodo post
$conta=$_POST['formid'];
//creo un array da trattare con il metofo foreach
$arrid=explode("-",$conta);
//scorre il numero elementi dell'array
foreach($arrid as $valore){
//E FINALMENTE CONTROLLO SE IL CHECKBOX CHE AVRA'
//COME NOME IL VALORE ID DEL NOMINATIVO DA ELIMINARE
//E' STATO SELEZIONATO.
if (isset($_POST[$valore])){
//IL CHECKBOX E' STATO SELEZIONATO
//QUINDI L'UTENTE VUOLE ELIMINARE IL NOMINATIVO.
$queryelimina="delete from segnalatori where idsegnalatore=$valore";
$resul=@mysql_query($queryelimina);
if($resul){
echo "Nominativo eliminato!
";
}
else{
echo "impossible eliminare il nominativo!
";
}
}
}
}
//****************F I N E*********************
Il problema come vedi era di visibilità dell'array $riga[].
Tu che ne dici?
Ti posso mandare il listato intero ordinato e indentato a dovere cosi da essere maggiormente leggibile.
Grazie sempre è comunque.
Rocco