Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 20.04.2012 Ostrzeżenie: (0%)
|
Witam,
Mam pewien problem odnośnie bazy danych i wyśietlania sie 33 razy danego słowa zamiast raz na stronie. Otóż mam taki plik PHP: CODE <?php $db =& JFactory::getDBO(); $user =& JFactory::getUser(); $query = "SELECT usertype" . " FROM #__session" . " WHERE (usertype = 'Super Administrator') OR (usertype = 'Administrator') OR (usertype = 'Manager')" . $and . " ORDER BY usertype" ; $db->setQuery( $query ); $rows = $db->loadObjectList(); require( dirname( __FILE__ ).DS.'tmpl'.DS.'default.php' ); który pobiera z bazy dany rekord zależny od tego kto się rejsetruje na zaplecze i wyswietla go na stronie, jednakże niesety dubluje go wielerazy. Czyli ma być tak: Administrator loguje się na zaplecze i na stronie w zapleczu ma być Super Administrator w ilości jednej a wysakuje w ilośći 33 razy. Tutaj podaję inny plik odpowiedzialny za wyświetlanie na stronie: CODE <?php /** $Id: default.php 10381 2008-06-01 03:35:53Z pasamio $ */ defined( '_JEXEC' ) or die( 'Restricted access' ); ?> <?php foreach ($rows as $row) : $auth = $user->authorize( 'com_users', 'manage' ); ?> <?php echo JText::_( 'Admin Welcome' ); echo " ", $row->usertype; echo "<br />"; ?> <?php endforeach; ?> <?php echo JHTML::_( 'form.token' ); ?> Prosze o pomoc jak wyświtlić danego użytkownika który loguje się na zapleczu tylko raz a nie w ilości np. 33 razy. Pozdrawiam |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 20.04.2012 Ostrzeżenie: (0%)
|
Napiszę od początku dla lepszego zrozumienia sprawy.
Po zalogowaniu się konkretnej osoby do zaplecza, której został przydzielony określnoy status podczas rejestracji, pojawia się dla niej taki napis w zależności od użytkownika w określonym okienku: Super Administrator - jest to główny Adminsitator zaplecza, Administrator - jest w hierarchi niżej niż Super Administrator, Manager - użytkownik o najniższym statusie, który ma zdolność do logowania się do zaplecza. Moduł, który służy wyświetalniu powyższych uztkowników w okienku to plik mod_userdata.php o zawartości: CODE <?php // no direct access defined( '_JEXEC' ) or die( 'Restricted access' ); jimport('arttechnology.html.pagination'); $db =& JFactory::getDBO(); $user =& JFactory::getUser(); $query = "SELECT usertype" . " FROM #__session" . " WHERE (usertype = 'Super Administrator') OR (usertype = 'Administrator') OR (usertype = 'Manager')" . $and . " ORDER BY usertype" ; $db->setQuery( $query ); $rows = $db->loadObjectList(); require( dirname( __FILE__ ).DS.'tmpl'.DS.'default.php' ); oraz plik o nazwie default.php o zawartości: CODE <?php /** $Id: default.php 10381 2008-06-01 03:35:53Z pasamio $ */ defined( '_JEXEC' ) or die( 'Restricted access' ); ?> <?php foreach ($rows as $row) : $auth = $user->authorize( 'com_users', 'manage' ); ?> <?php echo JText::_( 'Admin Welcome' ); echo " ", $row->usertype; echo "<br />"; ?> <?php endforeach; ?> <?php echo JHTML::_( 'form.token' ); ?> Struktura bazy danych ma takie wartości jak: Nazwa tabeli: session Nazwy rekordów w tabeli: username | time | session_id | guest | userid | usertype | gid | client_id | data I teraz z rekordu usertpye chcę wyciągać dane nazwy użytkownika, który się zalogował na zapleczu. Jego nazwa ma być widoczna w specjalnym okienku w zapleczu. Obecnie wyświetlają mi się prawidłowe dane uzytkownika które mu zostały przydzielone po zalogowaniu sie na zapleczu, ale niestety duplikują się 32 razy (w sumie wyświetla się 33 razy nazwa tylko jednego uzytkownika, dlaczego?). Chciałbym jeszcze zaznaczyć, że posiadam w pliku sql, który zostaje wgrywany do bazy danych podczas instalacji CMSa o takich danych: CODE INSERT INTO `#__core_acl_aro_groups` VALUES (23,30,'Manager',14,19,'Manager'); INSERT INTO `#__core_acl_aro_groups` VALUES (24,23,'Administrator',15,18,'Administrator'); INSERT INTO `#__core_acl_aro_groups` VALUES (25,24,'Super Administrator',16,17,'Super Administrator'); Prosze spojrzeć co mnie nie pokoi i czy to ma zwiazek z tym duplikowaniem nazw uzytkowników. Otóż w pomiędzy nazwami uzytkowników są przydzielone liczby, które w sumie dają wartość liczbową 33 ! Czy to ma jakiś zwiazek z tym, że wyśtwietla mi się w zapleczu 33 razy nazwa jednego uzytkownika ? Prosze o odpowiedz. Z góry dziękuję. Ten post edytował dudi88 20.04.2012, 15:45:30 |
|
|
|
dudi88 Powtarzający się dane ! 20.04.2012, 13:20:03
Niktoś Strasznie namieszane,powinno być coś miej więcej t... 20.04.2012, 13:52:05
dudi88 Dzięki za zainsteresowanie się moim tematem jednak... 20.04.2012, 14:33:39
Niktoś Może wpisując to takiego usera w bazie danych nie ... 20.04.2012, 14:53:19
dudi88 Po zalogowaniu się do zaplecza user automatycznie ... 20.04.2012, 15:16:20
Niktoś CytatPo zalogowaniu się do zaplecza user automatyc... 20.04.2012, 15:21:00
Niktoś A sprawdzałeś czy metoda getUser();-poprawnie zwra... 20.04.2012, 15:52:05
dudi88 "A sprawdzałeś czy metoda getUser();-poprawni... 20.04.2012, 16:00:07
Niktoś echo $user; powinno wyświetlić nazwę użytkown... 20.04.2012, 16:04:59
dudi88 No tak bo za wyswietlanie jest odpowiedzialna inna... 20.04.2012, 16:07:47
Niktoś CytatNo tak bo za wyswietlanie jest odpowiedzialna... 20.04.2012, 16:17:42
dudi88 a co Pan myśli o zawartości w pliku sql:
INSERT ... 20.04.2012, 16:22:20
Niktoś CytatCzy suma tych liczb może mieć jakiś zwiazek z... 20.04.2012, 16:33:13
dudi88 OK, więc jak zrobić żeby metoda getUser(); zwracał... 21.04.2012, 09:11:50 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 12:22 |