PDA

Zobacz pełną wersję : Pobranie zmiennej do zapytania mysql



artureks
26-11-2008, 16:35
Witam,
mam problem z pobraniem nazwy zalogowanego użytkownika do zapytania do bazy. Kod komponentu jest następujący:


jimport( 'joomla.application.component.model' );
JTable::addIncludePath(JPATH_COMPONENT.DS.'tables' );
$user1 = &JFactory::getUser();
$user1->get('username');
//echo $user1->get('username'); - wyświetlany jest zalogowany użytkownik
class RozlModelRozl extends JModel
{
function getRozl()
{
$query = "SELECT * FROM #__rozl where user ='$user1'";
//$query = "SELECT * FROM #__rozl where user ='admin'"; - wyświetlane są z bazy rekordy gdzie użytkownikiem jest admin
$dane = $this->_getList($query);
return $dane;
}
}Jeżeli zamiast zmiennej w zapytaniu wstawię stałą to wszystko wykonywane jest poprawnie. Tak samo jest podczas wyświetlania zmiennej przed klasą.

Proszę o pomoc w rozwiązaniu tego problemu
Pozdrawiam

Jola
26-11-2008, 16:54
Witam,

$query = "SELECT * FROM #__rozl where user ='".$user1."'";To powinno pomóc.

artureks
26-11-2008, 23:01
Niestety nie pomogło - nie zwraca żadnych wyników.

Jola
26-11-2008, 23:34
Nie wiem czy zmienna $user1 jest widziana w tej funkcji.

vego007
27-11-2008, 10:13
Próbowałeś w ogóle wykonać zapytanie bezpośrednie do bazy, z takim użytkownikiem?
Bo jeśli tak to przykład podany przez jolaass powinien działać.
Zauważ że zmienna jest tam zapisana jako ' " . $zmienna " ' ";

artureks
27-11-2008, 11:26
Rzeczywiście zmienna nie była widziana. Poniżej przedstawiam ostateczne rozwiązanie:

function getRozl()
{
$user1 = &JFactory::getUser();
$user2 = $user1->get('username');
$query = "SELECT * FROM #__rozl where user ='".$user2."'";
$dane = $this->_getList($query);
return $dane;
}Dzięki za zainteresowanie tematem oraz dla jolaass za naprowadzenie ;)

vego007
28-11-2008, 11:14
hehe nie zwróciłem nawet uwagi że cały obiekt chciałeś porównywać ;)