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.
    • massy
      massy Moderatore • ultima modifica di

      Sarò limitato io ma non ti seguo 😛

      Devi prendere i dati da due tabelle diverse in pratica?
      E se sì, son collegate in qualche modo?
      Se sì anche ora, come? in che rapporto?
      1:1 1:n n:m? Cioè: per ogni dato che prendi dalla prima quanti ne corrispondono nella seconda?

      Lascia perdere il codice. Spiegati. 🙂

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • 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