CrashX
В прошлом XSiteCMS
- Регистрация
- 6 Июн 2008
- Сообщения
- 681
- Реакции
- 114
- Автор темы
- #1
Есть таблица допустим новости (поля id,content,autor,pdate,cat)
есть таблица категории (поля id,pid,name,sort)
есть таблица пользователи (поля id,login,name, дальне неважно)
делаю
после
и тоже самое с категорией
id пользовалеля берется из таблицы с новостями)
---
проблема в том что
при выполнее запроса внутри результ верхнего заменяется...
подстановка прошлого id в
результат не дает...
знаю что можно и нужно использовать вложеные запросы, типа join или банальный вложеный селект...
как получить данные внутренегого запроса ? не испортив результат внешнего.
есть таблица категории (поля id,pid,name,sort)
есть таблица пользователи (поля id,login,name, дальне неважно)
делаю
Код:
[info] => NewsView
[query] => SELECT id, cid, title, content, reference, author, hits, created FROM news ORDER BY `created` DESC;
после
Код:
[info] => user->select(ID:1, UL:, UP:)
[query] => SELECT id, gid, ulogin, upassword, uemail, unick, uname, usurname, ulocation, uoffset, ulanguage, utemplate, uregister, uvisit FROM users WHERE id='1' ;
id пользовалеля берется из таблицы с новостями)
---
проблема в том что
PHP:
if ($engine->db->query()):
// $this->result = $engine->db->id;
while ($this->record = $engine->db->result()):
_print($this->record);
// $engine->db->id = $this->result;
foreach ($this->record as $column => $value):
//echo $column . '=>' . $value . "<br>";
switch ($column):
case "content": $engine->string->cut($value);
break;
case "created": $engine->dateformat($value);
break;
case "reference": $value = _REFERENCE . ": " . $value;
break;
case "hits": $value = $engine->translator(explode(",", _HIT), $value) . ": " . $value;
break;
case "author":
// xdebug_break();
$engine->extend($engine->user);
$engine->user->select(array('id' => $value));
_print($engine->user->field);
$value = _AUTHOR . ": " . $engine->user->field['ulogin'];
break;
default:
break;
endswitch;
$engine->template->set('{' . $column . '}', $value);
endforeach;
$engine->template->compile($this->config);
endwhile;
при выполнее запроса внутри результ верхнего заменяется...
подстановка прошлого id в
PHP:
/**
* Возвращение результата в виде массива
* @param MYSQL_ASSOC, MYSQL_NUM, MYSQL_BOTH
* @return mixed результат
*/
function result($type=MYSQL_ASSOC) {
return @mysqli_fetch_array($this->id, $type);
}
знаю что можно и нужно использовать вложеные запросы, типа join или банальный вложеный селект...
как получить данные внутренегого запроса ? не испортив результат внешнего.