Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Zapytanie - zły wynik
Forum PHP.pl > Forum > Przedszkole
tomspec22
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 ?
nospor
print_r($row);
tomspec22
Teraz mi wyświetla czy jest 0 czy jest 1 Admin , tak jakby w ogóle nie rozpoznawał różnicy
nospor
facepalmxd.gif

Zrob print_r($row); w petli i pokaz nam co to dokladnie zwraca...
tomspec22
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
nospor
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...
tomspec22
1 i 0 zamieniłem na chwile na 1 i 2 sory że nie napisałem .
Spieprzone dane - możliwe pracuje nad tym
nospor
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.
tomspec22
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).
nospor
No dobrze, ale w tym kodzie pobierasz tylko jednego pierwszego usera. Skoro on ma zawsze 1, to zawsze sie wyswietli ADMIN
Pyton_000
  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. }
tomspec22
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?
nospor
Cytat
Robi tak :

"1 - Admin 0 - Zwykły 0 - Zwykły"
Czyli robi prawidłowo
tomspec22
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 .
nospor
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.
tomspec22
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. }
nospor
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.
tomspec22
Wiadomo dzisiaj mam ciężki dzionek może przez to heh ale dziękuję za pomoc pozdrawiam i temat do zamknięcia .
Pyton_000
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ń"
tomspec22
Mam żonę i dziecko więc wiem doskonale i nie truję lecz proszę o pomoc tyle.
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.