Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di gabar-el
    Registrato dal
    Jun 2006
    Messaggi
    2,222

    primi test codice cancellazione dati db - non visualizzo messaggio

    ciao, ho questo codice (non completo) per la cancellazione dei campi di un db tramite checkbox. Al momento lo stavo giusto testando nelle prime cose (non ci capisco molto di php) e se non seleziono nessuna checkbox dovrebbe restituirmi un errore, invece non mi restituisce nulla.... qualcuno sa dirmi perchè?
    Codice PHP:
    if($_POST)
                    {
                        
    $ids = isset($_POST['id']) ? $_POST['id'] : array();
                        
    elimina_record($ids);
                    }
                    
                    function 
    elimina_record($ids)
                    {
                        if(
    count($ids) < 1)
                        {
                            
    $messaggio urlencode("Nessuna voce selezionata!");
                            
    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
                        
    $sql "DELETE FROM circolari WHERE id IN ($ids)";
                        
                        
    // invio la query
                        
    $result mysql_query($sql);
                        
                        
    // controllo l'esito
                        
    if (!$result) {
                            die(
    "Errore nella query $sql: " mysql_error());
                        }
                          
                        
    // conto il numero di record cancellati
                        
    $num_record mysql_affected_rows();
                        
                        
    // chiudo la connessione a MySQL
                        
    mysql_close($link);
                        
                        
    $messaggio urlencode("Numero voci cancellate: $num_record");
                        
    header('location: '.$_SERVER['PHP_SELF'].'?msg='.$messaggio);
                    } 
    grazie
    Si fanno sempre nuove scoperte

  2. #2
    Inserisci il seguente codice all'inizio del tuo script:

    Codice PHP:
    error_reporting(E_ALL);
    ini_set('display_errors'1); 

  3. #3
    Utente di HTML.it L'avatar di gabar-el
    Registrato dal
    Jun 2006
    Messaggi
    2,222
    grazie,
    non mi torna nessun errore....

    non è che ho scritto male il codice circa il count? magari non essendo scritto bene non mi conta il fatto che non seleziono nessuna checkbox e quindi non ho errori per quello....
    Si fanno sempre nuove scoperte

  4. #4

  5. #5
    Utente di HTML.it L'avatar di gabar-el
    Registrato dal
    Jun 2006
    Messaggi
    2,222
    non so se l'ho inserito bene, ma ricevo questo errore:

    codice:
    Notice: Undefined index: id in C:\Programmi\Apache Software Foundation\Apache2.2\htdocs\miacartella\gestione\elabora_gestione_cancella.php on line 29
    NULL
    l'ho inserito semplicemente all'inizio dello script, così:
    Codice PHP:
    var_dump($_POST['id']); 
    prima dell if post
    grazie
    Si fanno sempre nuove scoperte

  6. #6
    Sei sicuro che i checkbox abbiano name = id e non ids?

  7. #7
    Utente di HTML.it L'avatar di gabar-el
    Registrato dal
    Jun 2006
    Messaggi
    2,222
    mhhh..... si mi sa che avevo un pò di caos, avevano proprio un altro name, ho corretto, ma continuo a ricevere lo stesso errore. forse sbaglio qualcosa circa l'id, perchè lo seleziono con una query, ma non sono sicuro se lo torno bene....

    pagina selezione id da cancellare:
    Codice PHP:
    $sql "SELECT id, titolo, DATE_FORMAT(data_corso_1, '%d-%m-%Y') data_corso_1, DATE_FORMAT(data_corso_2, '%d-%m-%Y') data_corso_2, DATE_FORMAT(data_corso_3, '%d-%m-%Y') data_corso_3, DATE_FORMAT(data_corso_3, '%d-%m-%Y') data_corso_4, data_inserimento
                            FROM circolari
                            ORDER by data_inserimento desc"
    ;
                
                
    $circolari_corsi mysql_query($sql)
                    or die(
    mysql_error());
                    
                    while (
    $row mysql_fetch_array($circolari_corsi))
                        {
                            
    $ids $row['id'];
                            
    $titolo $row['titolo'];
                            
    $data_corso_1 $row['data_corso_1'];
                            
    $data_corso_2 $row['data_corso_2'];
                            
    $data_corso_3 $row['data_corso_3'];
                            
    $data_corso_4 $row['data_corso_4'];
                            
                            echo 
    "
                                <tr>\n
                                    <td class=\"titolo\">
    $titolo</td>
                                    <td class=\"data_cancella\">
    $data_corso_1";
                                    if (
    $data_corso_2 != "")
                                        echo 
    "
    $data_corso_2";
                                    if (
    $data_corso_3 != "")
                                        echo 
    "
    $data_corso_3";
                                    if (
    $data_corso_4 != "")
                                        echo 
    "
    $data_corso_4";
                                    echo 
    "
                                </td><td class=\"flag_cancella\"><input type=\"checkbox\" name=\"id\"</></td></tr>
                                "
    ;
                            
                            }
                            
    mysql_close($link);
                    
    ?> 
    pagina elaborazione:
    Codice PHP:
    error_reporting(E_ALL); 
    ini_set('display_errors'1);
    var_dump($_POST['id']);
                    if(
    $_POST)
                    {
                        
    $ids = isset($_POST['id']) ? $_POST['id'] : array();
                        
    elimina_record($ids);
                    }
                    
                    function 
    elimina_record($ids)
                    {
                        if(
    count($ids) < 1)
                        {
                            
    $messaggio urlencode("Nessuna voce selezionata!");
                            
    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
                        
    $sql "DELETE FROM circolari WHERE id IN ($ids)";
                        
                        
    // invio la query
                        
    $result mysql_query($sql);
                        
                        
    // controllo l'esito
                        
    if (!$result) {
                            die(
    "Errore nella query $sql: " mysql_error());
                        }
                          
                        
    // conto il numero di record cancellati
                        
    $num_record mysql_affected_rows();
                        
                        
    // chiudo la connessione a MySQL
                        
    mysql_close($link);
                        
                        
    $messaggio urlencode("Numero voci cancellate: $num_record");
                        
    header('location: '.$_SERVER['PHP_SELF'].'?msg='.$messaggio);
                    }
                    
                
    ?> 
    grazie
    Si fanno sempre nuove scoperte

  8. #8
    Il tag INPUT non è corretto.

    Utilizza:

    Codice PHP:
    echo '</td><td class="flag_cancella"><input type="checkbox" name="id" value="' $row['id'] . '" /></td></tr>'

  9. #9
    Utente di HTML.it L'avatar di gabar-el
    Registrato dal
    Jun 2006
    Messaggi
    2,222
    ho corretto grazie, ma continuo a ricevere lo stesso errore
    codice:
    Undefined index: id
    ma come può non essere definito, a me pare di si....
    Si fanno sempre nuove scoperte

  10. #10
    Prova con questo codice in modo da passare piu' ID contemporaneamente, ed elimina il var_dump().

    Codice PHP:
    echo '</td><td class="flag_cancella"><input type="checkbox" name="id[]" value="' $row['id'] . '" /></td></tr>'

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.