Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php/mysql]problem z wyświetleniem komunikatu
Sadu2
post 19.03.2008, 14:12:35
Post #1





Grupa: Zarejestrowani
Postów: 229
Pomógł: 13
Dołączył: 31.05.2007

Ostrzeżenie: (10%)
X----


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?
Go to the top of the page
+Quote Post
nospor
post 19.03.2008, 14:20:19
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




$num<$_SESSION["userid"]

przeciez $num to tablica, jak ty wiec ja do warunku bierzesz?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Sadu2
post 19.03.2008, 14:27:19
Post #3





Grupa: Zarejestrowani
Postów: 229
Pomógł: 13
Dołączył: 31.05.2007

Ostrzeżenie: (10%)
X----


No tego to nie wiedziałem. Jestem początkujący, więc możesz mnie jakoś nakierować?
Go to the top of the page
+Quote Post
nospor
post 19.03.2008, 14:32:47
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Sadu2
post 19.03.2008, 14:36:31
Post #5





Grupa: Zarejestrowani
Postów: 229
Pomógł: 13
Dołączył: 31.05.2007

Ostrzeżenie: (10%)
X----


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.
Go to the top of the page
+Quote Post
nospor
post 19.03.2008, 14:42:00
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




  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. ?>


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
tiraeth
post 19.03.2008, 14:49:52
Post #7





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

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


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.

Ten post edytował tiraeth 19.03.2008, 14:51:27
Go to the top of the page
+Quote Post
Sadu2
post 19.03.2008, 15:48:25
Post #8





Grupa: Zarejestrowani
Postów: 229
Pomógł: 13
Dołączył: 31.05.2007

Ostrzeżenie: (10%)
X----


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.
Go to the top of the page
+Quote Post
nospor
post 19.03.2008, 15:53:06
Post #9





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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. ?>


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Sadu2
post 19.03.2008, 16:07:01
Post #10





Grupa: Zarejestrowani
Postów: 229
Pomógł: 13
Dołączył: 31.05.2007

Ostrzeżenie: (10%)
X----


Racja. Muszę więcej myśleć winksmiley.jpg Dzięki.
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: 18.07.2025 - 11:41