Newsgroup: it.comp.www.php
Titolo: crisi mistica da DB e PHP

Ciao a tutti,
ho un problema che mi affligge da giorni, e sta rischiando di rovinare la
mia salute fisica e mentale.
Ho un database con una lista di untenti, con i campi nome, cognome ecc. Li
visualizzo con una tabella html. Fin qui tutto bene. Ora, vicino ad ognuno
dei record metto una checkbox, che mi consente di selezionare i record, per
poterli poi eliminare con un pulsantone finale. In sostanza, il sistema è
simile a quello usato dalla webmail dei provider tipo libero, tin ecc.
Il mio problema è che non so come far capire a php quali sono i record
selezionati. Poichè tutte le caselle vengono create dinamicamente, i loro
nomi sono variabili, e non riesco a "passarle" nè ad una successiva pagina
php, nè ad uno script tipo javascript o vbscript, che comunque sono libero
di utilizzare. La situazione quindi è completamente diversa da un classico
"modulo", tipo quello della registrazione deglii utenti, dove comunque
conosco tutti i nomi dei campi.
Mi rendo conto che la risposta potrebbe essere troppo lunga: mi
accontenterei di un sito o un libro dove poter trovare qualche esempio o
indicazione specifica.
Uso PHP 4.0 e database MySQL. Per lo script sono libero di usare qualunque
cosa, anche se mi trovo meglio con VBscript.
Grazie a tutti per le (spero numerose) risposte
Simale
(... un programmatore disperato...)

 ha scritto nel messaggio
news:eyShb.31370$Zh....@tornado.fastwebnet.it...
| Ciao a tutti,
|
| ho un problema che mi affligge da giorni, e sta rischiando di rovinare la
[...]
| Simale
Avevo anche io il tuo stesso problema ... basta che metti un ulteriora campo
hidden contenente l'ID dell record da eliminare ...in questo modo dovresti
avere l'array $_POST (a seconda di come usi il form) contentnte
nome Array{
    [0] = "none1"
    }
id Array{
    [0] = "idNome1"
    }
scelto Array{
    [0] = ON
    }
dove scelto è la tua check box ... DOVREBBE funzionare ... ora sono un po di
fretta ... ciao!
..::[ Panz ]::..
-----------------------
per rispondere riscrivi in numeri la mia eMail!

 di utilizzare.
<form ...>
<input type="checkbox" name="myselection[]" value="<id>">
<input type="checkbox" name="myselection[]" value="<id>">
<input type="checkbox" name="myselection[]" value="<id>">
<input type="checkbox" name="myselection[]" value="<id>">
...
...
...
<a href="#" onclick="submit();">Cancella selezionati</a>
</form>
Dopo il post, avrai un array contenente i valori degli ID che vuoi cancllare
Ciao, ciao
Devil

 mia salute fisica e mentale.
per così poco! :)
checkbox ha anche la possibilità di selezionare un valore sui checkbox 
segnati in questo modo:
<checkbox name="selezionati[]" value="id">
Basta che al posto di id fai mettere da PHP l'id dell'utente (o comunque 
una chiave unica della tabella).
Dalla pagina nel quale ricevi i risultati del form spedito, iteri su $i 
per ogni valore del checkbox ed esegui
delete from utenti where id=$selezionati[$i]
chiaro ? :)
ciao
Alesi_27

Grazie al vostro intervento ho recuperato la salute fisica, mentale e
spirituale (nonchč il buonumore e una buona parte della domenica). :)
Sappiate che se siete o passate da Roma avete una birra pagata!
Ciao
Simale

 delete from utenti where id=$selezionati[$i]
ancora piů "elegante" potrebbe essere:
$daeliminare=join(",",$selezionati);
e poi fare la query cosě:
delete from utenti where id IN "(".$daeliminare.")"
IN e NOTIN vogliono come argomenti (KEY1,KEY2,......,KEYn) una lista di 
chiavi separate da , e permettono in Where di avere l'effetto di 
appartenenza (e non appartenenza) ad un insieme di chiavi.
con una sola query li elimini tutti e risparmi l'iterazione sulle query 
e tutte le conseguenze di quel tipo di operazione (per esempio se per 
qualche motivo si blocca il ciclo l'eliminazione fa un gran casino).
Ciao Gianfranzo
-- 
ICQ#: 21258924 Nick Gianfranzo
Home page 
http://www.gianfranzo.it
Gianfranzo č contro la guerra
"dopo tutto, gli angeli non sono altro che dei volatili" D. Pennac