Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] Optymalizacja zapytań
devbazy
post
Post #1





Grupa: Zarejestrowani
Postów: 93
Pomógł: 4
Dołączył: 10.08.2009

Ostrzeżenie: (0%)
-----


Witam

Przechodząc do sedna sprawy. Chciałbym zoptymalizować poniższe zapytania.

  1. $query = mysql_query("SELECT * FROM stc WHERE id_st=1 AND symbol='G'");
  2. $con .= '<div id="first">';
  3.  
  4. while($smth = mysql_fetch_array($query))
  5. {
  6. $con.= $smth['field'];
  7. }
  8.  
  9. $con.= '</div>';
  10.  
  11. $query = mysql_query("SELECT * FROM stc WHERE id_st=2 AND symbol='G'");
  12. $con .= '<div id="second">';
  13. while($smth = mysql_fetch_array($query))
  14. {
  15. $con .= $smth['field'];
  16. }
  17. $con.= '</div>';


Nie liczę na gotowca, lecz bardziej na wskazówki, informacje na temat funkcji, którymi powinienem się zainteresować.

Ten post edytował solid23 18.11.2009, 19:06:31
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Widzę, że mój pomysł został dobrze zinterpretowany. Tylko zapomniano dopisać drobiazgu, o którym myślałem, że będzie odczytany między wersami. Przy każdym zmieniającym DIVy przejściu pętli $id_st się nadpisuje wartością $smth['id_st'], bo inaczej po zmianie wartości na 2 każdy kolejny wers będzie nowym div, a ma to nastąpić tylko w przypadku zmiany id_st. Dla dwóch różnych id_st algorytm maly_swd będzie moim zdaniem lepszym rozwiązaniem. W przypadku nieograniczonej liczby id_st mała modyfikacja mojego sprawi, że będzie on uniwersalny.

  1. $query = mysql_query("SELECT id_st,field FROM stc WHERE symbol='G' AND id_st > 0 ORDER BY id_st ASC");
  2. $smth = mysql_fetch_array($query);
  3. $id_st = 1;
  4. $con .= '<div id="kolejny_'.$id_st.'">';
  5. while($smth = mysql_fetch_array($query))
  6. {
  7. if($smth['id_st'] != $id_st) {
  8. $con .= '</div><div id="kolejny_'.$smth['id_st'].'">';
  9. $id_st = $smth['id_st'];
  10. }
  11. $con.= $smth['field'];
  12.  
  13. }
  14. $con.= '</div>';

Sam zerknij jak teraz działa dla G, niezależnie od id_st. A wymyślanie wielkiej ilości IF-ów staje się zbędne (IMG:style_emoticons/default/smile.gif)

Ten post edytował thek 20.11.2009, 11:23:40
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 10:08