Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> losowe wybieranie rekordów w połączeniu ze sprawdzaniem plików
Arek00
post
Post #1





Grupa: Zarejestrowani
Postów: 177
Pomógł: 0
Dołączył: 8.11.2005

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


mam tabelę w której pierwsza kolumna to identyfikatory. w jednym z folderów są pliki o nazwach takich jak te identyfikatory, z tym że nie dla każdego wpisu w bazie jest taki plik. chciałbym terez wybierać losowo 3 wpisy dla których istnieje ten plik, na razie przyszło mi do głowy coś takiego (kod na razie tylko teoretyczny, nie sprawdzałem go)
  1. <?php
  2. $zapytanie = db_query("SELECT * FROM tabela ORDER BY rand()");
  3.  while ($zapytanie2 = db_fetch_array($zapytanie) && $i<=3){
  4. $zdjecie = "fotki/" . $zapytanie2['indeks'] . ".jpg";
  5. if (file_exists($zdjecie)){
  6.  echo $zapytanie2['nazwa'] . "<br>";
  7.  echo $zapytanie2['opis'] . "<br>";
  8.  echo "<img src=" . $zdjecie . "><br><br>";
  9.  $i++;
  10. }
  11.  }
  12. ?>

tutaj najpierw wybieram wszystkie rekordy i potem dopiero sprawdzam po kolei czy istnieje plik. czy da się to zrobić jakoś prościej tak żeby nie wykonywać tylu pętli?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Arek00
post
Post #2





Grupa: Zarejestrowani
Postów: 177
Pomógł: 0
Dołączył: 8.11.2005

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


mam jedną kolumnę w której może być (ale nie musi) adres do fotki z zewnętrznego serwera.

pomijając chwilowo skrypt o którym mowa, wyświetlanie fotki do opisu produktu wygląda tak:

1. sprawdzam czy jest coś w tym polu, jeśli tak to wyświetlam tą fotkę
2. jeżeli to pole jest puste to sprawdzam czy mam plik na dysku i wyświetlam fotkę
3. jeśli w obu przypadkach nie mam nic to nie wyświetlam fotki

idąc twoim sposobem:

1. sprawdzam pierwsze pole - jeśli coś jest wyświetlam fotkę
2. jeżeli pierwsze pole jest puste to sprawdzam drugie pole - jeśli coś jest wyświetlam fotkę
3. jeśli w obu nic nie ma nie wyświetlam nic

jaka jest różnica pomiędzy tymi sposobami? mowa jest o fotce w opisie pojedyńczego produktu czyli to zapytanie nie jest aż tak mocno wykorzystywane. w tej chwili dla mnie różnica to dodatkowe dane w bazie danych w formie drugiej kolumny z indeksami fotek

z drugiej strony (i na to się teraz nastawiam) każdy nowy produkt który wstawiam jest już z fotką u mnie więc fotki z obcego serwera są powoli wypierane. w takim razie mógłbym zostawić jedną kolumnę i wpisywać do niej nazwy fotek lub biorąc pod uwagę że nazwa jest taka jak indeks produktu to wystarczyłoby wtedy wpisywać np. 'x' gdy produkt posiada fotkę i wtedy zrobienie skryptu którym zacząłem post było by bardzo proste. natomiast minusem tego rozwiązania było by to że gdybym sobie przypadkiem skasował jakąś fotkę (z dysku) to na stronie będzie wyświetlany jej brak (generowany przez przeglądarkę) no ale to już można okresowo sprawdzać jakimś skryptem czy 'x' z bazy pokrywa się z tym co jest na dysku. kolejnym minusem będzie to że w tej chwili gdy nie mam fotki i chce ją dodać to poprostu wrzucam ją do odpowiedniego katalogu a w tym (lub twoim) rozwiązaniu musiałbym dodatkowo pamiętać żeby wstawiać 'x' do bazy danych
póki co muszę sobie jakoś sprawdzić ile jeszcze fotek jest pobieranych z zewnętrznego serwera, jeśli niewiele to zabieram się za zmiany skryptów...

Ten post edytował Arek00 5.06.2006, 15:17:32
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: 3.10.2025 - 04:41