soctell

Добавление динамической страницы

Recommended Posts

Вот добавил функцию getemail(), она не работает

function getemail() {		$query = "select * from results_score order by yscore, mscore LIMIT 1";        $this->db->exec($query);        $this->db->fetch_assoc();        return $this->db->row['email'];			}					function getAccountValue($em) {				$qwe = $this->getemail();		$query = "select * from ".DB_PREFIX."_user where email='$qwe' LIMIT 1";        $this->db->exec($query);        $this->db->fetch_assoc();        return $this->db->row['imgfile'];}		    function getImage() {				$query = "select * from results_score order by yscore, mscore LIMIT 1";        $this->db->exec($query);        $this->db->fetch_assoc();        $em = $this->db->row['email'];				$img = $this->getAccountValue($em);

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
function getAccountValue($em) {

Зачем передаете в нее $em, если вы имейл получаете внутри из getemail() ?

 

Так же в getImage зачем скл-запрос, если вы уже получаете готовое поле с картинкой из getAccountValue ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Т.е. так

	function getemail() {		$query = "select * from results_score order by yscore, mscore LIMIT 1";        $this->db->exec($query);        $this->db->fetch_assoc();        return $this->db->row['email'];			}					function getAccountValue() {				$qwe = $this->getemail();		$query = "select * from ".DB_PREFIX."_user where email='$qwe' LIMIT 1";        $this->db->exec($query);        $this->db->fetch_assoc();        return $this->db->row['imgfile'];}		    function getImage() {				$query = "select * from results_score order by yscore, mscore LIMIT 1";        $this->db->exec($query);        $this->db->fetch_assoc();        $em = $this->db->row['email'];				$img = $this->getAccountValue();

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
function getImage() {     ///отсюдава           $query = "select * from results_score order by yscore, mscore LIMIT 1";$this->db->exec($query);$this->db->fetch_assoc();$em = $this->db->row['email'];/// досюдова/// уберите                $img = $this->getAccountValue();

а в остальном должно работать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Сделал так, не выводит конечный результат в $img

 	function getemail() {		$query = "select * from results_score order by yscore, mscore LIMIT 1";        $this->db->exec($query);        $this->db->fetch_assoc();        return $this->db->row['email'];			}					function getAccountValue() {				$qwe = $this->getemail();		$query = "select * from ".DB_PREFIX."_user where email='$qwe' LIMIT 1";        $this->db->exec($query);        $this->db->fetch_assoc();        return $this->db->row['imgfile'];}		    function getImage() {					$img = $this->getAccountValue();		        $rs ='<img width="50" border="0" style="  margin-left: 84px;    margin-top: -72px;

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот теперь начинается настоящий кайф)

 

В getImage() после вызова $img = $this->getAccountValue(); делайте отладочный вывод var_dump($img); и смотрите, соответствует ли он ожиданиям.

 

ПС. Надеюсь return в getImage не забыли?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот решение проблемы

function getAccountValue() {				$qwe = $this->getEmail();		$qwe = str_replace(' ', '', trim($qwe));$query = "select * from re_user where email='".$qwe."' LIMIT 1";        $this->db->exec($query);        $this->db->fetch_assoc();        return $this->db->row['imgfile'];}

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Даже так?))

 

Тогда в принципе одного trim хватит. Или там настолько все плохо, что даже в середине почтового адреса могут быть пробелы?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Для проверки условия?

Вы рассуждайте от того, что бы вы должны получить. Например getAccountValue должна вернуть имя файла, а это строк. Непустая. Тогда можете смело проверять на !='' . trim лишних пробелов можете сделать как внутри getAccountValue , так и после нее, но лучше внутри - тогда функция будет  гарантировано возвращать строку-имя либо пустую строку, т.е. будет предсказуемой.

Тут много зависит именно от того, какие задания вы возложите на функции и сто они должны будут вам возвращать. Но проверок по сути всего несколько. Для примитивных значение это равенство\неравенство\эквивалетность и empty

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас