Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/mysql]problem z wyświetleniem komunikatu
Forum PHP.pl > Forum > Przedszkole
Sadu2
Witam,
Kombinuje, kombinuje ale coś mi nie wychodzi. Pokaże moje cudo:

baza:

###directory###
id, uid, title, link


  1. <?php
  2. $zapytanie="Select COUNT(*) FROM directory where uid=".$_SESSION["userid"]."";
  3. $num=mysql_fetch_row(mysql_query($zapytanie));
  4.  
  5.  
  6. if ($num["uid"] == 1) {
  7. $mess = "test";
  8. } elseif ($num["uid"] == 3) {
  9. $mess = "test2";
  10. } elseif ($num["uid"] == 8) {
  11. $mess = "test3";
  12. }
  13.  
  14. if( ($num<$_SESSION["userid"]))
  15. {
  16.  
  17. //TUTAJ MAM FORMULARZ
  18.  
  19. } else {
  20.  
  21. echo "<div class=\"error_message\"><div class=\"title\" style=\"margin:0\">".$mess."</div></div>";
  22.  
  23. }
  24. ?>



W zależności od konta, użytkownik może dodać 1,3 lub 8 linków. I chciałbym uzyskać taki efekt (użytkownik z najniższym kontem), że jak doda jednego linka to mu sie pokaże: $mess czyli: test

Niestety, jeszcze nie dodałem żadnego linku, a formularz jest ukryty oraz nie wyświetla się żaden komunikat.
Jakieś sugestie?
nospor
$num<$_SESSION["userid"]

przeciez $num to tablica, jak ty wiec ja do warunku bierzesz?
Sadu2
No tego to nie wiedziałem. Jestem początkujący, więc możesz mnie jakoś nakierować?
nospor
No ale co tu nakierowywac? Robisz porownanie jednej wartosci z drugą
$num<$_SESSION["userid"]
co tu chciales osiagnac? Chciales porownac tablice z liczba? Czy moze chciales porownac liczbe z liczbe? To porownuj liczbe a nie tablice. No nie wiem jak to mozna cie nakierowac.

albo inaczej:
co chciales osiagnac tym warunkiem:
$num<$_SESSION["userid"]
Co on mial sprawdzac?
Sadu2
To miało być na takiej zasadzie, że jak jest mniej niż 1 lub 3 lub 8 to pokazuje sie formularz, a jak 1,3,8 to pokazuje komunikat.
nospor
  1. <?php
  2. $mess = '';
  3. if ($num["uid"] == 1) {
  4. $mess = "test";
  5. } elseif ($num["uid"] == 3) {
  6. $mess = "test2";
  7. } elseif ($num["uid"] == 8) {
  8. $mess = "test3";
  9. }
  10.  
  11. if(empty($mess))
  12. {
  13.  
  14. //TUTAJ MAM FORMULARZ
  15.  
  16. } else {
  17.  
  18. echo "<div class=\"error_message\"><div class=\"title\" style=\"margin:0\">".$mess."</div></div>";
  19.  
  20. }
  21. ?>
tiraeth
Pomijając fakt porównania... CO chcesz porównać? Przecież Twoje zapytanie SQL zwróci Ci liczbę rekordów, a nie tablicę.... Konkretnie, tablicę z kluczem COUNT(*) a nie uid.
Sadu2
Ok racja. Więc może spróbuje tak:

  1. <?php
  2. $zapytanie="Select count(*) FROM directory where uid=30";
  3. if ($zapytanie <= 2) {
  4. //FORMULARZ
  5. } else {
  6. echo "test2";
  7. }
  8. ?>


W wyniku zapytania dostaje 3, ale na stronie ciągle jest formularz.
nospor
no przeciez musisz to zpytanie wykonac:
mysql_query
mysql_fetch_array
i pobrac wartosc z indexu 0

czyli to co do tej pory robiles + pobranie wlasciwej wartosci. mysl troche.
  1. <?php
  2. $zapytanie="Select COUNT(*) ilosc FROM directory where uid=".$_SESSION["userid"]."";
  3. $num=mysql_fetch_array(mysql_query($zapytanie));
  4. $ilosc = $num['ilosc'];
  5. if ($ilosc <= 2) {
  6. //FORMULARZ
  7. } else {
  8. echo "test2";
  9. }
  10. ?>
Sadu2
Racja. Muszę więcej myśleć winksmiley.jpg Dzięki.
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.