[QUOTE]Originariamente inviato da Treep
DOVE SBAGLIO??? Non cancella nulla.
LA checkbox con i record, si visualizza regolarmente, ma ogni volta che seleziono e provo a cancellare, mi viene detto "0 record cancellati" !!!



<CODE>
<html><head></head><body bgcolor="#ffc80b"></body>
Codice PHP:
<?php
$DBhost 
"localhost";
$DBuser "root";
$DBpass "";
$DBName "biblioteca";
$table "fornitore";

// richiamo lo script responsabile della connessione a MySQL


$db = @mysql_connect("localhost""root""")
            or die (
"Connessione al db impossibile...");
        @
mysql_select_db("$DBName"$db)
            or die (
"Impossibile selezionare il db...");


if(
$_POST)
{
    
$ids = isset($_POST['Cod_Fornitore']) ? $_POST['Cod_Fornitore'] : array();
    
elimina_record($ids);
}
elseif(isset(
$_GET['Cod_Fornitore']))
{
    
elimina_record(array($_GET['Cod_Fornitore']));
}
else
    
mostra_lista();

function 
mostra_lista()
{
    
// mostro un eventuale messaggio
    
if(isset($_GET['msg']))
        echo 
'[b]'.htmlentities($_GET['msg']).'[/b]

'
;

    
// preparo la query
    
$query "SELECT fornitore.* FROM fornitore";

    
// invio la query
    
$result mysql_query($query);

    
// controllo l'esito
    
if (!$result) {
        die(
"Errore nella query $query: " mysql_error());
    }

    echo 
'
    <form name="form1" method="post" action="">
    <table border="1">
        <tr>
            <th></th>
            <th>Fornitore</th><th>Ragione Sociale</th><th>Indirizzo</th><th>Telefono</th>
            <th></th>
        </tr>'
;

    while (
$row mysql_fetch_assoc($result))
    {
        
$nome htmlentities($row['Cod_Fornitore']);
         
$ragionehtmlentities($row['Ragione_Sociale']);
        
$indirizzohtmlentities($row['Indirizzo']);
        
$telhtmlentities($row['Telefono']);
        
// preparo il link per la modifica dei dati del record
        
$link $_SERVER['PHP_SELF'].'?Cod_Fornitore=' $row['Cod_Fornitore'];
        
        echo 
"<tr>
                <td><input name=\"Cod_Fornitore[]\" type=\"checkbox\" value=\"
$row[Cod_Fornitore]\" /></td>
                <td>
$nome</td><td>$ragione</td><td>$indirizzo</td><td>$tel</td>
                <td><a href=\"
$link\">elimina</a></td>
            </tr>"
;
    }

    echo 
'</table>
        

        <input type="submit" name="Submit" value="Elimina record selezionati" />
        </form>'
;

    
// libero la memoria di PHP occupata dai record estratti con la SELECT
    
mysql_free_result($result);

    
// chiudo la connessione a MySQL
    
mysql_close();
}

function 
elimina_record($ids)
{
    
// verifico che almeno un id sia stato selezionato
    
if(count($ids) < 1)
    {
        
$messaggio urlencode("Nessun record selezionato!");
        
header('location: '.$_SERVER['PHP_SELF'].'?msg='.$messaggio);
        exit;
    }

    
// per precauzione converto gli ID in interi
    
$ids array_map('intval',$ids);

    
// creo una lista di ID per la query
    
$ids implode(',',$ids);

    
// preparo la query
    
$query "DELETE FROM fornitore WHERE Cod_Fornitore IN ($ids)";

    
// invio la query
    
$result mysql_query($query);

    
// controllo l'esito
    
if (!$result) {
        die(
"Errore nella query $query: " mysql_error());
    }

    
// conto il numero di record cancellati
    
$num_record mysql_affected_rows();

    
// libero la memoria di PHP occupata dai record estratti con la SELECT 
mysql_free_result($result); 
    
    
// chiudo la connessione a MySQL
    
mysql_close();

    
$messaggio urlencode("Numero record cancellati: $num_record");
    
header('location: '.$_SERVER['PHP_SELF'].'?msg='.$messaggio);
}
?>