Visualizzazione dei risultati da 1 a 8 su 8

Discussione: QUERY con piu' tabelle

  1. #1

    QUERY con piu' tabelle

    Ciao,

    ho 2 tabelle.

    nella tabella ALFA
    c'e' un campo NOME e un campo SQUADRA

    nella tabella BETA
    c'e' un campo NOME

    Supponiamo che nella tabella ALFA ho un record di nome PAOLO nella SQUADRA X.
    Nella Tabella BETA ho 3 record di nome PAOLO.

    Come faccio a contare quante volte il nome PAOLO della squadra X compare nella tabella BETA?

    Vorrei ottenere questo. Roma Paolo 3.

    Sto provando cosi

    Codice PHP:
    $query2mysql_query ("SELECT * FROM rose, nazionali WHERE nazionali.giocatore='rose.$sq.nome'");
    while (
    $array2mysql_fetch_array($query2)) {
    echo
    "$array2[0]
    "

    ed in tanti altri modi, ma sono un niubbo e nn ce la faccio...

    Qualcuno puo' cortesemente illuminarmi?

    Grazie!

  2. #2
    Mi sono mezzo illuminato da solo,
    ma cosa c'e' che nn va qui?

    Codice PHP:
    $query2mysql_query ("SELECT *, COUNT(nazionali.giocatore) AS presenze FROM rose, nazionali WHERE rose.nome=nazionali.giocatore AND rose.sq='$sq'");
    while (
    $array2mysql_fetch_array($query2)) {
    echo
    "$array2[3]
    "
    ; } 

  3. #3
    Utente di HTML.it L'avatar di thitan
    Registrato dal
    Feb 2001
    Messaggi
    716
    ...una cosa del tipo:
    Codice PHP:
    <?
    $dati
    =mysql_query("SELECT * FROM tab1");
    while(list(
    $id,$nome,$squadra)=mysql_fetch_array($dati)){
    $mark=mysql_query("SELECT * FROM tab2 WHERE nome='$nome'");
    $num=mysql_num_rows($mark);
    echo 
    "nella tab2 ci sono $num $nome
    "
    ;
    }
    }
    ?>
    ...ti farebbe schifo?

    www.inter-rail.it
    travellers, not tourist
    Is cuma cá mhinice a théann tú ar strae; is é is tábhachtaí gurb áil leat do bhealach a aimsiú arís.

  4. #4
    EHeheheh no non mi fa schifo....

    Pero' avrei bisogno di un'altra cosa.

    In una tabella chiamata rose ho le rose delle squadre con i campi squadra,nome

    In un'altra ho un elenco di giocatori in un campo chimato giocatore

    Quindi immaginiamo che nella tabella rose c'e' la rosa dell'italia. Avro' quindi

    ITALIA ; BUFFON
    ITALIA ; ODDO

    etc etc

    Invece nell'altra tabella ho un elenco di giocatori che potrebbe contenere piu' volte gli stessi nomi.

    BUFFON
    BUFFON
    ODDO
    ODDO

    Voglio ottenere a video

    squadra ITALIA giocatore BUFFON presenze 2
    // ITALIA // ODDO // 2

    Sono arenato qui. Questa query mi da la somma totale, nel caso dell'esempio sopra mi restituirebbe 4.


    [php]
    $query2= mysql_query ("SELECT COUNT(nazionali.giocatore) as presenze FROM rose, nazionali WHERE nazionali.giocatore=rose.nome AND rose.sq='$sq'");
    while ($array2= mysql_fetch_array($query2)) {
    echo"Totale presenze: $array2[presenze]
    "; }
    [php]

    Vorrei gia sapere tutto, mi dispiace intasare il forum..

    Grazie

  5. #5
    Utente di HTML.it L'avatar di thitan
    Registrato dal
    Feb 2001
    Messaggi
    716
    ...e non va bene il mio esempio? verrebbe:
    Codice PHP:
    <?
    $dati
    =mysql_query("SELECT * FROM tab1");
    while(list(
    $id,$nome,$squadra)=mysql_fetch_array($dati)){
    $mark=mysql_query("SELECT * FROM tab2 WHERE nome='$nome'");
    $num=mysql_num_rows($mark);
    echo 
    "nella squadra $squadra ci sono $num $nome
    "
    ;
     }
    }
    ?>
    credo che funzioni...prova!

    p.s: guarda che lo scopo del forum è aiutarsi, non intasi niente!

    www.inter-rail.it
    travellers, not tourist
    Is cuma cá mhinice a théann tú ar strae; is é is tábhachtaí gurb áil leat do bhealach a aimsiú arís.

  6. #6
    Si grande funge, ho dovuto cambiare alcuni parametri perche dentro list mi sballava i campi.

    Senti ovviamente nn so come ringraziarti, pero' non e' che mi potresti spiegare....

    Codice PHP:
    $dati=mysql_query("SELECT * FROM rose WHERE sq='$sq'"); 
    ok vabbe questo per fortuna lo so...

    Codice PHP:
    while(list($id,$sq,$ruolo,$nome)=mysql_fetch_array($dati)){ 
    Perche fai list? praticamente gli indichi cosa contiene l'array $dati?

    Codice PHP:
    $mark=mysql_query("SELECT * FROM nazionali WHERE giocatore='$nome'"); 
    ok...
    Codice PHP:
    $num=mysql_num_rows($mark); 
    Cosa fa esattamente questo comando, conta le righe?
    Non avrei potuto fare solo una query?
    Aiutooooo

    Grazie infinite!

    Paolo

  7. #7
    Utente di HTML.it L'avatar di thitan
    Registrato dal
    Feb 2001
    Messaggi
    716
    list($id,$nome,$squadra)=mysql_fetch_array($dati)
    tradotto in linguaggio umano sarebbe:
    "spezzami l'array $dati in tre variabili (id, nome e squadra)"
    naturalmente nella tua tabella le colonne dovranno essere messe in fila |id|nome|squadra|.

    mysql_num_rows() conta le righe che la query precedente ha estratto dalla tabella.

    www.inter-rail.it
    travellers, not tourist
    Is cuma cá mhinice a théann tú ar strae; is é is tábhachtaí gurb áil leat do bhealach a aimsiú arís.

  8. #8
    Grande grazie, ottima sta cosa del list, ottima

    grazie ancora

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.