Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql] Funkcja w pętli, potrzebny jakiś cache
Coolmax
post
Post #1





Grupa: Zarejestrowani
Postów: 168
Pomógł: 0
Dołączył: 12.11.2005
Skąd: Bulowice nearby Wadowice (E), Oświęcim (W)

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


Właśnie zauważyłem bezsensowność mojego kodu. Nie mam pomysłu jak go poprawić:
  1. <?php
  2. function data($column, $no) {
  3. connection();
  4. $query = "SELECT * FROM ksiazki where active = 1";
  5. $result = mysql_query($query);
  6. $row = mysql_num_rows($result);
  7. mysql_data_seek($result, $no);
  8. $r = mysql_fetch_assoc($result);
  9. print_r($r[$column]);
  10. }
  11. ?>
Podając nazwę kolumny i numer wiersza, zwraca wynik. Miała mi uprościć życie, bo podaje ją w pętli. Dopiero jak dałem ją do pętli, która pobiera całość (ok. 9 kolumn, 21 rekordów [9*21= 189 zapytań]) to zauważyłem, że znacznie spadła wydajność skryptu. Podejrzewm, że wrzucając zapytanie do osobnej funkcji, również bedzie się wykonywała tyle razy ile jest iteracji w pętli. Jest jakieś rozwiązanie tego problemu? (Nie chodzi mi o takie, jakie jest kilka topiców niżej w temacie "cache", pliki odpadają)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kossa
post
Post #2





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

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


Cytat
Teraz funkcja zwracana np. kolumnę authors, o podanym numerze $i, ale co z tego jak za każdym razem, jest wykonywane zapytanie do MySQL'a, a przecież można wykonać (chyba) 1x zapytanie, a potem operować w pętli tylko na zwróconym przez zapytanie "zasobie". Tylko właśnie nie potrafie czegoś takiego wymyślić.


Przyznam się, że wciąż nie rozumiem... albo napisałeś znowu niezbyt jasno albo ja już po całym dniu klepania w klawiaturę nie kojarzę zbyt dobrze.

Mając $i możesz tylko raz pobrać z bazy potrzebny rekord

  1. SELECT kolumna_1,kolumna_n FROM tabela WHERE kolumna_x=$i


Nie rozumiem, co masz na myśli aby później coś w pętli wykonywać.
Mając zwrócony rekord możesz już z nim zrobić wszystko. Co chcesz zrobić - napisz jaśniej.


Łukasz
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: 27.12.2025 - 04:07