Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. problema ciclo for
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • M
      matti User Attivo • ultima modifica di

      allora le due tabelle sn legate tra loro
      la tab esercizio ha come id: idesercizio
      la tab propone ha come id: idesercizio idstudente

      i valori riesco a recuperarli bene.
      solo che col il primo ciclo for prendo i valori e li stampo nella tabella
      mentre il secondo ciclo for non so come metterlo

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • M
        matti User Attivo • ultima modifica di

        si prendo i valori da due tabelle diverse

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • massy
          massy Moderatore • ultima modifica di

          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 🙂

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • M
            matti User Attivo • ultima modifica di

            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

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • M
              matti User Attivo • ultima modifica di

              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

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • M
                matti User Attivo • ultima modifica di

                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]; 
                
                
                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • massy
                  massy Moderatore • ultima modifica di

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

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

                  🙂

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • M
                    matti User Attivo • ultima modifica di

                    ciao, se metto i nome mi da errore.

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

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • M
                      matti User Attivo • ultima modifica di

                      che faccio??!!!

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • M
                        matti User Attivo • ultima modifica di

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

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • M
                          margheritebianche User Attivo • ultima modifica di

                          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);

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • M
                            matti User Attivo • ultima modifica di

                            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 )

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • M
                              matti User Attivo • ultima modifica di

                              nei campi o messo dei valori a caso

                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • M
                                margheritebianche User Attivo • ultima modifica di

                                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!

                                0 Miglior Risposta Ringrazia Cita Rispondi

                                  1 Risposta Ultima Risposta
                                • M
                                  matti User Attivo • ultima modifica di

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

                                  ciao e grazie ancora

                                  0 Miglior Risposta Ringrazia Cita Rispondi

                                    1 Risposta Ultima Risposta
                                  Caricamento altri post
                                  Rispondi
                                  • Topic risposta
                                  Effettua l'accesso per rispondere
                                  • Da Vecchi a Nuovi
                                  • Da Nuovi a Vecchi
                                  • Più Voti