Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766

    Check box, chiarimento sulla sua funzionalità

    Ho una specie di webmail che mi tira fuori alcuni record.
    All'inizio ho inserito un checkbox in modo che se lo spunto deve portare a 1 il campo storico del database in modo che se viene impostato a 1 la prossima volta che visualizzo la webmail non viene estratto quell'id.

    Che codice posso mettere per fare cio'?

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Se ho capito bene il tuo problema avrai la tua lista di record ciascuno col suo checkbox.

    Quindi recuperi via post i record selezionati
    $selezionati = $_POST['record'];

    Tramite implode li separi con la virgola

    $aggiorna = implode(',',$selezionati);

    e poi esegui la tua query di aggiornamento

    update tabella set campo = 1 where id in ('$aggiorna');

  3. #3
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766
    Originariamente inviato da nicola75ss
    Se ho capito bene il tuo problema avrai la tua lista di record ciascuno col suo checkbox.

    Quindi recuperi via post i record selezionati
    $selezionati = $_POST['record'];

    Tramite implode li separi con la virgola

    $aggiorna = implode(',',$selezionati);

    e poi esegui la tua query di aggiornamento

    update tabella set campo = 1 where id in ('$aggiorna');
    forse hai capito quello che voglio fare...
    solo che avro' fatto confusione su quello che mi hai scritto

    $selezionati lo metto nella pagina dove estraggo i record, giusto?

    $aggiorna dove lo metto nella pagina dove estraggo i record oppure nella pagina che fa l'update?

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Va tutto nella pagina in cui fai l'update.
    Nella pagina in cui visualizzi i record avrai tutte le checkbox deselezionate. A questo punto selezioni i record che vuoi aggiornare, dai il submit e nella pagina che riceve i dati recuperi il value dei record scelti.

    se ad esempio tu selezioni i record 1 3 5 la variabile aggiorna conterrà 1,3,5 che è poi la sintassi di mysql che serve a te per fare la query di update.
    Spero di essere stato chiaro.

    edit:
    ah, ricordati che nella pagina in cui visualizzi i record gli input checkbox devono essere del tipo

    <input type="checkbox" name="record[]" value="1">

    <input type="checkbox" name="record[]" value="2">


    quindi con le parentesi [].

  5. #5
    No, la soluzione che ti ha proposto Nicola75ss è ottima. Solo che ti ha dato solo la fine della soluzione senza darti l'inizio!

    Per prima cosa le tue checkbox avranno come valore l'id del record.

    Quando viene checkata la checkbox tale valore viene memorizzato nell'array $_POST.

    Quello che nicola ha fatto non è altro che costruire una stringa contenente tutti gli id sui quali operare e l'ha aggiunta alla clausola IN della query:
    Codice PHP:
    $selezionati $_POST['record'];
    $aggiorna implode(',',$selezionati);
    update tabella set campo 1 where id in ('$aggiorna'); 
    C'è, però, un passaggio in più che non serve assolutamente a niente:

    Codice PHP:
    $aggiorna implode(',',$_POST['record']);
    update tabella set campo 1 where id in ('$aggiorna'); 
    Devi modificare la query con il nome della tabella ed il nome del campo e la chiave dell'array post con il nome della checkbox. Ciao!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Originariamente inviato da mircov
    No, la soluzione che ti ha proposto Nicola75ss è ottima. Solo che ti ha dato solo la fine della soluzione senza darti l'inizio!


    Hai ragione mircov. Avevo dato per scontate alcune cose. Mea culpa. Ho precisato dopo.

    edit: hai ragione anche per il fatto di aver usato una variabile in più del necessario. E' un viziaccio che mi porto sempre dietro.

  7. #7
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766
    mi sto perdendo...
    nel file dove estraggo gli id non riesco a numerare in base all'id il check box...
    e poi nella pagina che modifica da 0 a 1 i record selezionati non ho capito cosa mettere o cosa togliere... anche perche' mi da errore:

    Warning: Bad arguments to implode() in file.php
    You have an error in your SQL syntax near ')' at line 1

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Io ti ho fatto questo come esempio
    <input type="checkbox" name="record[]" value="1">

    <input type="checkbox" name="record[]" value="2">


    ma ovviamente tu che recuperi tutti i tuoi record tramite una query al db il value dei singoli record lo devi passare come variabile php. Qualcosa del tipo
    <input type="checkbox" name="record[]" value="<?php echo $id ?>">

  9. #9
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766
    Originariamente inviato da nicola75ss
    Io ti ho fatto questo come esempio
    <input type="checkbox" name="record[]" value="1">

    <input type="checkbox" name="record[]" value="2">


    ma ovviamente tu che recuperi tutti i tuoi record tramite una query al db il value dei singoli record lo devi passare come variabile php. Qualcosa del tipo
    <input type="checkbox" name="record[]" value="<?php echo $id ?>">
    si sto provando come dici tu, ma in value mi da sempre vuoto, mentre dovrebbe uscire l'id estratto, giusto??

    record[] deve chiamarsi proprio cosi' oppure id[]?

  10. #10
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766
    mentre nella pagina che modifica i dati mi esce questo errore


    You have an error in your SQL syntax near ')' at line 1

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.