• User

    Evitare ripetizione campo

    ciao a tutti. Spero possiate essermi di aiuto. Sonno alle prime armi....

    ho creato un ciclo che mi elenco i miei amici in una colonna ed in quella accanto l'elenco dei loro hobby.
    Vorrei però che non si ripetesse il nome quando gli hobby appartengono allo stesso mi spiego meglio...questo è il risultato che ottengo attualmente:

    es. matteo calcio
    matteo pesca
    luca calcio
    luca pesca

    invece vorrei

    es matteo calcio
    pesca
    luca calcio
    pesca

    sapreste dirmi come fare? vi posto il codic che ho creato...grazie in anticipo

    <?
    $query="SELECT * FROM amici LEFT JOIN hobby ON amici.id_amico=hobby.id_amico;$
    risultato= mysql_query($query);
    ?>
    <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">

    <tr>
    <td> </td>
    <td> </td>
    </tr>
    <tr>
    <td>Cognome e Nome</td>
    <td> hobby</td>
    </tr>
    <tr>
    <?
    while($rigo=mysql_fetch_array($risultato)){
    ?>

    <td>
    <?=$rigo['cognome']?>

    <?=$rigo['nome']?>
    /td>
    <td>
    <?=$rigo['hobby']?>
    </td>
    <?
    }
    ?>


  • Bannato User Attivo

    dovresti ipostare il database in maniera diversa dove magari nello stesso record scrivi più hobby.. tipo

    id nome hobby

    | 01 | paolo | calcio pesca |
    | 02 | marco | nuoto |
    | 03 | piero | calcio |

    da qui poi fai una semplice query

    SELECT * FORM amici

    e a sua volta il ciclo e vedrai che non ci potranno essere problemi.


  • User

    grazie per aver risposto...
    purtroppo ho necessità di avere questa seconda tabella chiamata "hobby" con il campo "nome_hobby" , in quanto contiene altri dai riferiti all'hobby stesso.
    sapreste suggerirmi la soluzione.
    praticamnte mi serve che se l'id_ami di "amici" è uguale all'id_ami di "hobby", mi stampi una sola volta l'id e gli hobby in elenco con while.
    non so come si fa in programmazione.


  • User Attivo

    Dovresti utilizzare piu tabelle per avere il massimo della manegevolezza...
    tipo:
    tabelle:
    pesca
    nuoto
    calcio

    In queste tre tabelle c'è il campo nome, in cui inserisci il nome del praticante


  • User Attivo

    Ciao,
    il suggerimento + semplice da darti è quello di porre un limite
    al numero di hobby, ti spiego
    potresti crearti una tabella

    
    tab_amici
    id_amici
    nome
    hobby1
    hobby2
    fino ad es. a hobby 10
    
    

    poi nel form che visualizzi all'amico con un ciclo for riempi 10 caselle di riepilogo, quelle a discesa per intenderci dalla tabella tab_hobby

    l'intoppo in questo caso 2
    1- dovresti scrivere nella tabella hobby quanti + ne conosci, però questo può essere superato dando la possibilità all'amico di fargli scrivere un ulteriore hobby, tipo
    se il tuo hobby non è il lista clicca qui
    2- che sarebbe l'intoppo vero e che odio tantissimo, il numero degli hobby
    perchè lo odio?
    perchè non sopporto che un programmatore non possa prevedere in questo caso il numero degli hobby

    ciao da Danny