Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    inserire più risultati di un forem in un campo SQL

    Cercherò di essere il più chiaro possibile anche se non so se mi riuscira bene!
    Vorrei creare una maling list nel quale utilizzare un form che ha questo codice:
    <select name="lettera" size="1" multiple="multiple">
    <option>a</option>
    <option>b</option>
    <option>c</option>
    <option>d</option>
    <option>e</option>
    </select>

    In questo modo io posso selezionare più lettere...
    Si puà fare?
    ma come li metto nel DB visto che ho una variabile e più valori?
    O come li mette nel DB?
    Il campo nel db come deve essere?

    Mumble mumble mumble...

    Cmq grazie!

  2. #2
    dunque, se non sbaglio, i campi che possono avere più valori, possono essere utilizzati come array. In questo senso:
    tu metti un campo che può prevedere valori multipli, come ad esempio una listbox, e gli dai un nome su html.
    Fatto questo, quando invii il form, lo script di destinazione avrà ad esempio una variabile $_POST o $_GET corrispondente alla listbox, che però non sarà un valore ma un array, e quindi supponendo che la tua listbox si chiami DESTINATARI, potresti avere nello script di destinazione:

    $array_destinatari = $_POST['destinatari'];

    e poi trattare l'array per ciclare l'invio delle mail.
    ... non so se mi sono spiegato bene...
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

  3. #3
    Fondamentalmente è come dice Lathspell.
    Nel db, dovresti creare una nuova tabella dove mapperai le lettere e gli indirizzi.

    In pratica in una tabella memorizzi l'indirizzo e-mail e in un'altra associ all'id dell'indirizzo e-mail le lettere scelte.
    codice:
    e-mail
    
    1 ciao@ciccio.it
    2 bye@bhu.com
    3 bus@londra.it
    ecc
    
    letters
    id e-mail letter
    1   1        d
    2   1        a
    3   2        a
    4   2        c
    5   3        a
    6   3        z
    Capito quello che dico?
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  4. #4
    Forse non mi sono spiegato...come al solito!

    Il form che voglio fare è quello per iscriversi alla mailing list.

    se io metto un Array (Quello fatto con <select name="lettera" size="1" multiple="multiple"> ) come lo metto nel Db?

    Devo fare un ciclo di Insert fino a che l'array non è vuoto?

    Perchè in uno script che ho guardato vengono settati i differenti permessi usando un campo in cui a seconda dei permessi che hai viene scritta una cosa tipo: "1@2@6@" se hai differenti permessi "3@6@7@" qualcosa del genere....

  5. #5
    No, ti sei spigato benissimo.

    Le vie percorribili sono due:

    1) Come hai visto tu, usando un unico campo nel quale inserisci i valori dell'array separati da una stringa di separazione (ottieni questo risultato mediante l'uso di implode() ). Questa però non è una maniera corretta di operare. Forse più intuitiva ma non corretta.

    2) Come ti ho seuugerito io, usare una tabella di mappatura dove ad ogni id utente corrisponde un unico valore. In questo modo puoi inserire da 0 a infiniti valori ed ottenerli tutti, una parte, o nessuno molto facilemente. Quando si progetta un db lo stesso va normalizzato in base ai dati che vanno inseriti.

    La normalizzazione prevede molte regole una delle quli vuole che in un campo sia contenuto uno ed un solo valore.

    A te la scelta. Ciao!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  6. #6

  7. #7
    Guasi mi dimenticassi!(Veramente mi sono dimenticato!)

    Ma come lo metto l'Array nei vari DB?

    Devo fare un ciclo di Insert fino a che l'array non è vuoto?
    Thanks

  8. #8
    A parte il fatto che non metti i dati in vari db ma in un unico db in varie tabelle.

    Detto questo dipende dal metodo che vuoi usare!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  9. #9
    Mircov Calmati!

    Volendo posso mettere i dati in vari DB(Anche se ho sbagliato a scrivere) anche se concettualmente può essere errato ma visto che stò suddividendo il mio sito per aree questo potrebbe essere per me una via per organizzarmi.

    Poi se chiedo è perchè ignoro e vorrei in qualche modo essere guidato.

    Grazie.

  10. #10
    Io lo so che ignori altrimenti non posteresti qui. Forse sono stato brusco ma il senso lo hai capito.

    Anche volendo dividere il sito usare più db sarebbe un suicidio.

    E cmq non mi hai detto che metodo vuoi usare (anche se alla fine si riduce tutto ad uno o più insert).

    1) $_POST['lettera'] = implode( ',' , $_POST['lettera'] ) ;

    INSERT INTO table (field_name) VALUES ( '$_POST[lettera]' )

    2) Esegui il foreach e fai una query per ogni lettera ( oppure domandi sul forum se si può fare tutto con un'unica query: io non lo so )
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

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.