Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    309

    validare checkbox all'interno di un ciclo

    ciao a tutti, vi spiego subito il problema.
    in un form, che sta all'interno di un ciclo, ci sta una checkbox che se selezionata, esegue una determinata operazione (cioè l'eliminazione di un record nel DB).
    I problemi sono 2 in realta, perche 1 non riesco a validare la checkbox, 2 se come risultato ho più record, quindi più checkbox, non so come cavolo fare per cancellare solo i record selezionati! spero di essermi spiegata bene... vi posto il codice

    questo, sarebbe il codice del form

    Codice PHP:
    while($riga mysql_fetch_array($risultato)){
    $selezione=$riga[id];
    echo 
    "<td bgcolor='#EBEBEB'><center><input type='checkbox' name='selezione' value='$selezione'></center></td>
    <td width='30%' bgcolor='#FFFFEC'><font face='Arial' size='2'> 
    $riga[mittente]</td>
    <td width='29%' bgcolor='#EBEBEB'><font size='2' face='Arial'> 
    $riga[oggetto] [img]$riga[smile][/img]</td>
    <td width='17%' bgcolor='#FFFFEC'><font face='Arial' size='2'> 
    $riga[data_invio]</td>
    <td width='10%' bgcolor='#EBEBEB'><font face='Arial' size='2'><center><a href=archivia_messaggio.php?id=
    $selezione>
    [img]ima/folder.gif[/img]</a></td>
    <td width='10%' bgcolor='#FFFFEC'><font face='Arial' size='2'><center><a href=visualizza_messaggio.php?id=
    $selezione>
    [img]ima/visualizza_mess.png[/img]</a></td>
    </tr>"
    ;

    e la pagina che riceve i risultati è questa:

    Codice PHP:
    if ($selezione='0'){
    echo 
    "non hai selezionato nessun messaggio!";
    } else {
    $sql "delete from messaggi where id = $_POST[selezione]";
    $query mysql_query ($sql) or die (mysql_error());
      echo 
    "i messaggi selezionati sono stati cancellati!";
        } 
    grazie a tutti coloro che mi vorranno dare una mano!

  2. #2
    metti le parentesi quadre alla fine del nome

    <input type='checkbox' name='selezione[]' value='$selezione'>

    in php ti arrivera un array con tutti i checkbox selezionati es: $_POST['selezione'][0] sarà uguale al primo id selezionato

    Codice PHP:
    for ( $i $i count $_POST['selezione'] ) ; $i++ )
    {
        
    mysql_query '.... where id=' $_POST['selezione'][$i] ) ;

    Chiamatemi sven se volete non ho voglia di fare una nuova email per una nuova registrazione xD
    Mac Future User , Ventilatore for PC Cooler user , - dry is coming -

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    309
    wow grazie! provo subito

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    309
    non cancella nessun messaggio

    pagina del form:
    Codice PHP:
    while($riga mysql_fetch_array($risultato)){
    $selezione=$riga[id];
    echo 
    "<td bgcolor='#EBEBEB'><center><input type='checkbox' [B]name='selezione[]' value='$selezione'[/B] ></center></td>
    <td width='30%' bgcolor='#FFFFEC'><font face='Arial' size='2'> 
    $riga[mittente]</td>
    <td width='29%' bgcolor='#EBEBEB'><font size='2' face='Arial'> 
    $riga[oggetto] [img]$riga[smile][/img]</td>
    <td width='17%' bgcolor='#FFFFEC'><font face='Arial' size='2'> 
    $riga[data_invio]</td>
    <td width='10%' bgcolor='#EBEBEB'><font face='Arial' size='2'><center><a href=archivia_messaggio.php?id=
    $selezione>
    [img]ima/folder.gif[/img]</a></td>
    <td width='10%' bgcolor='#FFFFEC'><font face='Arial' size='2'><center><a href=visualizza_messaggio.php?id=
    $selezione>
    [img]ima/visualizza_mess.png[/img]</a></td>
    </tr>"
    ;

    la pagina che riceve i dati:
    Codice PHP:
    for ( $i $i count $_POST['selezione'] ) ; $i++ ) 

    mysql_query 'DELETE * from messaggi where id=' $_POST['selezione'][$i] ) 
    }; 
    come mai??

  5. #5
    stampa la query per vedere la sua esattezza
    ciao
    Tremal-Naik
    ******************************
    passa a LINUX
    **********
    la religione e' il freno che impedisce al povero di ammazzare il ricco

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    309
    hem.. :master:
    cioè dovrei stampare questo intendi?

    echo ".$_POST['selezione'][$i]
    ";

    perchè così mi da questo mess di errore:
    Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\wamp\www\members\elimina_messaggi.php on line 140

  7. #7
    $sql = "DELETE * from messaggi where id=' . $_POST['selezione'][$i]";
    echo $sql;
    Tremal-Naik
    ******************************
    passa a LINUX
    **********
    la religione e' il freno che impedisce al povero di ammazzare il ricco

  8. #8
    la query è sbagliata
    Codice PHP:
    for ( $i $i count $_POST['selezione'] ) ; $i++ )
    {
        
    mysql_query 'DELETE messaggi where id=' $_POST['selezione'][$i] ) ;
    }; 
    Chiamatemi sven se volete non ho voglia di fare una nuova email per una nuova registrazione xD
    Mac Future User , Ventilatore for PC Cooler user , - dry is coming -

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    309
    sembra giusta...
    stampa questo
    DELETE * from messaggi where id=9
    DELETE * from messaggi where id=12
    DELETE * from messaggi where id=15
    DELETE * from messaggi where id=16

    cioè i checkbox selezionati...
    però non li cancella!

  10. #10
    ti ho risposto su... la sintassi della query è sbagliata
    Chiamatemi sven se volete non ho voglia di fare una nuova email per una nuova registrazione xD
    Mac Future User , Ventilatore for PC Cooler user , - dry is coming -

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 © 2024 vBulletin Solutions, Inc. All rights reserved.