Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][MySQL][PHP]Wyciągnięcie jednego ID przy wyświetlaniu wszystkich wpisów w pętli
Forum PHP.pl > Forum > Przedszkole
RaitoPL
Witam. Mam sobie taki oto kod, który podałem niżej.. I mam problem - muszę wyświetlać wszystkich użytkowników w pętli. U każdego w tabeli jest rozwijana lista, z której można wybrać rangę i awansować/zdegradować inną osobę. Ale problem jest taki, że nie wiem, jak wyciągnąć te ID, bo formularz jest w pętli i wykonuje operację wszystkim...
Kod:
  1. <?php
  2. //Dostęp tylko dla osób z rangą +4(czyli minimum 5 haha.gif)
  3. $id = $_SESSION['id'];
  4. $query = mysql_query("SELECT * FROM users WHERE id = '$id'");
  5. $query = mysql_fetch_array($query);
  6. if($query['group'] > 4){
  7. if(isset($_GET['r']) && $_GET['r']=='txt'){
  8. //zmienne aktualnych treści
  9. $cfg = mysql_query("SELECT * FROM config WHERE id = '1'");
  10. $cfg = mysql_fetch_array($cfg);
  11. $act_foot = $cfg['footer'];
  12. $act_tit = $cfg['title'];
  13. //Dalej
  14. <form action='' method='post'>
  15. <table border='2' width='100%'>
  16. <tr>
  17. <td>Tytuł forum:</td>
  18. <td><input type='text' name='title' size='64' value='$act_tit' maxlength='50'></td>
  19. </tr>
  20. <tr>
  21. <td>Treść stopki: </td>
  22. <td><textarea rows='10' name='footer' cols='49' maxlength='250'>$act_foot</textarea></td>
  23. </tr>
  24. <tr>
  25. <td></td>
  26. <td><input type='submit' name='zmiana' value='Zmień'></td>
  27. </tr>
  28. </table>
  29. </form>
  30. ";
  31. if(isset($_POST['zmiana'])){
  32. $new_foot = mysql_real_escape_string($_POST['footer']);
  33. $new_tit = mysql_real_escape_string($_POST['title']);
  34. $query = mysql_query("UPDATE `config` SET `footer` = '$new_foot', `title` = '$new_tit' WHERE `id`='1'");
  35. echo "gz";
  36. sleep(1);
  37. @header("Location: ");
  38. }
  39. }
  40. if(isset($_GET['r']) && $_GET['r']=='users'){
  41. $kontax = mysql_query("SELECT * FROM users ORDER BY users.group DESC");
  42. while($konta = mysql_fetch_array($kontax))
  43. {
  44. if($konta['group'] == 6) $ranga = '<font color="red"><b>Główny administrator</b></font>';
  45. elseif($konta['group'] == 5) $ranga = '<font color="red"><b>Administrator</b></font>';
  46. elseif($konta['group'] == 4) $ranga = '<font color="green"><b>Globalny moderator</b></font>';
  47. elseif($konta['group'] == 3) $ranga = '<font color="green"><b>Moderator</b></font>';
  48. elseif($konta['group'] == 0) $ranga = 'Użytkownik';
  49. if($konta['status'] == 1) $akcja = 'Odbanuj';
  50. elseif($konta['status'] == 0) $akcja = 'Banuj';
  51. if($konta['status'] == 1) $banned = 'unbid';
  52. elseif($konta['status'] == 0) $banned = 'bid';
  53. <table width='100%' cellspacing='0' cellpadding='10'>
  54. <tr class='nagłówek'>
  55. <td width='20%' class='nagłówki'><img width='10' src='img/category-icon.png' /> Nazwa użytkownika</td>
  56. <td width='20%' class='nagłówki'>Ranga</td>
  57. <td width='20%' class='nagłówki'>Dołączył</td>
  58. <td width='20%' class='nagłówki'>Banuj/Odbanuj</td>
  59. <td width='20%' class='nagłówki'>Awans/Degradacja</td>
  60. </tr>
  61. <td><a href='?task=profile&id=$konta[id]'><b>$konta[login]</b></a></td>
  62. <td>$ranga</td>
  63. <td>$konta[register_date]</td>
  64. <td><a href='?task=tot&r=$banned&$konta[id]'>$akcja</a></td>
  65. <td> <form action='?task=tot&r=users' method='post'>
  66. <select name='ranga'>
  67. <option value='0'>Użytkownik</option>
  68. <option value='3'><font color='green'>Moderator</font></option>
  69. <option value='4'><font color='blue'>Global mod.</font></option>
  70. <option value='5'><font color='orange'>Admin.</font></option>
  71. <option value='6'><font color='red'><b>GŁÓWNY ADMIN.</b></font></option>
  72. </select>
  73. <input type='submit' name='updatex' value='Zmień'>
  74. <input type='hidden' name='uzytkownik' value='$konta[id]'>
  75. </form></td>
  76. ";
  77. if($_POST['updatex']){
  78. $u = $_POST[ranga];
  79. $xid = $_POST[uzytkownik];
  80. $querxy = mysql_query("UPDATE users SET group = '$u' WHERE id='$xid'");
  81. echo "$xid $u";
  82. }
  83. }
  84. }
  85. if(isset($_GET['r']) && $_GET['r']=='bid'){
  86. $bid = mysql_real_escape_string($_GET['id']);
  87. $querty = mysql_query("SELECT * FROM users WHERE id = '$bid'");
  88. $querty = mysql_fetch_array($querty);
  89. echo "<br>Czy na pewno chcesz zbanować <b>$querty[login]</b>?<br>
  90. <form action='' method='post'>
  91. <input type='submit' name='banuj' value='Tak, zbanuj'> <input type='submit' name='niebanuj' value='Nie, cofnij!'>
  92. </form>";
  93. if(isset($_POST['banuj'])){
  94. $query = mysql_query("UPDATE `users` SET `status` = '1' WHERE `id`='$bid'");
  95. echo "Gratulacje. Poprawnie zbanowałeś użytkownika $query[login].
  96. <br>Za <span id='sekundy'></span> sekundy zostaniesz przekierowany na strone główną
  97. <script type='text/javascript'>
  98. o=document.getElementById('sekundy')
  99. function odliczaj(o,sek){
  100. o.innerHTML=sek
  101. if(sek>0)setTimeout(function(){odliczaj(o,--sek)},1e3)
  102. if(sek==0)window.location.href='index.php?task=tot&r=users'
  103. }
  104. odliczaj(document.getElementById('sekundy'),3)
  105. </script>";
  106. }
  107. }
  108. }
  109. else{
  110. echo "<br><center><b><font color='red'>Nie masz tutaj wstępu!</center></b></font>";
  111. }
  112. ?>
Michael2318
Cytat
Witam. Mam sobie taki oto kod, który podałem niżej.. I mam problem - muszę wyświetlać wszystkich użytkowników w pętli. U każdego w tabeli jest rozwijana lista, z której można wybrać rangę i awansować/zdegradować inną osobę. Ale problem jest taki, że nie wiem, jak wyciągnąć te ID, bo formularz jest w pętli i wykonuje operację wszystkim...


jakie 'te ID'? ;/ Nigdzie nie napisałeś o jakie ID Ci chodzi.
RaitoPL
A, przepraszam haha.gif. O ID użytkownika, wiesz, żeby można było mu tą rangę zmienić za pomocą tej listy rozwijanej.
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.