Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Pokazuje wszystko a nie tylko jedno z ID
Forum PHP.pl > Forum > Przedszkole
deLL
  1. $sql = "SELECT n.*, u.* FROM aktualnosci n LEFT JOIN users u ON n.user_id = u.id AND n.id = " . $_GET['pokaz'] .";";


Mam taki oto kod, lecz jak on się wykonuje i zamiast $_GET['pokaz'] jest np. 10 to i tak pokazuje wszystkie newsy co są w bazie a nie ten o ID 10. Ma ktoś na to radę?
johny_s
sproboj tak
  1. $sql = "SELECT n.*, u.* FROM aktualnosci n LEFT JOIN users u ON n.user_id = u.id WHERE n.id = " . $_GET['pokaz'];
deLL
Dziękuje, działa.

Mam jeszcze jeden problem, a po co zakładać nowy temat.

Oto plik login.php:
  1. <?php
  2.  
  3.  
  4. include '../config.php';
  5. include 'func.php';
  6.  
  7. switch($_GET['akcja']) {
  8. case "zaloguj":
  9. if(isset($_POST['login']) and
  10. (isset($_POST['pass'])))
  11. {
  12. $sql = "SELECT id, user_name " .
  13. "FROM users " .
  14. "WHERE user_name='" . $_POST['login'] . "' " .
  15. "AND user_pass='" . md5($_POST['pass']) . "'";
  16.  
  17. $result = mysql_query($sql, $connect)
  18.  
  19. if ($row = mysql_fetch_array($result)) {
  20. $_SESSION['id'] = $row['id'];
  21. $_SESSION['name'] = $row['user_name'];
  22.  
  23. }
  24. }
  25. redirect('index.php');
  26. break;
  27.  
  28. case "wyloguj":
  29. redirect('../index.php');
  30. break;
  31. }
  32.  
  33.  
  34. ?>


Jak widać jest tam:
  1. $_SESSION['id'] = $row['id'];


W innym pliku mam:

  1. case "news":
  2. $data = $_POST['data'];
  3. $tytul = $_POST['tytul'];
  4. $skrot = $_POST['skrot'];
  5. $tresc = $_POST['tresc'];
  6. //$id_user = $_SESSION['id'];
  7.  
  8. $sql2 = "INSERT INTO `TABELA`.`aktualnosci` (
  9. `id` ,
  10. `news_title` ,
  11. `news_skrot` ,
  12. `news_text` ,
  13. `news_date` ,
  14. `user_id`
  15. )
  16. VALUES (
  17. NULL , '" . $tytul ."', '" . $skrot ."', '" . $tresc ."', '" . $data ."', '" . $_SESSION['id'] ."'
  18. );";
  19.  
  20. $zapytanie2 = mysql_query($sql2)
  21.  
  22. echo "<h1>News dodany!</h1>";
  23. break;


Lecz zamiast np. ID dodawać 1 to dodaje 12 non stop sad.gif
piotrooo89
jak się logujesz użytkownikiem, który ma ID nr 12 to w czym rzecz?
deLL
Właśnie chodzi o to, że user ma ID 1 sad.gif Nawet user o ID 2 dodaje mu się 12 :<
piotrooo89
a nie masz gdzieś (w innym miejscu) dopisane na sztywno do tej zmiennej 12? sprawdź jeszcze co masz w tym miejscu jak nadajesz wartość tej zmiennej.
deLL
Jedyne przypisanie dla zmiennej to jest
  1. $_SESSION['id'] = $row['id'];


W innych plikach jest tylko np. if(isset($_SESSION['id'])... ale innych przypisujących nie ma.
piotrooo89
w takim razie zobacz co jest w zmiennej $row['id'] przed przypisaniem do sesji.
deLL
Jest 1.

Jak się zaloguje i pochodzę trochę po menu (nawet jak parę razy kliknę w jeden link (np. Dodaj News) to po paru kliknięciach zmienia się na 12 sad.gif

Wiem!

W bazie danych w tabeli aktualnosci jest news, i on ma ID 12.. Jak zmieniłem jego ID na 17 to SESSION id też się zmieniło.

Już wszystko działa, zmieniłem nazwy zmiennych sesji smile.gif
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.