Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    36

    Come si registrano questi dati su Mysql??

    Ciao, a tutti
    Qualcuno potrebbe consigliarmi il metodo migliore per gestire questa cosa?

    Io ho una tabella utenti con 100 iscritti.
    Ognuno ha il suo id.
    Vorrei poi una tabella amici in cui ci siano due colonne

    id, id_amico

    Se Marco, nella tabella utenti, ha ID 1, e come amici ha coloro che hanno id 10, 20, 30, 40, 50
    nella tabella amici dovrei avere queste righe?

    id id_amico
    1 10
    1 20
    1 30
    1 40
    1 50

    e poi in php la query sarà "seleziona tutti gli id amico da amici dove id = 1"
    giusto?

    ma non è troppo pesante fare la tabella in questo modo?
    Non ci sono altre soluzioni?

    Non è possibile fare una cosa del genere?
    id id_amico
    1 10, 20, 30, 40, 50
    Mettere quindi tutti i valori in una riga sola?


    Grazie mille

  2. #2

    Re: Come si registrano questi dati su Mysql??

    Originariamente inviato da Bombuji
    ...
    Non è possibile fare una cosa del genere?
    id id_amico
    1 10, 20, 30, 40, 50
    Mettere quindi tutti i valori in una riga sola?
    E come fai a sapere a priori quanti amici avrà un certo utente?
    Comunque la soluzione da te proposta è la più corretta ed ottimale.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    36
    Ma infatti non devo conoscere a priori quanti amici avrà un utente...
    E poi... quale soluzione?!

  4. #4
    Originariamente inviato da Bombuji
    Ma infatti non devo conoscere a priori quanti amici avrà un utente...
    E poi... quale soluzione?!
    ...mi sfugge qualcosa che per caso sei uno con lo stesso nick di quello che ha postato il primo messaggio? Ora, se l'italiano non è un'opinione io ho letto un post nel quale si prospetta la soluzione ad un problema e la richiesta sull'effettiva validità di tale metodo!
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    36
    Le soluzioni ipotizzate semmai erano due

  6. #6
    Se tu volessi mettere tutti gli ID degli amici su un'unica riga dovresti avere una colonna per ogni ID, ma siccome non puoi sapere a priori quanti amici esso avrà la soluzione non è praticabile. L'alternativa sarebbe quella di concatenare gli ID in un'unica stringa in un unico campo, ma mi rifiuto di considerare una simile soluzione in quanto indecente
    Per cui la prima soluzione è l'unica percorribile e tra l'altro quella corretta
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    36
    Non intendevo una colonna per ogni id...
    Ma avere una colonna che contenta più valori. Oppure caricare un'array sul database che contenga gli id di tutti gli amici.
    Mi sembra strano che la soluzione migliore sia quella di creare una riga per ogni amico...
    se ho 100 utenti e ofnuno di loro avesse come amico tutti gli altri 99 mi sembra strano che la soluzione migliore sia quella di creare 99 righe per ognuno dei 100 utenti.
    10.000 riga per registrare gli amici di 100 persone...

  8. #8
    Originariamente inviato da Bombuji
    Non intendevo una colonna per ogni id...
    Ma avere una colonna che contenta più valori. Oppure caricare un'array sul database che contenga gli id di tutti gli amici.
    Mi sembra strano che la soluzione migliore sia quella di creare una riga per ogni amico...
    se ho 100 utenti e ofnuno di loro avesse come amico tutti gli altri 99 mi sembra strano che la soluzione migliore sia quella di creare 99 righe per ognuno dei 100 utenti.
    10.000 riga per registrare gli amici di 100 persone...
    Mettiti l'animo in pace...è la soluzione migliore ...e non perchè lo dica io, sia chiaro.
    Se in qualche modo tu riuscissi ad inserire tutti i valori in un'unica colonna, come faresti a recuperare tutti gli amici di un utente? Con la soluzione standard ti basta fare una semplicissima join, con eventuali altre soluzioni, l'unica sarebbe effettuare più query dati elaborati in qualche modo oppure inventarsi qualche strana e complicata function o stored procedure.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    36
    Non è possibile avere 2 colonne
    una id
    e l'altra id_amici
    e nella colonna id_amici caricarci un array {10, 20, 30, 40, 50}
    se devo sapere tutti gli amici di id_1 mi basterebbe riprendermi l'array e fare un foreach
    se devo toglierne o aggiungerne qualcuno uso le classiche funzioni per gli array
    Non sarebbe possibile?

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.