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

      Fa una cosa.

      RESPIRA.
      E ripeti PIANO PIANO il problema, magari stando attento a scrivere, grazie. 🙂

      0 Miglior Risposta Ringrazia Cita Rispondi

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

        allora:

        col ciclo for che cè nel file scorro quella tabella e metto i valori(in base alla select) nella tabella.
        nella tabella ci sn altri campi vuoti che devono essere riempiti con dei valori presi nello stesso modo da un altra tabella.
        non so come mettre l'altro ciclo for!

        il ciclo for da aggiungere è questo:

        $query = "SELECT * FROM propone";
        $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);

        0 Miglior Risposta Ringrazia Cita Rispondi

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

          mi sn dimenticato di scrivere che i valori devono appunto essere messi nell tabella html presente nel file

          0 Miglior Risposta Ringrazia Cita Rispondi

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