Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Zapytanie - zły wynik, Podwójny wynik albo zła interpretacja wyniku
tomspec22
post 3.03.2015, 07:57:19
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 26.11.2014

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


Witam

Chcę aby w kolumnie "admin" jak dam 1 to aby był wyświetlany napis Admin a jak dam 0 to "zwykły" .
Oto zapytanie :
  1. $result = mysql_query("SELECT * FROM users");
  2.  
  3. while($row = mysql_fetch_assoc($result))
  4. {
  5. if($row['admin'] == 1 )
  6. {
  7. echo('ADMIN');
  8. }
  9. else
  10. {
  11. echo('ZWYKLY');
  12. }
  13. }


Po wykonaniu tego czy jest 1 czy 0 to wynik się wyświetla albo :

Admin Admin
Admin Zwykły
Zwykły Zwykły

Ciągle po dwa i zero reakcji na modyfikacje heh why ?
Go to the top of the page
+Quote Post
nospor
post 3.03.2015, 07:58:45
Post #2





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




print_r($row);


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

"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
tomspec22
post 3.03.2015, 08:19:05
Post #3





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 26.11.2014

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


Teraz mi wyświetla czy jest 0 czy jest 1 Admin , tak jakby w ogóle nie rozpoznawał różnicy
Go to the top of the page
+Quote Post
nospor
post 3.03.2015, 08:19:55
Post #4





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




facepalmxd.gif

Zrob print_r($row); w petli i pokaz nam co to dokladnie zwraca...


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

"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
tomspec22
post 3.03.2015, 08:39:14
Post #5





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 26.11.2014

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


zwróciło mi wszystko w kolumnie , zrobiłem inaczej :

  1. $result = mysql_query("SELECT * FROM users LIMIT 1");
  2. $row = mysql_fetch_array($result);
  3. $admin = $row['admin'];
  4. if($admin == '1') {
  5. $admin_status = "Admin";
  6. }
  7. else if ($admin == '2') {
  8. $admin_status = "Zwykły";
  9. }
  10.  
  11. echo "" . $admin_status ."";


Teraz mam iż każdy user czy ma status 1 czy 2 to admin heh
Go to the top of the page
+Quote Post
nospor
post 3.03.2015, 08:57:00
Post #6





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




Cytat
zwróciło mi wszystko w kolumnie :

facepalmxd.gif x 1000000

Toz ja wiem co to zwraca, ze wszytkie rekordy. Ja sie pytalem, co DOKLADNIE ZWRACA bo pewnie masz spieprzone dane w bazie dlatego masz zle wyswietlanie...

Poza tym raz pisales o statusie 0 1 a teraz o 1 2.... kurcze, weź sie zdecyduj...


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

"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
tomspec22
post 3.03.2015, 09:06:16
Post #7





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 26.11.2014

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


1 i 0 zamieniłem na chwile na 1 i 2 sory że nie napisałem .
Spieprzone dane - możliwe pracuje nad tym
Go to the top of the page
+Quote Post
nospor
post 3.03.2015, 09:41:03
Post #8





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




Cytat
Spieprzone dane - możliwe

Po to dalem print_r($row); by na 100% stwierdzic czy to to czy nie a nie zgadywac... pokaz pooprostu co zwraca
print_r($row);
a sam ci powiem czy to to, czy to nie to.


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

"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
tomspec22
post 3.03.2015, 09:58:23
Post #9





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 26.11.2014

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


Wszystkie inne zapytania itp. itd. działają na tej bazie danych , kolumnę admin dodałem dzisiaj i się bachh .

przy tym :

  1.  
  2. $result = mysql_query("SELECT * FROM users LIMIT 1");
  3. $row = mysql_fetch_array($result);
  4. $admin = $row['admin'];
  5. if($admin == '1') {
  6. $admin_status = "Admin";
  7. print_r($row);
  8. }
  9. else if ($admin == '0') {
  10. $admin_status = "Zwykły";
  11. }
  12.  
  13. echo "" . $admin_status ."";
  14.  



Daje :

  1.  
  2. Array ( [0] => 1 [id] => 1 [1] => login [name] => login [2] => haslomd5 [password] => haslomd5 [3] => email [email] => email [4] => 1 [admin] => 1 ) Admin
  3.  


Kolumna Admin ma tylko wartość 1(Admin) albo 0(Zwykły).
Czy w "admin" jest 1 czy 0 i tak każdy ma "Admin" .
Kolumna "admin" - typ : int(11).
Go to the top of the page
+Quote Post
nospor
post 3.03.2015, 10:00:53
Post #10





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




No dobrze, ale w tym kodzie pobierasz tylko jednego pierwszego usera. Skoro on ma zawsze 1, to zawsze sie wyswietli ADMIN


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

"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
Pyton_000
post 3.03.2015, 10:09:12
Post #11





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


  1. $result = mysql_query("SELECT * FROM users");
  2.  
  3. while($row = mysql_fetch_assoc($result))
  4. {
  5. $admin_status = (int)$row['admin'] ? 'Admin' : 'Zwykły';
  6. echo $row['admin'] . ' - ' . $admin_status . PHP_EOL;
  7. }
Go to the top of the page
+Quote Post
tomspec22
post 3.03.2015, 10:15:23
Post #12





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 26.11.2014

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


Cytat(Pyton_000 @ 3.03.2015, 10:09:12 ) *
  1. $result = mysql_query("SELECT * FROM users");
  2.  
  3. while($row = mysql_fetch_assoc($result))
  4. {
  5. $admin_status = (int)$row['admin'] ? 'Admin' : 'Zwykły';
  6. echo $row['admin'] . ' - ' . $admin_status . PHP_EOL;
  7. }




Robi tak :

"1 - Admin 0 - Zwykły 0 - Zwykły"

Cytat(nospor @ 3.03.2015, 10:00:53 ) *
No dobrze, ale w tym kodzie pobierasz tylko jednego pierwszego usera. Skoro on ma zawsze 1, to zawsze sie wyswietli ADMIN


Chodzi o "LIMIT 1" questionmark.gif?
Go to the top of the page
+Quote Post
nospor
post 3.03.2015, 10:16:44
Post #13





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




Cytat
Robi tak :

"1 - Admin 0 - Zwykły 0 - Zwykły"
Czyli robi prawidłowo


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

"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
tomspec22
post 3.03.2015, 10:51:38
Post #14





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 26.11.2014

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


Napiszę jeszcze raz bo zaraz wyjdę z siebie bo dalej nic nie działa tak jak chcę :

Mam tabele "users" w niej 3 użytkowników "tom" "sam" "ola" .
tylko tom w kolumnie "admin" ma "1" reszta "0" .

Chcę aby gdy zaloguję się "tom" był wyświetlany napis "admin" a przy reszcie "zwykły" .

Gdy robię tak jak mi pomagacie to i tak ciągle robię coś źle bo nie ma żadnej różnicy gdy się zaloguje na jakiekolwiek konto .
Go to the top of the page
+Quote Post
nospor
post 3.03.2015, 10:58:12
Post #15





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




To skoro chcesz wyswietlac dane zalogowanego usera, to kurcze, pobierz jego dane a nie pobierasz albo wszystkich, albo pierwszego z brzegu... Przeciez masz jego ID w sesji, no nie? A w ogole w sesji powinienies miec wartosc pola ADMIN to juz w ogole bys nie musial do bazy leciec.


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

"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
tomspec22
post 3.03.2015, 11:24:46
Post #16





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 26.11.2014

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


Zabijcie mnie czemu tak sobie nagmatwałem a rozwiązanie jest takie proste facepalmxd.gif

  1. if($user_data['admin'] == 1) {
  2. echo "ADMIN :)";
  3. }
Go to the top of the page
+Quote Post
nospor
post 3.03.2015, 11:26:38
Post #17





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




No niestety zabicie Ciebie nie da odpowiedzi na to pytanie....
Nastepnym razem albo sam mysl co robisz, albo od razu nam mow co chcesz zrobic a nie marnujemy kupe czasu na bezsensowne odpowiedzi.


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

"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
tomspec22
post 3.03.2015, 11:32:35
Post #18





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 26.11.2014

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


Wiadomo dzisiaj mam ciężki dzionek może przez to heh ale dziękuję za pomoc pozdrawiam i temat do zamknięcia .
Go to the top of the page
+Quote Post
Pyton_000
post 3.03.2015, 11:53:22
Post #19





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Ja jak mam ciężki dzień to nie truję dupy ludziom pierdołami tylko idę się zabunkrować albo na rower odstresować.

Jeśli będziesz miał żonę to zobaczysz co to "zły dzień"

Ten post edytował Pyton_000 3.03.2015, 11:53:32
Go to the top of the page
+Quote Post
tomspec22
post 3.03.2015, 18:42:11
Post #20





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 26.11.2014

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


Mam żonę i dziecko więc wiem doskonale i nie truję lecz proszę o pomoc tyle.
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: 17.06.2025 - 22:23