Visualizzazione dei risultati da 1 a 7 su 7

Discussione: join tra tabelle

  1. #1

    join tra tabelle

    eccomi qui... allora raga..dopo un pò di esercizio con mysql...rieccomi con php..
    quello che mi chiedo è come fare quello che faccio con inner join con php
    posto il codice
    film_id|titolo|tipo=>tabella film
    gen_id|genre=> tabella generi
    con mysql
    mysql> select film_id,generi.genere,titolo
    -> from film
    -> inner join generi
    -> on film.tipo=generi.id;
    +---------+----------+----------+
    | film_id | genere | titolo |
    +---------+----------+----------+
    | 1 | horror | pippo |
    | 2 | commedia | goku |
    | 3 | horror | vegeta |
    |+---------+----------+----------+

    ora lo stesso con php
    Codice PHP:
    <?php include "header.php"; include ("connection.php"); 
    $db=mysql_connect($db_host,$db_user,$db_password)or die ("non si   connette");
     
    mysql_select_db("videoteca") or die ("sbagli db"); 
      
    $pippo="select (film_id, generi.genere,titolo) from (film,generi) where  
     flim.tipo=generi.id"
    $results=mysql_query($pippo) or die ("non va"); 
    while (
    $row=mysql_fetch_assoc($results))
    { foreach (
    $row as $wall){ echo $wall;  echo "";  } echo "
    "
    ; }
     
    ?>
    ma la funzione echo mi dice che non va... come mai ???
    è un asino chi non vuol capire no non capisce!

  2. #2
    ma cos'e' questo flim .... ?

    $pippo="select (film_id, generi.genere,titolo)
    from (film,generi)
    where flim.tipo=generi.id";

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

  3. #3
    Originariamente inviato da piero.mac
    ma cos'e' questo flim .... ?

    $pippo="select (film_id, generi.genere,titolo)
    from (film,generi)
    where flim.tipo=generi.id";
    ciao pietro... allora film è la tabella che contiene i titoli dei film e nella quale alla voce "tipo" ci sono i nr che ne dovrebbero indicare il genere, c'è poi un'altra tabella "generi" che ha solo 2 campi "id_genere" e "genere", dovrei fare in modo(come ho fatto con sql) php associ ai nr di "tipo" contenuti nella tabella "film" gli "Id" contenuti nella tabella "generi".
    è un asino chi non vuol capire no non capisce!

  4. #4
    allora si scrive FILM.TIPO e non FLIM.TIPO

    controlla lo script.

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

  5. #5
    mizzica... hai voglia a sbatterci la testa... cmq... alla fine ho modificato lo script come lo riporta il libro ovvero
    Codice PHP:
    $pippo="select film.titolo,generi.genere from 
    film,generi where   film.tipo=generi.id"

    e funziona.. grazie
    ora... quello che mi chiedo(anche se sono ancora all'inizio) mettendo il caso che volessi fare un db "videoteca" ad es. mi devo ricordare ogni volta che ad 1 nella tabelle film è associato "horror" nella tabella generi ????etc etc...
    scusate la domanda stupida
    è un asino chi non vuol capire no non capisce!

  6. #6
    Originariamente inviato da lamerone
    ora... quello che mi chiedo(anche se sono ancora all'inizio) mettendo il caso che volessi fare un db "videoteca" ad es. mi devo ricordare ogni volta che ad 1 nella tabelle film è associato "horror" nella tabella generi ????etc etc...
    scusate la domanda stupida
    e ci mancherebbe che devi ricordarlo tu. Lo fai ricordare a mysql.

    La query diventera':

    Codice PHP:
    $pippo "select film.titolo, generi.genere 
             from film, generi 
             where film.tipo=generi.id
                   AND film.tipo = 'horror' "

    Prendi la buona abitudine di scrivere le query con uno comando per riga, e' piu' facile da leggere ed eventualmente modificare. Per trovare facilmente errori banali utilizza la funzione mysql_error().

    Codice PHP:
    $results mysql_query($pippo) or die ("non va: " mysql_error()); 

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

  7. #7
    grazie piero... è che ancora non sono abitutato ai tag php del forum... cmq... terrò presente..
    per quanto riguarda la stringa mysql_error() ho letto sul libro che resitutuisce gli errori di mysql direttamente.. quindi la inserirò nei prossimi listati

    grazie per l'anticipazione che troverò di sicuro + avanti nel cammino
    grazie ancora ed alla prossima
    è un asino chi non vuol capire no non capisce!

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.