Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wyświetlanie pozdrowień
alkesz1718
post 22.02.2018, 23:36:46
Post #1





Grupa: Zarejestrowani
Postów: 98
Pomógł: 0
Dołączył: 8.12.2014
Skąd: Czernina

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


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
Go to the top of the page
+Quote Post
Kshyhoo
post 22.02.2018, 23:49:22
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Dlaczego w dziale PHP, skoro problem dotyczy zapytania do bazy danych?
I pytanie dotyczące Twojego problemu: widzisz gdzieś w zapytaniu "approve"?
Przenoszę...


--------------------
Go to the top of the page
+Quote Post
alkesz1718
post 23.02.2018, 17:35:43
Post #3





Grupa: Zarejestrowani
Postów: 98
Pomógł: 0
Dołączył: 8.12.2014
Skąd: Czernina

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


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ć...
Go to the top of the page
+Quote Post
b4rt3kk
post 23.02.2018, 17:38:31
Post #4





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


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


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
alkesz1718
post 23.02.2018, 17:41:24
Post #5





Grupa: Zarejestrowani
Postów: 98
Pomógł: 0
Dołączył: 8.12.2014
Skąd: Czernina

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


Ok dzięki wielkie smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 29.03.2024 - 12:39