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

    problema stampa dell'id

    sto per diventare pazzo, ma mi arrendo al fatto di essere un novellino. ancora tantro da imparare

    questa è la mia query

    <?

    $query="SELECT * FROM amici LEFT JOIN hobby ON amici.id_ami=hobby.id_ami ";
    $risultato= mysql_query($query);
    ?>
    <table.........

    <?
    while($rigo=mysql_fetch_array($risultato)){
    ?>
    .....<?=$rigo['cognome']?>...................

    <td bgcolor="#FFffcc"> www
    <?
    }
    ?>
    </table>

    adesso vorrei che cliccando su www si accedesse all'indirizzo scheda_doc.php?id_doc=l'id corrispondente al rigo. per quelli che hanno una corrispondenza sulla prima tabella e nella seconda, mi stampa l'id dopo l'uguale. se invece non trova corrispondenza nella seconda tabella nel campo id_amico, mi stampa id= e basta. dove caviolo è l'errore?
    con left join mi da il rigo anche se non c'è corrispondenza (negli altri casi no!!!), ma rimane il rpoblema resta l'href..........

    aiutooooooooooooooooooooooooo

    grazie

  2. #2
    puoi postare la struttura delle tabelle.
    Comunque devi usare INNER e non LEFT

    Ciao
    Scuba
    Stefano De Simone
    http://www.blackice.it Raccolta Script,C#,php,Ajax

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    70
    ho due tabelle

    amici

    id_amici int
    nome varchar not null
    cognome varchar not null

    hobby

    id_hobby int
    id_amici varchar null
    primo hobby varchar null
    ............

    ho provato con INNER JOIN, ma se non trova alcuna corrispondenza nella seconda tabella in id_amici, non mi mostra il nome dell'amico. solo con la left join lo fa vedere ma nell'indirizzo per veder epoi la scheda non mi accoda l'id_amici, perhè scecondo me lo prende dalla seconda tabella in base al ciclo che ti ho mostrato. sai aiutarmi?

  4. #4
    te lo fà perchè hai fatto un pò di casino con il select...
    togli l'asterisco, e cerca di non metterlo MAI... meglio se selezioni sempre con cura i campi che ti interessano, così eviti errori come questo...
    Praticamente, hai 2 id_ami riferenti a due tabelle... mysql te li estrae, ma tu quando lo leggi, vai a leggere l'ultimo, che essendo dell'ultima tabella, ti ritorna vuoto, capito?

    praticamente dalla prima tabella ti esce id_ami = 1, ma nella seconda tabella non è valorizzato, e quindi accade che id_ami = ''

    Capito?

    Quindi, correggi la query così:

    $query="SELECT amici.id_ami FROM amici LEFT JOIN hobby ON amici.id_ami=hobby.id_ami ";

    e vedrai che andrà

    ...::: DESIDERARE E' UMANO :::...
    ...::: POSSEDERE E' DIVINO :::...
    ...::: HAVE A NICE DAY :::...
    (¯`·.¸¸.->ĐĮ ĦΞŁŁ<-.¸¸.·`¯)
    http://www.djhellclub.com

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.