Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z kodem Resource id #
Forum PHP.pl > Forum > PHP
michu9010
Witam,
mam problem gdyz wyswietla mi w wyniku zapytania z bazy 'Resource id #11' jak sie pozbyc tego.
konkretnie chce zeby id grupy zamienil na nazwe grupy.
  1. // jeśli jest chociaż 1 user to wyświetlamy
  2. if($count_users > 0) {
  3. $result = mysql_query("SELECT * FROM `users` ORDER BY `user_id` ASC LIMIT ".($per_page*($current_page-1)).", ".$per_page);
  4. while($row = mysql_fetch_assoc($result)) {
  5. echo '<tr>
  6. <td><a href="profile.php?id='.$row['user_id'].'">'.$row['user_name'].'</a></td>
  7. <td>'.$row['user_email'].'</td>
  8. <td>'.date("d.m.Y, H:i", $row['user_regdate']).'</td>
  9. <td>'
  10. .$result2 = mysql_query("SELECT `nazwa` FROM users_group WHERE `id`=".$row['grupa']."");
  11. while($row2 = mysql_fetch_array($result2))
  12. {
  13. echo stripslashes($row2['nazwa']);
  14. }
  15. '</td>
  16. <td>'.$row['user_status'].'</td>
  17. <td><a href="admin.php?akcja=uzytkownik_edytuj&id='.$user_id.'"><img src="16-em-pencil.png"></a> <a href="admin.php?akcja=uzytkownik_usun&id='.$user_id.'"><img src="16-em-cross.png"></a>
  18. </tr>';
  19. }

dziekuje za odpowiedzi
mortus
Linie 9-15 włącznie:
  1. <td>';
  2. $result2 = mysql_query("SELECT `nazwa` FROM users_group WHERE `id`=".$row['grupa']."");
  3. while($row2 = mysql_fetch_array($result2)) {
  4. echo stripslashes($row2['nazwa']);
  5. }
  6. echo '</td>

Lektura
michu9010
dzieki za szybka odpowiedz a powiedz mi jeszcze mam taki problem pokazuje ze dodal uzytkownika ale tak naprawde nie dodal go do bazy oto kod:
  1. function uzytkownik_dodaj(){
  2.  
  3.  
  4. // jeśli zostanie naciśnięty przycisk "Zarejestruj"
  5. if(isset($_POST['name'])) {
  6. // filtrujemy dane...
  7. $_POST['name'] = clear($_POST['name']);
  8. $_POST['password'] = clear($_POST['password']);
  9. $_POST['password2'] = clear($_POST['password2']);
  10. $_POST['email'] = clear($_POST['email']);
  11. $_POST['grupa'] = clear($_POST['grupa']);
  12. $_POST['user_status'] = clear($_POST['user_status']);
  13.  
  14. // sprawdzamy czy wszystkie pola zostały wypełnione
  15. if(empty($_POST['name']) || empty($_POST['password']) || empty($_POST['password2']) || empty($_POST['email'])) {
  16. echo '<p>Musisz wypełnić wszystkie pola.</p>';
  17. // sprawdzamy czy podane dwa hasła są takie same
  18. } elseif($_POST['password'] != $_POST['password2']) {
  19. echo '<p>Podane hasła różnią się od siebie.</p>';
  20. // sprawdzamy poprawność emaila
  21. } elseif(filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) === false) {
  22. echo '<p>Podany email jest nieprawidłowy.</p>';
  23. } else {
  24. // sprawdzamy czy są jacyś uzytkownicy z takim loginem lub adresem email
  25. $result = mysql_query("SELECT Count(user_id) FROM `users` WHERE `user_name` = '{$_POST['name']}' OR `user_email` = '{$_POST['email']}'");
  26. $row = mysql_fetch_row($result);
  27. if($row[0] > 0) {
  28. echo '<p>Już istnieje użytkownik z takim loginem lub adresem e-mail.</p>';
  29. } else {
  30. // jeśli nie istnieje to kodujemy haslo...
  31. $_POST['password'] = codepass($_POST['password']);
  32. // i wykonujemy zapytanie na dodanie usera
  33. mysql_query("INSERT INTO `users` (`user_name`, `user_password`, `user_email`, `user_regdate` ,`user_status` ,`grupa`) VALUES ('{$_POST['name']}', '{$_POST['password']}', '{$_POST['email']}', '".time()."' {$_POST['user_status']}', {$_POST['grupa']})");
  34. echo '<p>Został poprawnie dodany użytkownik! <a href="admin.php?akcja=lista_uzytkownikow">wróć</a> </p>';
  35.  
  36. }
  37. }
  38. }
  39.  
  40. // wyświetlamy formularz
  41. echo '<form method="post" action="admin.php?akcja=uzytkownik_dodaj">
  42. <label>Login:</label>
  43. <input type="text" value="'.$_POST['name'].'" name="name">
  44.  
  45. <label>Hasło:</label>
  46. <input type="password" value="'.$_POST['password'].'" name="password">
  47.  
  48. <label>Powtórz hasło:</label>
  49. <input type="password" value="'.$_POST['password2'].'" name="password2">
  50.  
  51. <label>E-mail:</label><input type="text" value="'.$_POST['email'].'" name="email">
  52.  
  53. <label>Grupa:</label>
  54. <select name="grupa">
  55. <option value="'.$_POST['0'].'">Brak</option>';
  56. $result2 = mysql_query("SELECT * FROM users_group WHERE aktywnosc='1'");
  57. while($row2 = mysql_fetch_array($result2))
  58. {
  59. echo '<option value="'.$row2['id'].'"';
  60. if($row2['id']==$row['grupa']) echo ' selected';
  61. echo '>'.stripslashes($row2['nazwa']).'</option>';
  62. }
  63. echo '
  64. </select name="user_status">
  65. <label>Uprawnienia administratora:</label>
  66. <select name="user_status">
  67. <option value="'.$_POST['0'].'">Nie</option>
  68. <option value="'.$_POST['administrator'].'">Tak</option>
  69.  
  70. </select>
  71. <br>
  72. <input type="submit" value="Zarejestruj">
  73.  
  74. </form>';
  75.  
  76.  
  77. }
mortus
  1. $sql = "INSERT INTO `users` (`user_name`, `user_password`, `user_email`, `user_regdate` ,`user_status` ,`grupa`) VALUES ('{$_POST['name']}', '{$_POST['password']}', '{$_POST['email']}', '".time()."' {$_POST['user_status']}', {$_POST['grupa']})";
  2. echo $sql;

W zapytaniu brakuje przecinka. Zrób jak powyżej i policz liczbę kolumn i liczbę parametrów w VALUES.
michu9010
zmienilem w taka forma i tez nie wrzuca:
  1. else {
  2. // sprawdzamy czy są jacyś uzytkownicy z takim loginem lub adresem email
  3. $result = mysql_query("SELECT Count(user_id) FROM `users` WHERE `user_name` = '{$_POST['name']}' OR `user_email` = '{$_POST['email']}'");
  4. $row = mysql_fetch_row($result);
  5. if($row[0] > 0) {
  6. echo '<p>Już istnieje użytkownik z takim loginem lub adresem e-mail.</p>';
  7. } else {
  8. // jeśli nie istnieje to kodujemy haslo...
  9. $_POST['password'] = codepass($_POST['password']);
  10. // i wykonujemy zapytanie na dodanie usera
  11. $sql = "INSERT INTO users (user_name=".$_Post['name'].", user_password=".$_post['name'].", user_email=".$_post['password'].", user_regdate=".time().", user_status=".$_post['user_status']." ,grupa=".$_post['grupa'].")";
  12. echo '<p>Został poprawnie dodany użytkownik! <a href="admin.php?akcja=lista_uzytkownikow">wróć</a> </p>';
  13.  
  14. }
  15. }
mortus
Bo w tej formie zabrakło słówka SET, jak i apostrofów w co niektórych miejscach. Sprawdzić możesz tak samo, jak proponowałem wyżej.
michu9010
w ktorym miejscu SET?? zmienilem wszystko w apstrofach i nadal nie wpisuje do bazy ohno-smiley.gif
  1. // jeśli zostanie naciśnięty przycisk "Zarejestruj"
  2. if(isset($_POST['name'])) {
  3. // filtrujemy dane...
  4. $_POST['name'] = clear($_POST['name']);
  5. $_POST['password'] = clear($_POST['password']);
  6. $_POST['password2'] = clear($_POST['password2']);
  7. $_POST['email'] = clear($_POST['email']);
  8. $grupa = $_POST['grupa'];
  9. $user_status = $_POST['user_status'];
  10.  
  11. // sprawdzamy czy wszystkie pola zostały wypełnione
  12. if(empty($_POST['name']) || empty($_POST['password']) || empty($_POST['password2']) || empty($_POST['email'])) {
  13. echo '<p>Musisz wypełnić wszystkie pola.</p>';
  14. // sprawdzamy czy podane dwa hasła są takie same
  15. } elseif($_POST['password'] != $_POST['password2']) {
  16. echo '<p>Podane hasła różnią się od siebie.</p>';
  17. // sprawdzamy poprawność emaila
  18. } elseif(filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) === false) {
  19. echo '<p>Podany email jest nieprawidłowy.</p>';
  20. } else {
  21. // sprawdzamy czy są jacyś uzytkownicy z takim loginem lub adresem email
  22. $result = mysql_query("SELECT Count(user_id) FROM `users` WHERE `user_name` = '{$_POST['name']}' OR `user_email` = '{$_POST['email']}'");
  23. $row = mysql_fetch_row($result);
  24. if($row[0] > 0) {
  25. echo '<p>Już istnieje użytkownik z takim loginem lub adresem e-mail.</p>';
  26. } else {
  27. // jeśli nie istnieje to kodujemy haslo...
  28. $_POST['password'] = codepass($_POST['password']);
  29. // i wykonujemy zapytanie na dodanie usera
  30. $sql = "INSERT INTO `users` (`user_name`=".$_Post['name'].", `user_password`=".$_post['name'].", `user_email`=".$_post['password'].", `
  31. user_regdate`=".time().", `user_status`=".$_post['user_status']." ,`grupa`=".$_post['grupa'].")";
  32. echo '<p>Został poprawnie dodany użytkownik! <a href="admin.php?akcja=lista_uzytkownikow">wróć</a> </p>';
  33.  
  34. }
  35. }
  36. }
  37.  
  38. // wyświetlamy formularz
  39. echo '<form method="post" action="admin.php?akcja=uzytkownik_dodaj">
  40. <label>Login:</label>
  41. <input type="text" value="'.$_POST['name'].'" name="name">
  42.  
  43. <label>Hasło:</label>
  44. <input type="password" value="'.$_POST['password'].'" name="password">
  45.  
  46. <label>Powtórz hasło:</label>
  47. <input type="password" value="'.$_POST['password2'].'" name="password2">
  48.  
  49. <label>E-mail:</label><input type="text" value="'.$_POST['email'].'" name="email">
  50.  
  51. <label>Grupa:</label>
  52. <select name="grupa">
  53. <option value="'.$_POST['0'].'">Brak</option>';
  54. $result2 = mysql_query("SELECT * FROM users_group WHERE aktywnosc='1'");
  55. while($row2 = mysql_fetch_array($result2))
  56. {
  57. echo '<option value="'.$row2['id'].'"';
  58. if($row2['id']==$row['grupa']) echo ' selected';
  59. echo '>'.stripslashes($row2['nazwa']).'</option>';
  60. }
  61. echo '
  62. </select name="user_status">
  63. <label>Uprawnienia administratora:</label>
  64. <select name="user_status">
  65. <option value="'.$_POST['0'].'">Nie</option>
  66. <option value="'.$_POST['administrator'].'">Tak</option>
  67.  
  68. </select>
  69. <br>
  70. <input type="submit" value="Zarejestruj">
  71.  
  72. </form>';
  73.  
  74.  
  75. }


ostatnia zmiana i mi ręce opadły

  1. // sprawdzamy czy są jacyś uzytkownicy z takim loginem lub adresem email
  2. $result = mysql_query("SELECT Count(user_id) FROM `users` WHERE `user_name` = '{$_POST['name']}' OR `user_email` = '{$_POST['email']}'");
  3. $row = mysql_fetch_row($result);
  4. if($row[0] > 0) {
  5. echo '<p>Już istnieje użytkownik z takim loginem lub adresem e-mail.</p>';
  6. } else {
  7. // jeśli nie istnieje to kodujemy haslo...
  8. $_POST['password'] = codepass($_POST['password']);
  9. // i wykonujemy zapytanie na dodanie usera
  10. mysql_query("INSERT INTO `users` (`user_name`=".$_Post['name'].", `user_password`=".$_post['name'].",
  11. `user_email`=".$_post['password'].", `user_regdate`=".time().", `user_status`=".$_post['user_status']."
  12. ,`grupa`=".$_post['grupa'].")");
  13. echo '<p>Został poprawnie dodany użytkownik! <a href="admin.php?akcja=lista_uzytkownikow">wróć</a> </p>';
  14.  
  15. }
  16. }
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.