Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    33

    join ......che casino!..aiutino?

    Ciao raga mi sono incasinato con le lezioni di php di html.it sono arrivato a realizzare un join di due tabelle e la pagina non mi restituisce nulla. Ci sta qualcuno che mi sappia dire se le righe di codice sono esatte?


    $query = "SELECT news.titolo, news.testo, news.data, news.nome AS autore, autori.mail FROM news, autori WHERE news.nome = autori.nome AND id='$id'";

    $result = mysql_query($query, $db);
    while ($row = mysql_fetch_array($result))
    { echo "<a href=\"view.php?id=$row[id]\">" . date("j/n/y", $row[data]) . " - $row[titolo] - $row[autore] -$[mail]</a>
    "; }
    chi cerca trova.....

  2. #2
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    Codice PHP:
    $query 
    "SELECT news.titolo, news.testo, news.data, news.nome AS autore, autori.mail 
    FROM news 
    JOIN autori 
    ON news.id_autore=autori.id 
    WHERE id='"
    .$id."'"
    sarebbe interessante conoscere il processo mentale per il quale una join si realizza... senza join :rollo:

    id_autore è il campo nella tabella news con il quale ti riferisci alle tuple in autori per legare gli autori alle proprie news..
    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

  3. #3
    codice:
    SELECT news.titolo, 
    news.testo, 
    news.data, 
    news.nome AS autore, 
    autori.mail 
    FROM news, autori 
    WHERE news.nome = autori.nome 
    AND id = '$id'
    La query e' corretta ed e' la forma theta di un INNER JOIN

    Verifica che corrispondano l'id con l'uguaglianza richiesta. Metti anche la tabella nell'id. news.id oppure autori.id

    Nella query aggiungi la segnalazione di errore mysql_error().

    Hai un errore nel while ma forse solo di distrazione.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    33

    ehmmm dunque....

    dunque ho due tabelle la tb NEWS con i campi id, testo, data, nome e una tb AUTORI con nome , che si ripete,e il campo mail, vorrei che il contenuto di entrambe venisse visualizzato come se le due tb fossero una sola....sto studiano lezioni di html.it che mi indicavano di inserire le righe di codice che precedentemente pubblicato....
    grazie!
    chi cerca trova.....

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    33

    mi precipito!!

    grazie !!!! ora ci provo!
    chi cerca trova.....

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    33

    che strano???

    quale è l'errore nel while?
    il codice cmq non funziona la pagina non mi restituisce nulla neppure errori come se nelle tb non vi fosse nulla ma vi assicuro che i dati ci sono, infatti se opero sui dati della singola tb li riesco a visualizzare?
    cosa sarà????
    chi cerca trova.....

  7. #7

    Re: che strano???

    Originariamente inviato da maorri
    quale è l'errore nel while?
    il codice cmq non funziona la pagina non mi restituisce nulla neppure errori come se nelle tb non vi fosse nulla ma vi assicuro che i dati ci sono, infatti se opero sui dati della singola tb li riesco a visualizzare?
    cosa sarà????
    Ti ho detto che deve esserci l'uguaglianza (equi-join) di news.nome = autori.nome e nello stesso tempo l'id deve essere = 1.

    Togli l'AND e vedi se hai risultati.

    nel while l'ultima variabile che stampi e' errata.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    chiedo venia per il commentino pungente che effettivamente non aveva senso...
    cmq nel codice che ho postato prima c'era pure la correzione dell'id nella where
    metti id='".$id."' mi sono dimenticato di segnalartelo, l'ho solo corretto
    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

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.