Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766

    Select dati dal db e insert senza while, e' possibile?

    Ho fatto alcune tabelle "temporanee" che saranno riempite con i dati di una registrazione e poi questi dati li inviero' tutti in una tabella finale.

    Quello che voglio capire e' come posso recuperare tutti i dati in modo piu' veloce possibile, cioe' posso evitare di fare il ciclo while?

    Io avevo pensato una cosa tipo:

    $sql = "select * from fatture where id_hotel = \"$id_hotel\"";
    $risultato = @mysql_query($sql,$connessione)
    or die("Impossibile eseguire l'interrogazione.");

    $sql2 = "select * from temp_dati_hotel where id_hotel = \"$id_hotel\"";
    $risultato2 = @mysql_query($sql2,$connessione)
    or die("Impossibile eseguire l'interrogazione.");

    $sql3 = "select * from temp_foto where id_hotel = \"$id_hotel\"";
    $risultato3 = @mysql_query($sql3,$connessione)
    or die("Impossibile eseguire l'interrogazione.");

    $sql4 = "select * from temp_info_hotel where id_hotel = \"$id_hotel\"";
    $risultato4 = @mysql_query($sql4,$connessione)
    or die("Impossibile eseguire l'interrogazione.");

    $sql5 = "select * from temp_servizi where id_hotel = \"$id_hotel\"";
    $risultato5 = @mysql_query($sql5,$connessione)
    or die("Impossibile eseguire l'interrogazione.");


    e poi sotto faccio una query che inserisce tutti questi dati nella tabella chiamata DATI.

    Qualche consiglio per velocizzare il tutto lo avete?

  2. #2
    con il while secondo me ci metti meno o.0

  3. #3
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766
    Originariamente inviato da goikiu
    con il while secondo me ci metti meno o.0
    si ma poi se ci metto il while, poi scrivermi anche tutti i campi ogni volta, per questo chiedevo se era possibile farlo senza scrivere tutti i campi

  4. #4
    cosa intendi con scriverti? o.0

  5. #5
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766
    nel senso che per tutte le tabelle devo scrivere anche il codice del ciclo while e cioe' cosi':

    $sql1 = "select * from temp_dati where id= \"$id\"";
    $risultato1 = @mysql_query($sql1,$connessione)
    or die("Impossibile eseguire l'interrogazione.");
    while ($riga = mysql_fetch_array($risultato1)) {
    $id= $riga['id'];
    $directory = $riga['directory'];
    $data = $riga['data'];
    $persona = $riga['persona'];
    }



    Oppure posso anche scrivere solamente le query senza il ciclo?
    in questo modo

    $sql1 = "select * from temp_dati where id= \"$id\"";
    $risultato1 = @mysql_query($sql1,$connessione)
    or die("Impossibile eseguire l'interrogazione.");

    perche' sono 51 campi, per questo vorrei velocizzare un po' tutto, altrimenti ci metto 3 anni a finirlo

  6. #6
    lol, i nomi dei campi delle varie tabelle saranno diverse immagino

  7. #7
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766
    Originariamente inviato da goikiu
    lol, i nomi dei campi delle varie tabelle saranno diverse immagino
    si nelle varie tabelle temporanee si, poi creo la tabella finale con tutti i campi che stanno nelle temporanee con gli stessi nomi.

    Ora come ora mi esce questo errore

    1136: Column count doesn't match value count at row 1

    che e''?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.