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
nospor
post
Post #2





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




ok. a wiec moim zdaniem masz zle zaprojektowany system do zarzadzania. W jaki sposob zapodajesz fotki dla produktu? Recznie wrzucasz na serwer? Bo wyglada ze tak. Bo gdyby to bylo robione z poziomu aplikacji, to aplikacja by wiedziala czy jest fotka czy nie. Bo to przez nia bys wowczas uploadowal fotke dla produktu, badz tez usuwal. Na tej podstawie aplikacja by zaznaczala dla produktu czy jest fotka czy nie. a potem wyswietlanie losowych zdjec ograniczylo by sie tylko do bazy i znacznie by przyspieszylo proces
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 - 06:15