Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Ranga w liście userów ;>
Forum PHP.pl > Forum > Przedszkole
Neymar11
Cześć! To znowu ja (tak wiem myślicie sobie : jezu znowu ten nieuk -.- )
No ale teraz to już nwm! Haha ;P Standardowy tekst

Dump tabeli users do php array:
  1. // `skrypty`.`users`
  2. $users = array(
  3. array('id' => '1','username' => 'neymar11','password' => 'polska','email' => 'polakeng@gmail.com','avatar' => '','signup_date' => '1424721500','ranga' => '1'),
  4. array('id' => '2','username' => 'Polakeng','password' => 'polska125','email' => 'spolakeng@gmail.com','avatar' => '','signup_date' => '1424721606','ranga' => '0')
  5. );


A skrypt:
  1. <?php
  2. //We get the IDs, usernames and emails of users
  3. $req = mysql_query('select id, username, email from users');
  4. while($dnn = mysql_fetch_array($req))
  5. {
  6. ?>
  7.  
  8. <center>
  9. <tr>
  10.  
  11. <td><?php echo $dnn['id']; ?></td>
  12. <td><? if ($dnn['ranga'] = '1') { echo 'Admin'; } if ($dnn['ranga'] = '0') { echo 'User'; } ?>
  13. <td><a href="profile.php?id=<?php echo $dnn['id']; ?>"><?php echo htmlentities($dnn['username'], ENT_QUOTES, 'UTF-8'); ?></a></td>
  14. <td><?php echo htmlentities($dnn['email'], ENT_QUOTES, 'UTF-8'); ?></td>
  15. <td> <a href="confirm.php?id=<?php echo $dnn['id']; ?>"> <img src="<?php echo $design; ?>/images/delete.png" alt="Delete" /></a></td>
  16. </tr>


A mój problem jest taki:

Linia
  1. <td><? if ($dnn['ranga'] = '1') { echo 'Admin'; } if ($dnn['ranga'] = '0') { echo 'User'; } ?>

Ona ma wyświetlac info w zależności od zawartości tabeli...

Jeżeli kolumna 'ranga' dla id '1' wynosi 1 wyświetla się Admin
Jeżeli kolumna 'ranga' dla id '1' wynosi 0 wyświetla się User

No ale jak to Neymar ma problem z najprostszym skryptem i nosp znowu mi pojedzie po całości i wywali błędy biggrin.gif

A problem wygląda następująco:
http://zapodaj.net/b81211fbdec26.png.html
Wszędzie w każdej kolumnie niezależnie czy 'ranga' = 0 czy 1 i tak jest Admin!
Pomocy :<

PS. Wiem okropny szablon ^^
johny_s
znasz roznice pomiedzy = a == ?
wroc do tej ksiazki php for dummies
Neymar11
Z tego co wiem to w if daje sie dwa = a w porównywaniu zmiennych jedno =
Ale jak daje dwa to mi wywala w <td>Notice: Undefined index: ranga in /mnt/sdcard/pm/users.php on line 42

Notice: Undefined index: ranga in /mnt/sdcard/pm/users.php on line 42

A kod users.php to :
  1. <?
  2. $zapytanie=mysql_query ("SELECT COUNT(*) AS ile FROM users");
  3. $ilosc=mysql_fetch_array($zapytanie);
  4. echo '<br />Zarejestrowanych użytkowników:'; echo $ilosc[ile];
  5. ?>
  6. <table>
  7. <tr>
  8. <center>
  9. <th>Unikalny ID</th>
  10. <th>Ranga użytkownika</th>
  11. <th>Nazwa użytkownika</th>
  12. <th>Adres email</th>
  13. <th>Operacje</th>
  14. </center>
  15. </tr>
  16. <?php
  17. //We get the IDs, usernames and emails of users
  18. $req = mysql_query('select id, username, email from users');
  19. while($dnn = mysql_fetch_array($req))
  20. {
  21. ?>
  22.  
  23. <center>
  24. <tr>
  25.  
  26. <td><?php echo $dnn['id']; ?></td>
  27. <td><? if ($dnn['ranga'] == '1') { echo 'Admin'; } if ($dnn['ranga'] == '0') { echo 'User'; } ?>
  28. <td><a href="profile.php?id=<?php echo $dnn['id']; ?>"><?php echo htmlentities($dnn['username'], ENT_QUOTES, 'UTF-8'); ?></a></td>
  29. <td><?php echo htmlentities($dnn['email'], ENT_QUOTES, 'UTF-8'); ?></td>
  30. <td> <a href="confirm.php?id=<?php echo $dnn['id']; ?>"> <img src="<?php echo $design; ?>/images/delete.png" alt="Delete" /></a></td>
  31. </tr>
  32. </center>
  33. <?php
  34. }
  35. ?>
  36. </table>


Po błędzie nic się nie wyświetla -.- Głupie too ;/
Grzesie.k
kod poprawiony na szybko:
  1. <?php
  2. //brakująca zmienna
  3. $design = '';
  4.  
  5. //dump bazy
  6. $users = array(
  7. ['id' => '1', 'username' => 'neymar11', 'password' => 'polska', 'email' => 'polakeng@gmail.com', 'avatar' => '', 'signup_date' => '1424721500', 'ranga' => '1'],
  8. ['id' => '2', 'username' => 'Polakeng', 'password' => 'polska125', 'email' => 'spolakeng@gmail.com', 'avatar' => '', 'signup_date' => '1424721606', 'ranga' => '0']
  9. );
  10.  
  11.  
  12. $ilosc['ile'] = count($users); //$zapytanie = mysql_query("SELECT COUNT(*) AS ile FROM users"); $ilosc = mysql_fetch_array($zapytanie);
  13. ?>
  14. <p>Zarejestrowanych użytkowników: <?= $ilosc['ile'] ?>
  15. <table>
  16. <tr>
  17. <th>Unikalny ID</th>
  18. <th>Ranga użytkownika</th>
  19. <th>Nazwa użytkownika</th>
  20. <th>Adres email</th>
  21. <th>Operacje</th>
  22. </tr>
  23. <?php
  24. foreach ($users as $dnn) { // $req = mysql_query('select * from users'); while ($dnn = mysql_fetch_array($req)) {
  25. ?>
  26. <tr>
  27.  
  28. <td><?= $dnn['id'] ?></td>
  29. <td><?php switch ($dnn['ranga']) {
  30. case 1:
  31. echo 'Admin';
  32. break;
  33. case 0:
  34. echo 'User';
  35. break;
  36. default:
  37. echo 'Inna';
  38. } ?>
  39. <td>
  40. <a href="profile.php?id=<?= $dnn['id'] ?>"><?= htmlentities($dnn['username'], ENT_QUOTES, 'UTF-8') ?></a>
  41. </td>
  42. <td><?= htmlentities($dnn['email'], ENT_QUOTES, 'UTF-8') ?></td>
  43. <td>
  44. <a href="confirm.php?id=<?= $dnn['id'] ?>">
  45. <img src="<?= $design ?>/images/delete.png" alt="Delete"/>
  46. </a>
  47. </td>
  48. </tr>
  49. <?php
  50. }
  51. ?>
  52. </table>

Cytat
Z tego co wiem to w if daje sie dwa = a w porównywaniu zmiennych jedno =

Z tego co wiem to w if daje się == aby porownać czy wartości są sobie równe, a w przypisywaniu wartości daje się jedno =.
blahy
select id, username, email from users

wiec sie nie dziw, ze klucz ranga jest niezdefiniowany w userach, ktorych wyciagasz z tabeli.
powinienes dodac range do selecta tez.
= to przypisanie, $a = 1; zmienna $a bedzie miala wartosc 1,
== to porownanie $a == $b, czy a jest rowne b.
niezaleznie gdzie tego uzyjesz, czy w if czy nie.
jak chcesz sprawdzic czy ktos ma rage 1 to if ($ranga == 1) {//ma range 1}
kpt_lucek
http://php.net/manual/en/language.operators.comparison.php

Warto się zapoznać
Neymar11
foreach ($users as $dnn) {

Warning: Invalid argument supplied for foreach() in/mnt/sdcard/pm/users.php on line 41

Pluje smile.gif Ładnie mi pluje ten skrypcik wink.gif
Nie ogarniam pętli... Więc nie wiem jak poprawić
johny_s
zabrac sie za podstawy, a pozniej cos bardziej skomplikowanego
Neymar11
Sam już to zrobiłem oto kod dla potrzebujących lub ubogich w dziedzinie kodów:

  1. <table>
  2. <tr>
  3. <th>Unikalny ID</th>
  4. <th>Ranga użytkownika</t>
  5. <th>Nazwa użytkownika</th>
  6. <th>Adres email</th>
  7. <th>Operacje</th>
  8. </tr>
  9. <?php
  10. //We get the IDs, usernames and emails of users
  11. $req = mysql_query('select id, ranga, username, email from users');
  12. while($dnn = mysql_fetch_array($req))
  13. {
  14. ?>
  15. <tr>
  16. <td class="left"><?php echo $dnn['id']; ?></td>
  17. <td class="left"> <?php switch ($dnn['ranga']) {
  18. case 1:
  19. echo 'Admin';
  20. break;
  21. case 0:
  22. echo 'User';
  23. break;
  24. default:
  25. echo 'Inna';
  26. } ?>
  27.  
  28. </td>
  29. <td class="left"><a href="profile.php?id=<?php echo $dnn['id']; ?>"><?php echo htmlentities($dnn['username'], ENT_QUOTES, 'UTF-8'); ?></a></td>
  30. <td class="left"><?php echo htmlentities($dnn['email'], ENT_QUOTES, 'UTF-8'); ?></td>
  31. <td> <a href="confirm.php?id=<?php echo $dnn['id']; ?>"><img src="<?php echo $design; ?>/images/delete.png" alt="Usun" /></a>
  32. </td>
  33. </tr>
  34. <?php
  35. }
  36. ?>
  37. </table>


Użyłem switch() i case'y smile.gif

Pozdro !
ilidir
To że nie ogarniasz pętli i tak do Ciebie wróci niczym bumerang i to prędzej niż myślisz smile.gif
zidek
  1. <td class="left"> <?php switch ($dnn['ranga']) {
  2. case 1:
  3. echo 'Admin';
  4. break;
  5. case 0:
  6. echo 'User';
  7. break;
  8. default:
  9. echo 'Inna';
  10. } ?>


  1. <td class="left"><?php if ($dnn['ranga'] == 1) {
  2. echo 'Admin';
  3. } else if ($dnn['ranga'] == 0) {
  4. echo 'User';
  5. } else {
  6. echo 'Inna';
  7. } ?>
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.