Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Tabela na podstawie danych z bazy
Forum PHP.pl > Forum > Przedszkole
dehaes
Witam! Potrzebuje przygotowac tabele z 3 pozycjami z bazy MySQL, ktora bedzie wygladac tak:

-----------------------------------------------------------------------------------
+ OBRAZEK_PROMO_1 + OBRAZEK_PROMO_2 + OBRAZEK_PROMO_3 +
+---------------------------------------------------------------------------------
+ TYTUL_PROMO_1 + TYTUL_PROMO_2 + TYTUL_PROMO_3 +
+--------------------------------------------------------------------------------+
+ OPIS_PROMO_1 + OPIS_PROMO_2 + OPIS_PROMO_3 +
+--------------------------------------------------------------------------------+
+ LINK_PROMO_1 + LINK_PROMO_2 + LINK_PROMO_3 +
+--------------------------------------------------------------------------------+

kazda z 3 powyzych promocji jest losowo pobierana z bazy. mam problem z kodem bo jak zrobie jedna czesc to juz zapytanie jest puste i nie wiem co dalej. jesli ktos pomoze, bede bardzo wdzieczny! smile.gif
Lejto
ja będę bardzo wdzięczny jak pokarzesz swój kod

edit: next post @Neeke zgadzam się, rozpisz bardziej swój problem @dehaes
Neeke
wsumie nierozumiem zabardzo oco ci tu chodzi z precyzuj dokladniej co masz za efekt do osiagniecia z ktorym sobie nieradzisz
dehaes
Losowanie 3 roznych promocji z rozlozeniem kazdej na jedna kolumne z 4 wierszami - obrazek, tytul, krotki opis, link

moj kod:

  1. <?php
  2. echo "<center>";
  3. echo "<table cellspacing='0' cellpadding='0' border='0' height='270px' width='720px'><tr>";
  4.  
  5.  
  6. for ($i = 0; $i <3; $i++) {
  7. $result = dbquery(
  8. "SELECT * FROM ".$db_prefix."promo ORDER BY RAND() LIMIT 3"
  9. );
  10. $data=dbarray($result);
  11. $promo_foto = $data['promo_foto'];
  12. $promo_tytul = $data['promo_tytul'];
  13. $promo_adres = $data['promo_adres'];
  14. $promo_opis_krotki = $data['promo_opis_krotki'];
  15. $promo_id = $data['promo_id'];
  16. echo "<td><table cellspacing='0' cellpadding='0' border='0' height='270px' width='240px'><tr><td class='promo_ost_".$i."'>";
  17. if ($data['promo_foto'] && file_exists(PROMOFOTO.$data['promo_foto'])){
  18. echo "<center><a href='".BASEDIR."$promo_adres.html' title='$promo_tytul'><img src='".PROMOFOTO.$data['promo_foto']."' alt='$promo_tytul' border='0'></a></center>";
  19. } else {
  20. echo "<center>brak obrazka</center>";
  21. }
  22. echo "</td>";
  23.  
  24. echo "</tr>
  25.  <td class='promo_ost_1'><a href='".BASEDIR."$promo_adres.html'>$promo_tytul</a></td>
  26.  </tr>
  27.  <tr>
  28.  <td class='promo_ost_2'>$promo_opis_krotki</td>
  29.  </tr>
  30.  <tr>
  31.  <td class='promo_ost_3'><img src='".THEME."img/promo_strzalka.png' alt='' /> <a href='".BASEDIR."$promo_adres.html' class='promo_3ost' title='$promo_tytul'>Dowiedz się więcej!</a></td>
  32.  </tr></table></td>";
  33.  
  34. }
  35. echo "</tr></table></center>";
  36. ?>


Przy tym kodzie mi sie to sypie bo czasami losuje 2 a nawet 3 takie same pozycje. Jak robie 4 rozne zapytania to nie ma zgodnosci pomiedzy np. tytulem a obrazkiem. Pomocy smile.gif
Neeke
tu masz nonsens zrobiony wykonujesz petle 3 razy ktora wykonuje 3 zapytania do bazy poz warunkiem pobrania 3 rekordow? czyli wsumie zwraca ci 9 takich samych rekordow ... przemysl dokladniej zapytania
  1. <?php
  2. $sql = "SELECT * FROM tabela LIMIT 3";
  3.  
  4.  
  5. while($query = dbquery($sql){
  6.  
  7. .......
  8.  
  9. }
  10. ?>


Jeszcze jak dobrze pamietam to mozesz pobrac przedzial id od -do i urzyć funkcji sround(); czy jakos tak ktora wylosuje ci id z zakresu podanych jej cyfr
dehaes
a moglbys jakos bardziej rozwinac mysl ? smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.