• Moderatore

    Devi fare una join tra le due tabelle.

    Select * from primatabella as A LEFT join secondatabella as B ON A.idutente=B.idutente WHERE ..... ; ad esempio.

    In pratica dici:
    scegli tutto ciò che c'è nella tabella chiamata primatabella che per semplicità chiamo A, uniscila alla secondatabella che chiamo B usando come regola di unione idutente, uguale per entrambe.

    Spero di averci beccato 🙂


  • User Attivo

    credo che la soluizone sia quella.ho scritto cosi:

    
    $query ="Select * from esercizio as A LEFT join propone as B ON A.idesercizio=B.idesercizio";
    $ris=mysql_query($query) or die("Errore nella query:".mysql_error());
    $numrows = mysql_num_rows($ris);
    for($x=0; $x<$numrows; $x++){
    //Recupero il contenuto di ogni record rovato
    $resrow = mysql_fetch_row($ris);
    $idesercizio=$resrow[0]; 
    $idtutor=$resrow[1]; 
    $titoloesercizio = $resrow[2];
    $argomentoesercizio= $resrow[3];
    $testo= $resrow[4];
    $inviosoluzione= $resrow[5];
    $stato= $resrow[6];
     
    
      
    $numrows1 = mysql_num_rows($ris);
    for($x=0; $x<$numrows1; $x++){
    //Recupero il contenuto di ogni record rovato
    $resrow = mysql_fetch_row($ris);
    $tiposcuola=$resrow[3]; 
    
    

    ma mi stampa solo la prima riga di entrambe le tabelle
    forse ma non so come devo impostare anche la clausola WHERE


  • User Attivo

    ciao massy grazie mille per tutto l'aiuto.
    ho risolto con l'aiuto che mi hai dato.
    la select che mi ha dato è perfetta ho solo dimenticato di togliere un ciclo for.
    ora va benissimo
    grazie ancora
    ciao


  • User Attivo

    mi sn accorto di un problema, cioè non mi stampa i valori presi dalla tabella propone.uffa che sbaglio!!!

    
    $query ="Select * from esercizio as A LEFT join propone as B ON A.idesercizio=B.idesercizio";
    $ris=mysql_query($query) or die("Errore nella query:".mysql_error());
    $numrows = mysql_num_rows($ris);
    for($x=0; $x<$numrows; $x++){
    //Recupero il contenuto di ogni record rovato
    $resrow = mysql_fetch_row($ris);
    
    //questi sono i valori della tabella esrcizio
    $idesercizio=$resrow[0]; 
    $idtutor=$resrow[1]; 
    $titoloesercizio = $resrow[2];
    $argomentoesercizio= $resrow[3];
    $testo= $resrow[4];
    $inviosoluzione= $resrow[5];
    $stato= $resrow[6];
    //questi sono i valori della tabella propone
    $tiposcuola=$resrow[3]; 
    
    

  • Moderatore

    prova a mettere al posto dei numeri, il nome del campo.

    quindi invece di
    $idesercizio=$resrow[0];
    metti
    $idesercizio=$resrow['idesercizio'];

    🙂


  • User Attivo

    ciao, se metto i nome mi da errore.

    e se lascio i numeri, li considera tutti riferiti alla prima tabella.!!


  • User Attivo

    che faccio??!!!


  • User Attivo

    ciao massy nulla.problema ancora non risolto!!!!
    aiuto che sto sbagliando?


  • User Attivo

    Aggiungi una print dei campi dopo la fetch, da quella capisci come puntare i campi (se non lo capisci posti l'output e te lo diciamo):

    $resrow = mysql_fetch_row($ris);
    print_r($resrows);


  • User Attivo

    mi esce questo

    ( [0] => 63 [1] => 47 [2] => aaaaaaa [3] => aaaaaaa [4] => aaaaaa [5] => email [6] => occupato [7] => 294 [8] => 63 [9] => primaria [10] => 1° [11] => aritmetica [12] => [13] => dettagliato ) aaaaaaa aaaaaaa aaaaaaemail aaaaaaa leggi esercizio
    occupato Array ( [0] => 62 [1] => 44 [2] => vvvvvvv [3] => vvvvvvvvv [4] => vvvvvvv [5] => email [6] => occupato [7] => 294 [8] => 62 [9] => primaria [10] => 1° [11] => aritmetica [12] => [13] => dettagliato ) vvvvvvv vvvvvvvvv vvvvvvvemail vvvvvvvvv leggi esercizio
    occupato Array ( [0] => 61 [1] => 44 [2] => hhhhhhhhh [3] => hhhhhhh [4] => hhhhh [5] => email [6] => occupato [7] => 294 [8] => 61 [9] => primaria [10] => 1° [11] => aritmetica [12] => [13] => dettagliato ) hhhhhhhhh hhhhhhh hhhhhemail hhhhhhh leggi esercizio
    occupato Array ( [0] => 60 [1] => 47 [2] => fffff [3] => fffffff [4] => fffffff [5] => email [6] => occupato [7] => 294 [8] => 60 [9] => primaria [10] => 1° [11] => aritmetica [12] => [13] => dettagliato )


  • User Attivo

    nei campi o messo dei valori a caso


  • User Attivo

    Allora, i valori tra quadra sono gli indici, gli elementi che hai sono tutti lì, guarda il campo che ti serve e sai che puoi beccarlo utilizzando $resrows seguito dall'indice tra quadre!


  • User Attivo

    ok perfetto.grazie mille e scusate se non le capisco subito ma ho iniziato da poco con php

    ciao e grazie ancora