Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyświetlanie pozdrowień
Forum PHP.pl > Forum > Przedszkole
alkesz1718
Witam,
Dostałem bardzo stary kod na wyświetlanie pozdrowień z bazy danych który działał pod php 5.3 i starą wersją mysql (jaką to nie wiem). Chciałem sobie zaktualizować jakoś ten skrypt i pozostało mi tylko wyświetlanie. Problem polega na tym że dodając pozdrowienia w bazie zapisuje z approve = 0 po czym w panelu admina trzeba zaakceptować lub usunąć i nie wiem czemu ale wyświetla mi wszystkie pozdrowienia niezależnie od tego czy approve wynosi 0 czy 1 a chciałbym by wyświetlało tylko wtedy jeśli approve = 1

Poniżej daję wam pełny plik na wyświetlanie tych pozdrowień.
  1. <?php
  2.  
  3. $pozdro = dle_cache('pozdrowienia2');
  4.  
  5. if (false === $pozdro) {
  6. $pozdro = $db->super_query("Select pozdro, dle_users.name from dle_pozdro left join dle_users on dle_users.user_id = dle_pozdro.userid order by dle_pozdro.id DESC limit 30 ",
  7. true);
  8.  
  9. create_cache('pozdrowienia2', serialize($pozdro));
  10. }else {
  11. $pozdro = unserialize($pozdro);
  12. }
  13.  
  14.  
  15. $roll = '';
  16.  
  17. foreach ($pozdro as $p) {
  18. $roll .= "<a onclick=\"ShowProfile('{$p['name']}', 'https://www.nazwa-strony.pl/user/{$p['name']}/'); return false;\" href=\"https://www.nazwa-strony.pl/user/{$p['name']}/\"><B>{$p['name']}</B></a> : {$p['pozdro']} <B>|</B> ";
  19.  
  20. }
  21.  
  22.  
  23. $show = "<marquee scrollamount='5' scrolldelay='20' onmouseover='this.stop()' onmouseout='this.start()'>{$roll}</marquee>";
  24.  
  25. ?>


Ja przewiduję że te zapytanie do bazy powinno być inaczej zbudowane ale za bardzo nie wiem jak
Kshyhoo
Dlaczego w dziale PHP, skoro problem dotyczy zapytania do bazy danych?
I pytanie dotyczące Twojego problemu: widzisz gdzieś w zapytaniu "approve"?
Przenoszę...
alkesz1718
W tym zapytaniu nie ma approve bo jest ono tylko podczas dodawania takiego pozdrowienia a poniżej daję jak to wygląda:
  1. $qq = "INSERT INTO `dle_pozdro` (`id` ,`pozdro` ,`userid` ,`date`,`approve`)VALUES (NULL, '$tresc', '$member_id[user_id]', '$thistime', '0');";

I teraz chcę by w tym 1 kodzie co na początku dałem było że jeśli approve = 0 to żeby nie wyświetlało tego pozdrowienia na stronie dopóki approve nie będzie miało wartości 1.
Po za tym napisałem że podejrzewam że to może być w zmiennej mysql ale nie jestem pewien... może to być jakiś kod php przez co nie będzie mi wyświetlać...
b4rt3kk
Dołóż WHERE do zapytania:

  1. SELECT pozdro, dle_users.name FROM dle_pozdro LEFT JOIN dle_users ON dle_users.user_id = dle_pozdro.userid WHERE approve = 1 ORDER BY dle_pozdro.id DESC LIMIT 30
alkesz1718
Ok dzięki wielkie 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.