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. Aiuto query estrazione dati
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • P
      pettedemon User Attivo • ultima modifica di

      Aiuto query estrazione dati

      Ciao a tutti.
      Ho una tabella di un database dove vorrei conservare i miei dati.
      La tabella contiene 3 campi: id, tipo, contenuto.

      Volevo fare una sola query all'inizio di ogni pagina per estrarre i dati. A questo punto una volta estratti i dati vorrei posizionarli al posto giusto. Ho pensato di fare un array multidimensionale che mi estrae prima tutti i tipi e poi per ogni tipo mi estrae il suo contenuto.

      A questo punto come faccio a far scrivere il giusto contenuto utilizzando l'array creato ?

      [php]$estrai_contenuti="SELECT * FROM contenuti_ita";
      $esegui_estrai= mysql_query($estrai_contenuti,$con) or die ("impossibile eseguire la estrai_contenuti");

      while ($row = mysql_fetch_array($esegui_estrai)) {

      $testi[$row['tipo']][$row['contenuto']] = $row;
      }

      foreach ($testi as $tipo => $array_contenuto) {

      foreach ($array_contenuto as $id => $testi_contenuto) {
        
      }
      

      } [/php]Adesso vorrei estrarre il contenuto del tipo(perche) in una determinata sezione ma non so come richiamarlo.

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • D
        daviderosi User • ultima modifica di

        [PHP]$estrai_contenuti="SELECT * FROM contenuti_ita WHERE tipo='perche'";[/PHP]

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • P
          pettedemon User Attivo • ultima modifica di

          Grazie, questa è la soluzione più semplice ma in una pagina in cui ho 5 contenuti dovrei fare 5 query... cercavo di farne una sola e memorizzare tutti i dati in un unico array e poi estrarli dall'array....

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • F
            freetimeplanet User • ultima modifica di

            Prova utilizando "ORDER BY". In questo modo potrai ordinarli per tipo, e ti ritroverai con prima tutto quelli del tipo 1, poi quelli del tipo 2, etc...
            [php]$estrai_contenuti="SELECT * FROM contenuti_ita ORDER BY tipo asc ";[/php]Se vuoi invertire l'ordine ti basterà sostituire "asc" con "desc". 😉
            Se vuoi interrompere il ciclo o fare output di HTML quando finiscono gli elementi di un tipo basterà inserire un "if" ;).

            E' molto più comodo di quello che cerchi di fare tu... Se poi avevi in mente altro è un'altra questione ;).

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • P
              pettedemon User Attivo • ultima modifica di

              I contenuti non sono sequenziali... quindi non potrei fare in questa maniera...

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • A
                artechbrand User • ultima modifica di

                Potresti costruire un semplice array con chiave il campo 'tipo',
                e come contenuto l'intera riga estratta dal db.

                In pratica sostituisci nel tuo codice originale:

                
                while ($row = mysql_fetch_array($esegui_estrai)) {
                   $testi[$row['tipo']][$row['contenuto']] = $row;
                }  
                
                ```con 
                

                while ($row = mysql_fetch_array($esegui_estrai)) {
                $testi[$row['tipo']] = $row;
                }

                // esempio per accedere ai dati di un tipo

                echo $testi['perche']['contenuto'];

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • P
                  pettedemon User Attivo • ultima modifica di

                  Perfetto!
                  Ti ringrazio! Era proprio quello che volevo!!!
                  Grazieeeeeeeee

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • A
                    artechbrand User • ultima modifica di

                    Bene, piacere mio di averti averti aiutato!

                    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