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

    elencare dati di un campo

    Buongiorno a tutti..... piccolo problemino... enorme x me

    dunque.... dovrei riuscire a creare un elenco dei dati inseriti in un record.... faccio un esempio xchè nn riesco a spiegarmi, di conseguenza nn riesco a fare la giusta ricerca e forse anche il titolo del post nn è corretto....

    es. creazione db di una pizzeria:
    id:1
    pizza: margherita
    ingredienti: pomodoro, mozzarella (presi da un'altra tabella e selezionati tramite checkbox)

    questo riesco a farlo tranquillamente...... ed ecco il problema.....
    ogni ingrediente dovrebbe essere cliccabile xchè dovrebbe portare alla pagina "caratteristiche"
    il mio problema quindi è creare un elenco dei dati inseriti nel campo "ingredienti" di un record...... l'alternativa è:
    id:1
    pizza: margherita
    ingredienti: pomodoro

    id:2
    pizza: margherita
    ingredienti: mozzarella


    credo che ci sia un metodo migliore, giusto?
    grazie per ora

  2. #2
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Questo è un classico esempio di relazione molti-a-molti. quindi

    Tab pizze
    id - nome - descr. - ...

    Tab ingredienti
    id - nome - descr. - ...

    Tab ingredienti_pizze
    id - pizza_id - ingrediente_id

  3. #3
    si praticamente è quello che già faccio, ma in questo modo creo un record con un solo ingrediente.........

    id:1
    pizza: margherita
    ingredienti: pomodoro

    id:2
    pizza: margherita
    ingredienti: mozzarella

    e non
    id:1
    pizza: margherita
    ingredienti: pomodoro, mozzarella

  4. #4
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Nella relazione n-a-n doversti avere, ad esempio

    Tab pizze
    1 Margherita
    ...

    Tab ingredienti
    1 Pomodoro
    2 Mozzarella
    ...

    Tab ingredienti_pizze (id pizza_id ingrediente_id)
    1 1 1
    2 1 2

    E' l'ultima tabella che ti crea l'associazione

  5. #5
    si si, questo l'avevo capito e lo so fare.....

    è che pensavo, e soprattutto speravo, che ci fosse una soluzione per poter fare

    Tab pizze
    1 Margherita
    ...

    Tab ingredienti
    1 Pomodoro
    2 Mozzarella
    ...

    Tab ingredienti_pizze (id pizza_id ingrediente_id)
    1 1 1,2

    e con una query o con del codice php, elaborare i dati 1,2 in
    1
    2
    per poterli linkare ad altro....
    grazie cmq

  6. #6
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    così, al volo:
    - esegui una select sul db unendo la tabella di correlazione pizza/ingredienti con quella ingredienti e pizze;
    - prendendo solo una pizza, il risultato conterrà un record per ogni ingrediente che sta su quella pizza;
    - per ogni record, gestisci la lista degli ingredienti.

    Quello che proponi tu, gestire pizza/ingredienti con un record per pizza e una serie di id separati da virgola, è quanto di meno efficiente puoi realizzare: immagina solo il bordello per modificare un ingrediente...

  7. #7
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Puoi sempre mettere la lista degli id in un campo di tab pizze ed eliminare la tabella ingredienti_pizze

    Tab pizze
    id nome ingredinti
    1 Margherita 1,2

    Tab ingredienti
    1 Pomodoro
    2 Mozzarella

    Per prendere gli ingredienti poi ti basta fare
    SELECT * FROM ingredienti WHERE id IN ($ingredienti)
    dove $ingredienti è il campo della tab pizze per il record 1

    Comunque ti consiglio di usare la terza tabella perchè ti semplifichi la vita se vuoi evitare ripetizioni di ingredienti, cancellarne o aggiungerne altri.
    Inoltre potresti facilmente ottenere l'associazione inversa, ovvero la lista delle pizze che hanno un determinato ingrediente

  8. #8
    uff... x semplificare la vita ai clienti, ce la complicano sempre a noi

    cmq la ripetizione degli ingredienti serve, xchè ogni pizza può avere più ingredienti e comuni ad altre pizze..... capisco che la terxa tabella sia la soluzione più conveniente, ma volevo evitare che il cliente evitasse di inserire un record per ogni ingrediente.... così invece di inserire 10 record/pizze ne deve inserire 10*tot ingredienti almeno 2 x pizza, siamo già a 20 + altri eventuali ingredienti..... saranno come minimo un centinaio....... riconosco che la cosa sia molto scocciante.....

    cmq, farò qualche prova, grazie a tutti

  9. #9
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Per ripetizioni, intendevo che metti due volte il pomodoro per la margherita...con una lista di id è più complicato (anche se non troppo)

    Poi non ho capito che differenza ci dovebbe essere: il cliente deve comunque scegliere N ingredienti, poi se li salvi in un campo separati da virgole o fai N insert la cosa è trasparente all'utente

  10. #10
    per la trasparenza nn ci sono dubbi.....
    io per ora avevo fatto il pannello in modo che la scelta degli ingredienti viene fatta dalla lista con scelta multipla..... in modo che venga fatto solo un record per pizza, la scocciatura sta nell'inserire un record per ogni ingrediente.... questa era un po' la mia obiezione

    quindi pensavo di poter fare una query che mi estrapolasse il record della pizza e poi, ed è qui che ho l'intoppo, poter mettere in una lista i valori del campo ingredienti.....

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.