Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Wyświetlanie wpisów jak w tumblr
Forum PHP.pl > Forum > Przedszkole
shemko
Witam, mam problem dość prostym kodem.

Pierwsza kwestia, to jak najlepiej ustawić aby wpisy z MySQL wyświetlały się w kolejności od najnowszy do najstarszy tj. najnowszy wpis pojawia się o góry po prawej stronie.
Czy powinienem dodać do wpisów automatyczne ID i wywoływać je według kolejności? W jaki sposób to zrobić?

Druga kwestia, jak zmodyfikować kod aby wpisy wyświetlały się podobnie jak na tumblr, czyli jakby wpisy pojawiały się w pionowych divach obok siebie, a same wpisy wyświetlają się jedne pod drugimi bez przeskoków i dużych przerw.
U mnie wpisy pojawiają się w divach z parametrem float, ze zdjęciami ustawionymi na szerokość 250px. Kiedy wrzuci się zdjęcie prostokątne układ zaczyna wariować.

>>> Jak wygląda strona <<<

Sam kod do wyświetlania wpisów:

  1. <?php
  2.  
  3. $sql = "SELECT * FROM `notes`";
  4. $wykonaj = mysql_query($sql);
  5. while($wiersz = mysql_fetch_assoc($wykonaj)) {
  6.  
  7. $sql1 = 'SELECT * FROM `users` WHERE `user_id` = '.$wiersz['note_id'].'';
  8. $wykonaj1 = mysql_query($sql1);
  9. while($wiersz1 = mysql_fetch_assoc($wykonaj1)) {
  10.  
  11. <div class="post"><div class="gora"><div class="gora2" style="font-weight:bold">'.$wiersz['topic'].'</div>
  12. <div class="gora3" ><img src="zdjecia/'.$wiersz1['foto'].'"; style="width:30px; height:30px"></div>
  13. <div class="xywa" style="margin-top:2px">'.$wiersz1['user_login'].'</div></div>
  14. <div class="foto" style="color:#000"><img src="zdjecia/'.$wiersz['photos'].'" style="margin-top:5px; margin-bottom:5px; width:250px"></div></div>';
  15. }
  16. }
  17. }
  18.  
  19. ?>
grzes999
Wpisy w tabelach powiny mieć unikalny indeks iwtedy robisz ORDER BY po id bądź po dacie dodatnie wpsiu.
Odnosnie takie układania elementów to jest jakaś biblioteka do tego w jquery. Nie pamiętam już nazwy ale jak poszukasz to na pewno znajdziesz.
shemko
Dziękuje za odpowiedź. Miałbym jeszcze jedno pytanie. Jak przesłać numer ID po kliknięciu w dany wpis, który pojawia się w tym samym oknie przez skrypt JQuery "overlay" ?

kod z linkiem:
  1. <div class="foto" style="color:#000"><a data-overlay-trigger href="#!?id='.$wiersz['id'].'"><img src="zdjecia/'.$wiersz['photos'].'" style="margin-top:5px; margin-bottom:5px; width:250px"></a></div></div>';

Próba odebrania numeru ID z GET:
  1. $sql3 = 'SELECT * FROM `notes` WHERE id = '.$_GET['id'].'';

Wyskakuje komunikat : "Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/u698940803/public_html/index.php on line 173"

Może można jakoś zrobić że po kliknięciu w dany wpis jego numer ID będzie dodawany do jakiejś zmiennej?
grzes999
Nie bardzo rozumiem co chcesz osiagnąć. Jeżeli chcesz żeby kliknięty wpis pojawił się w tym samym oknie bez przeładowywania to musisz użyć AJAXa.
Odnośnie twojego błędu to masz w komunikacie wszsytko napisane
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.