Visualizzazione risultati 1 fino 20 di 20

Discussione: Quante query consuma questa pagina?

  1. #1
    L'avatar di FantaGalla
    FantaGalla non è connesso Utente
    Data registrazione
    01-07-2003
    Messaggi
    245

    Predefinito Quante query consuma questa pagina?

    Ho questa pagina:

    Codice:
    <div align="center">
    	<table border="1" width="550" id="table1" style="border-collapse: collapse">
    		<tr>
    			<td colspan="5" bgcolor="#C0C0C0">
    			<p align="center"><font color="#FF0000" size="4">Probabili Formazioni</font></td>
    		</tr>
    		<tr>
    			<td align="center" width="110" bgcolor="#292E34"><b>
    			<font color="#00FF00">ASCOLI</font></b></td>
    			<td align="center" width="110" bgcolor="#292E34"><b>
    			<font color="#00FF00">CAGLIARI</font></b></td>
    			<td align="center" width="110" bgcolor="#292E34"><b>
    			<font color="#00FF00">CHIEVO</font></b></td>
    			<td align="center" width="110" bgcolor="#292E34"><b>
    			<font color="#00FF00">EMPOLI</font></b></td>
    			<td align="center" width="110" bgcolor="#292E34"><b>
    			<font color="#00FF00">FIORENTINA</font></b></td>
    		</tr>
    		<tr>
    			<td align="center" width="110"><? include ("view_ascoli.php") ?></td>
    			<td align="center" width="110"><? include ("view_cagliari.php") ?></td>
    			<td align="center" width="110"><? include ("view_chievo.php") ?></td>
    			<td align="center" width="110"><? include ("view_empoli.php") ?></td>
    			<td align="center" width="110"><? include ("view_fiorentina.php") ?></td>
    		</tr>
    		<tr>
    			<td align="center" width="110" bgcolor="#292E34"><b>
    			<font color="#00FF00">INTER</font></b></td>
    			<td align="center" width="110" bgcolor="#292E34"><b>
    			<font color="#00FF00">JUVENTUS</font></b></td>
    			<td align="center" width="110" bgcolor="#292E34"><b>
    			<font color="#00FF00">LAZIO</font></b></td>
    			<td align="center" width="110" bgcolor="#292E34"><b>
    			<font color="#00FF00">LECCE</font></b></td>
    			<td align="center" width="110" bgcolor="#292E34"><b>
    			<font color="#00FF00">LIVORNO</font></b></td>
    		</tr>
    		<tr>
    			<td align="center" width="110"><? include ("view_inter.php") ?></td>
    			<td align="center" width="110"><? include ("view_juve.php") ?></td>
    			<td align="center" width="110"><? include ("view_lazio.php") ?></td>
    			<td align="center" width="110"><? include ("view_lecce.php") ?></td>
    			<td align="center" width="110"><? include ("view_livorno.php") ?></td>
    		</tr>
    		<tr>
    			<td align="center" width="110" bgcolor="#292E34"><b>
    			<font color="#00FF00">MESSINA</font></b></td>
    			<td align="center" width="110" bgcolor="#292E34"><b>
    			<font color="#00FF00">MILAN</font></b></td>
    			<td align="center" width="110" bgcolor="#292E34"><b>
    			<font color="#00FF00">PALERMO</font></b></td>
    			<td align="center" width="110" bgcolor="#292E34"><b>
    			<font color="#00FF00">PARMA</font></b></td>
    			<td align="center" width="110" bgcolor="#292E34"><b>
    			<font color="#00FF00">REGGINA</font></b></td>
    		</tr>
    		<tr>
    			<td align="center" width="110"><? include ("view_messina.php") ?></td>
    			<td align="center" width="110"><? include ("view_milan.php") ?></td>
    			<td align="center" width="110"><? include ("view_palermo.php") ?></td>
    			<td align="center" width="110"><? include ("view_parma.php") ?></td>
    			<td align="center" width="110"><? include ("view_reggina.php") ?></td>
    		</tr>
    		<tr>
    			<td align="center" width="110" bgcolor="#292E34"><b>
    			<font color="#00FF00">ROMA</font></b></td>
    			<td align="center" width="110" bgcolor="#292E34"><b>
    			<font color="#00FF00">SAMPDORIA</font></b></td>
    			<td align="center" width="110" bgcolor="#292E34"><b>
    			<font color="#00FF00">SIENA</font></b></td>
    			<td align="center" width="110" bgcolor="#292E34"><b>
    			<font color="#00FF00">TREVISO</font></b></td>
    			<td align="center" width="110" bgcolor="#292E34"><b>
    			<font color="#00FF00">UDINESE</font></b></td>
    		</tr>
    		<tr>
    			<td align="center" width="110"><? include ("view_roma.php") ?></td>
    			<td align="center" width="110"><? include ("view_sampdoria.php") ?></td>
    			<td align="center" width="110"><? include ("view_siena.php") ?></td>
    			<td align="center" width="110"><? include ("view_treviso.php") ?></td>
    			<td align="center" width="110"><? include ("view_udinese.php") ?></td>
    		</tr>
    	</table>
    </div>




    e ogni include prevede questo testo:

    Codice PHP:
    <?php
    include("config.inc.php");
    $db = mysql_connect($host, $username, $password) or die("Errore durante la connessione al database");
    mysql_select_db($database, $db) or die("Errore durante la selezione del database");

    $query = "SELECT * FROM `phpbb_posts_text` WHERE post_id = 2440";

    $result = mysql_query($query, $db);
    while (
    $row = mysql_fetch_array($result))
    echo
    nl2br($row['post_text']);

    mysql_close($db);
    ?>



    mi sa che consumi parecchie query ad ogni accesso...come posso ottimizzare?mi dite qualche consiglio?grazie
    Ultima modifica di radioradianti : 20-02-2006 alle ore 17.53.30

  2. #2
    Guest

    Predefinito

    Non so se ho capito bene: vuoi visualizzare lo stesso testo in ogni cella?
    In questo caso potresti, al posto di
    Codice PHP:
    echo nl2br($row['post_text']);
    mettere
    Codice PHP:
    $txt = nl2br($row['post_text']);
    e fare l'include una volta sola all'inizio della pagina, e mettere
    Codice PHP:
    echo $txt;
    al posto di tutti gli include.

  3. #3
    L'avatar di seneca
    seneca non è connesso Super Moderatore
    Data registrazione
    18-12-2004
    Residenza
    la Città Eterna
    Messaggi
    8,376

    Predefinito

    Citazione Originalmente inviato da tuttoeniente2
    Non so se ho capito bene: vuoi visualizzare lo stesso testo in ogni cella?
    No, perchè in ogni pagina viene visualizzata la formazione di una delle squadre


    -- Aut Roma Aut Nihil!

  4. #4
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Citazione Originalmente inviato da seneca
    No, perchè in ogni pagina viene visualizzata la formazione di una delle squadre
    Ma se la query è sempre la stessa visualizza sempre la stessa cosa.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  5. #5
    L'avatar di seneca
    seneca non è connesso Super Moderatore
    Data registrazione
    18-12-2004
    Residenza
    la Città Eterna
    Messaggi
    8,376

    Predefinito

    Citazione Originalmente inviato da funcool
    Ma se la query è sempre la stessa visualizza sempre la stessa cosa.
    Questa è la query d'esempio, ma in ognuna cambia il valore post_id a seconda se chiedo la formazione della Roma, dell' Inter, del Lecce o via dicendo:
    $query = "SELECT * FROM `phpbb_posts_text` WHERE post_id = 2440";
    In ogni caso l'accesso al db avviene per ognuna di queste richieste e non una volta sola, anche se il testo/risultato fosse sempre lo stesso



    -- Aut Roma Aut Nihil!

  6. #6
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Come faccio a sapere io che Seneca e FantaGalla sono lo stesso utente?
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  7. #7
    L'avatar di radioradianti
    radioradianti non è connesso Utente storico
    Data registrazione
    26-11-2003
    Residenza
    Roma
    Messaggi
    1,000

    Predefinito

    @FantaGalla : per favore quando scrivi del codice utilizza i tag appropriati altrimenti escono dei post chilometrici.

    Ciao

    Leandro

    E' on line il numero 12 di Topolinux - Totalmente rinnovato!
    TopoLinux è anche chat! irc.azzurra.org canale #topolinux
    La semplicità di questo dono è inversamente proporzionale alla qualità della nostra amicizia

  8. #8
    L'avatar di seneca
    seneca non è connesso Super Moderatore
    Data registrazione
    18-12-2004
    Residenza
    la Città Eterna
    Messaggi
    8,376

    Predefinito

    Citazione Originalmente inviato da funcool
    Come faccio a sapere io che Seneca e FantaGalla sono lo stesso utente?
    Ma infatti mica siamo lo stesso utente! che faccio, scrivo una domanda con un nick e poi mi rispondo da solo con un altro???? quella cosa che ho scritto l'ho solo dedotta leggendo il codice...


    -- Aut Roma Aut Nihil!

  9. #9
    L'avatar di FantaGalla
    FantaGalla non è connesso Utente
    Data registrazione
    01-07-2003
    Messaggi
    245

    Predefinito

    l'id da visualizzare è diverso per ogni cella...

    vorrei capire:
    1 - Quante query consuma ad ogni visualizzazione
    2 - C'è un modo per rendere la cosa più snella?

  10. #10
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Se la query cambia sempre non credo ci sia la possibilità di ottimizzarla.
    Se ci spieghi come è formata la tabella e che dati devi prendere è più facile aiutarti.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  11. #11
    L'avatar di FantaGalla
    FantaGalla non è connesso Utente
    Data registrazione
    01-07-2003
    Messaggi
    245

    Predefinito

    è una tabella di phpbb forum.

    Scrivo il testo nel topic e poi lo recupero anch con quest script in una pagina del sito...

  12. #12
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Non so come sono fate le tabelle del PhpBB.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  13. #13
    L'avatar di FantaGalla
    FantaGalla non è connesso Utente
    Data registrazione
    01-07-2003
    Messaggi
    245

    Predefinito

    post_id bbcode_uid post_subject post_text

  14. #14
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Potresti fare un'unica query:
    Codice:
    SELECT * FROM `phpbb_posts_text` WHERE post_id=2440 OR post_id=2441 ...
    Mettendo con l'OR tutte i post_id che devi recuperare. Poi con un ciclo while potresti vedere se il post_id è di una squadra e lo scrivi altrimenti no.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  15. #15
    L'avatar di FantaGalla
    FantaGalla non è connesso Utente
    Data registrazione
    01-07-2003
    Messaggi
    245

    Predefinito

    allora, innanzitutto ho trovato che se metto:

    SELECT post_text FROM `phpbb_posts_text` WHERE post_id=2440

    è più snello perchè cerca solo il dato che mi serve...

    per cviàò che dicevi tu funcool?
    come dovrei farlo il ciclo?ripeto che non so nulla di php....

  16. #16
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    La query sarà:
    Codice:
    SELECT post_id,post_text FROM `phpbb_posts_text` WHERE post_id=2440 OR post_id=2441 OR ...
    Il codice PHP che poi dovrai modificare per le tue esigenze sarà:
    Codice PHP:
    $result = mysql_query($query, $db);
    $formazioni=array();
    while (
    $row = mysql_fetch_array($result)) {
    $formazioni[][0]=$row['post_id'];
    $formazioni[][1]=$row['post_text'];
    }
    mysql_close($db);
    E lo metterai all'inizio della pagina.
    Nei vari include potrai mettere:
    Codice PHP:
    for($i=0;$i<count($formazioni);$i++)
    if (
    $formazioni[][0]==2440)
    echo
    nl2br($formazioni[][1]);
    Al posto di 2440 metti il numero della squadra.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  17. #17
    L'avatar di FantaGalla
    FantaGalla non è connesso Utente
    Data registrazione
    01-07-2003
    Messaggi
    245

    Predefinito

    quindi questo in sostanza mi fa fare meno query?
    oppure le query rimangono le stesse ma meglio strutturate?

  18. #18
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Citazione Originalmente inviato da FantaGalla
    quindi questo in sostanza mi fa fare meno query?
    oppure le query rimangono le stesse ma meglio strutturate?
    La query sarebbe una sola.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  19. #19
    L'avatar di FantaGalla
    FantaGalla non è connesso Utente
    Data registrazione
    01-07-2003
    Messaggi
    245

    Predefinito

    c'è un mod per sostituire WHER post_id=xxx OR yyy OR www
    ?

    in pratica mettere WHERE e poi i valori entro cui deve essere compreso post_id
    un range in sostanza

  20. #20
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Sì.
    Codice:
    ... WHERE post_id>=xxx AND WHERE post_id<=yyy
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •