Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: jak przypisac dane danemu uzytkownikowi
Forum PHP.pl > Forum > PHP
uzytkownik.pl
Witam,

piszę prace dyplomową, niestety nie bardzo znam temat w praktyce. Otóż:
mam baze danych, a w niej miedzy innymi
tabele uzytkow, rodziców, nauczycieli, dzieci wiadomości
Gdy wyciagam wiadomości dla rodzica, po zalogowaniu danego rodzica wszystko jest ok.
Jednak gdy chcę przyporządkować wiadomości nauczycielom,
a następnie je wydobyć - nie dział. Proszę pomóżcie.
Kod dla rodzicow wyglada tak:
**********************************************

  1. require_once('powtarzalny.portal.php');
  2.  
  3. $tpl->assign('user', $_SESSION['user']);
  4.  
  5.  
  6. $uczen = $db->GetRow("SELECT *
  7. FROM uczniowie
  8. WHERE iducznia = ?", array($_SESSION['user']['dziecko']));
  9.  
  10. $uczenTmp = array();
  11. foreach($uczen as $uczwie){
  12. $uczenTmp[$uczwie['user']]=$uczwie['dziecko'];
  13. }
  14.  
  15.  
  16. $liczbaRekordow = $db->GetOne("SELECT count(w.wsci) as ilosc
  17. FROM wiad w
  18. JOIN klasy k ON k.IdKlasy = w.IdKlasy
  19. JOIN uczniowie u ON u.Iducznia = w.Iducznia
  20. JOIN uzytkownicy uz ON uz.IdUzytkownika = w.IdUzytkownika
  21. JOIN uzytkownikrodzic ur ON ur.IdUzytkownika = uz.IdUzytkownika
  22. WHERE (w.przeczytana='nie') and (uz.idNauczyciela>=1) and u.iducznia = ?", array($uczen['IdUcznia']));
  23.  
  24. $rezwiadWsz = $db->GetOne("SELECT count(w.wsci) as wiadWsz
  25. FROM wiad w
  26. JOIN klasy k ON k.IdKlasy = w.IdKlasy
  27. JOIN uczniowie u ON u.Iducznia = w.Iducznia
  28. JOIN uzytkownicy uz ON uz.IdUzytkownika = w.IdUzytkownika
  29. JOIN uzytkownikrodzic ur ON ur.IdUzytkownika = uz.IdUzytkownika
  30. WHERE (uz.idNauczyciela>=1) and u.iducznia = ?", array($uczen['IdUcznia']));
  31.  
  32. **********************************************
  33.  
  34.  
  35. natomiast dla nauczycieli:
  36. **********************************************
  37. require_once('powtarzalny.portal.php');
  38. $tpl->assign('user', $_SESSION['user']);
  39.  
  40. $user = $_SESSION['user'];
  41.  
  42.  
  43. $nauczyciel = $db->GetRow("SELECT *
  44. FROM nauczyciele n
  45. WHERE idnauczyciela = ?", ($_SESSION['user']['nauczyciel']));
  46.  
  47. $nauczycielTmp = array();
  48. foreach($nauczyciel as $nauczyciele){
  49. $nauczycielTmp[$nauczyciele['user']]=$nauczyciele['nauczyciel'];
  50. }
  51.  
  52.  
  53. $liczbaRekordowN = $db->GetOne("SELECT count(w.wsci) as ilosc
  54. FROM wiad w
  55. JOIN uzytkownicy uz ON uz.IdUzytkownika = w.IdUzytkownika
  56. JOIN nauczyciele n ON uz.IdUzytkownika = n.IdNauczyciela
  57. WHERE (w.przeczytana='nie') and n.idNauczyciela = ?", array($nauczyciel['IdNauczyciela']));
  58.  
  59.  
  60. $rezwiadWszN = $db->GetOne("SELECT count(w.wsci) as ilosc
  61. FROM wiad w
  62. JOIN uzytkownicy uz ON uz.IdUzytkownika = w.IdUzytkownika
  63. JOIN nauczyciele n ON uz.IdUzytkownika = n.IdNauczyciela
  64. WHERE w.IdNauczyciela>='1'");

*******************************************************
modern-web
Szkoda, że nie stosujesz odpowiednich znaczników przed i za kodem.
([.php]*[./php])
uzytkownik.pl
A poza tym?
singollo
Poza tym, to mógłbyś je dołożyć tongue.gif

Sprawdź, co masz sesji - być może, jeśli logujesz się jako rodzic, a później jako nauczyciel, to jakieś śmieci się przenoszą w sesji.
Poza tym sprawdź, co zwraca ci każde zapytanie (nie napisałeś, które dokładnie zapytanie zwraca nieprawidłowe/nieoczekiwane wyniki). No i sprawdź w bazie, czy są jakiekolwiek rekordy spełniające zadane warunki

Pozdrawiam,

Singollo
d3ut3r
sprawdź sobie to zapytanie w phpmyadmin , i upewnij się że wynik w ogóle powinien być.
uzytkownik.pl
było sprawdzone. jest ok. problem zaczyna sie od momentu dodania warunku z uzytkownikiem (linijka kodu z uzytkownikiem). a moze inaczej:
jak przyporzadkowac uzytkownika w seleccie? to jest jak powinien wygladac kod w php, ktory wyciaga wiadomosc dla konkretnego uzytkownika?
phpion
Proszę wstawić kod w pierwszym poście w odpowiednie tagi ([php][/php]).
singollo
Generalnie kod jest poprawny (przynajmniej na tyle, na ile można zauważyć bez uruchomienia). Sprawdź, jakie _dokładnie_ zapytanie wykonujesz, tzn - co masz w sesji i jak dokładnie wygląda kod sql przekazany do bazy.
uzytkownik.pl
zapytanie sql zwraca poprawny wynik. a co jest w sesji nie wiem jak sprawdzic.

dboss
Do przeglądania tego, co jest w sesji możesz użyć
  1. print_r($_SESSION)
uzytkownik.pl
rzeczywiscie, jest jakis problem w sesji i nie bardzo wiem skąd. sesja zwrociła:
  1. Array ( [user] => Array ( [IdUzytkownika] => 4 [imie] => ImieNauczyciela [nazwisko] => NazwiskoNauczyciela [nick] => NikNauczyciela [haslo] => c4ef6987024cb49b9d3657ffa0fbccc0ae [IdRodzica] => [IdNauczyciela] => 1 [dataAktywowania] => 0000-00-00 00:00:00 [dataOstLog] => [dziecko] => ) )


wszystko jest ok do hasla, natomiast cała reszta jest cześcia zapytania, gdy logowałby się rodzic, a przecież się nie logował.
konole
Cytat(uzytkownik.pl @ 6.06.2011, 18:05:05 ) *
zapytanie sql zwraca poprawny wynik. a co jest w sesji nie wiem jak sprawdzic.

Wstaw
ten
kod
w
tych
znacznikach
php

Jeez...
phpion
@uzytkownik.pl:
Prosiłem - dodaj bbcode. Nie dodałeś. Nie będę Ci teraz zamykał tematu, ale dostaniesz pstryczka w nos w postaci ostrzeżenia. Następnym razem temat Ci zamknę.

@konole:
Używaj proszę przycisku "Raportuj".
uzytkownik.pl
ok, sorry, to nie zla wola, a brak obycia z postami.
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.