Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    70

    Evitare ripetizione campo

    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>
    <?
    }
    ?>

  2. #2
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    prova cosi

    <?
    $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)){
    $id_amico = $rigo['id_amico'] ;
    $cognome = $rigo['cognome'] ;
    $nome = $rigo['nome'] ;

    if ( $id_amico == $temp_id_amico ) {
    $hobby .= "," . $rigo['hobby'] ;

    }else{
    $temp_id_amico = $id_amico ;
    echo "<td>$cognome $nome</td><td>$hobby</td>";
    $hobby = $rigo['hobby'] ;
    }

    }
    ?>

    l'ho buttata giù al volo... testala e dimmi come va...

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    70
    l'ho provato....

    mi da come risultato

    nome cognome hobby

    senza alcun dato


    p.s. La seconda tabella si chiama "Hobby" ed il campo "nome_hobby", può essere utile specificarlo?
    grazie

  4. #4
    Prova così.... o con qualcosa del genere....

    Codice PHP:
    <?
    $query
    ="SELECT id_amico, nome, cognome, (SELECT hobby FROM hobby WHERE
     hobby.id_amico = amici.id_amico) AS hobby FROM amici"
    ;
    $risultatomysql_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>
    <?
    }
    ?>
    Faranno fatica a credere, quelli che prendono le autorità per la verità, e non la verità come autorità.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    70
    ciao grazie per l'aiuto....

    un chiarimento

    <?
    $query="SELECT id_amico, nome, cognome, (SELECT hobby FROM hobby WHERE
    hobby.id_amico = amici.id_amico) AS hobby FROM amici";
    $risultato= mysql_query($query);
    ?>

    un pò di confusione con hobby(nome tabella) e nome_hobby(nome campo), potresti dirmi dove è uno e dove l'altro?vedo sempre e solo hobby

  6. #6
    Te la metto così ma è solo per identificare i nomi, poi lo modifichi con i nomi giusti...

    TB_ = tabella
    CP_ = campo (nel caso di "AS CP_hobby" ti restituisce come un campo di nome CP_hobby)

    Codice PHP:
    <?
    $query
    ="SELECT CP_id_amico, CP_nome, CP_cognome, (SELECT CP_hobby FROM TB_hobby WHERE
    TB_hobby.id_amico = TB_amici.id_amico) AS CP_hobby FROM TB_amici"
    ;
    $risultatomysql_query($query);
    ?>
    Faranno fatica a credere, quelli che prendono le autorità per la verità, e non la verità come autorità.

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.