Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]pomoc w optymalizacji kodu
źrebak
post
Post #1





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 4.05.2005

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


Witam, pracuje nad wyswietlaniem zdjec do ofert z bazy mysql. Zdjecia zapisane sa w bazie w polach typu BLOB. Pod kazda oferta mam link - Zobacz zdjecia - po kliknieciu ktorego przenosimy sie do pliku foto.php o nastepujacej tresci:
  1. <?php
  2. $sql = &#092;"SELECT unikat FROM zdjecia WHERE sygnatura = '$sygnatura'\"; //unikat to 'id' zdjecia
  3. $result = @mysql_query($sql);
  4. $num_results = mysql_num_rows($result);
  5. $i=0;
  6. if ($num_results !=0)
  7.  {
  8.  for ($i=0; $i <$num_results; $i++)
  9.  {
  10. $row = mysql_fetch_array($result);
  11. PRINT &#092;"<a href=\"unikat.php?unikat={$row[0]}\">Zdjęcie</a>\"; //
  12. PRINT &#092;"<BR>\";
  13.  }
  14.  }
  15. else
  16. PRINT &#092;"Niestety ta oferta nie posiada zdjęć\";
  17.  
  18. ?>

Plik ten wykonuje sie bardzo dlugo, nie wiem dlaczego:( jak go mozna zoptymalizowac?

Tresc pliku unikat.php:
  1. <?php
  2. header('Content-type: image/jpeg');
  3. $sql = &#092;"SELECT foto FROM zdjecia WHERE unikat = '$unikat'\";
  4. $result = @mysql_query($sql, $db);
  5. $dane = @mysql_result($result, 0, 'foto');
  6. $row = mysql_fetch_array ($result);
  7. $num_results = mysql_num_rows($result);
  8.  echo $dane;
  9. ?>


Czyli po kliknieciu na link pod oferta przenosimy sie do pliku foto.php ktory drukuje adresy do poszczegolnych zdjec na podstawie uzyskanych ID z zapytania $sql i dalej po kliknieciu na otrzymany, konkretny juz adres, przenosimy sie do danego zdjecia.

Zalezalo mi, zeby w pliku foto.php nie drukowac adresow typu <a href... tylko od razu <img src= bla bla> zeby wyswietlaly sie od razu obrazki np w jakiejs tabeli ale nie chce to niestety dzialac w ten sposob.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




ja wiem że wydobywasz tylko id. Ale im większa tabela, więcej danych, tym więcej rzeczy trzeba przewertować aby się do czegoś dobrać. Zdjęcia powodują że tabela ci się dość mocno zwiększyla.

Cytat
Indeksy przy sygnaturze ? Co masz na mysli?
No żebyś do tabeli dodał indexowanie po sygnaturze, co powinno ździebko przyspieszyć wyszukiwanie i dobieranie się do danych. Nie wiem jakiego programu używasz do bazy, ale powinno tam ustawianie indexów
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: 26.12.2025 - 18:13