Forum Webscript.Ru

Программирование => PHP => Тема начата: Гость от 24 Июня 2003, 13:41:06

Название: Народ помогите.... с запросом
Отправлено: Гость от 24 Июня 2003, 13:41:06
Народ помогите.... с запросом

$this->sql_query="SELECT n_id, n_name, n_lead, n_text FROM tbl_news WHERE n_id=$id";

Un....variable id..............

как мне быть ?
Название: Народ помогите.... с запросом
Отправлено: Stas от 24 Июня 2003, 13:50:53
Цитировать
Гость:
Un....variable id..............

Что что ?

может и вправду $id - такой нет ?
Название: Народ помогите.... с запросом
Отправлено: Alexandr от 24 Июня 2003, 13:56:24
сделай
print $this->sql_query;
и затести этот запрос с помошью mysql(.exe)
Название: Народ помогите.... с запросом
Отправлено: Гость от 24 Июня 2003, 17:01:38
Stas

Это и есть моя функция в классе out

var $out_cat_list;
var $out_news_list;
var $out_news_text;
var $out_news_id;

 function out_news_list()
 {
  $this->sql_query="SELECT n_id, n_name, n_lead, n_text FROM tbl_news ORDER BY n_id WHERE n_id=$id";
  $this->sql_execute();
  if($this->sql_err) return(11);

  while(list($id, $name, $lead, $text)=mysql_fetch_row($this->sql_res))
  {

  $this->out_news_list.="$name
$lead

\\n";
  $this->out_news_text.="
$name

$lead

$text


\\n";
  }

 return(0);
 }
Название: Народ помогите.... с запросом
Отправлено: Гость от 24 Июня 2003, 17:11:52
Alexandr
Stas

Друзья к чему я это все...

$this->out_news_list.="$name
$lead

\\n";

эту переменную я вызывю без проблем...(тут якобы он находит..$id )
ну естественно когда нет в SQL запросе n_id=$id

а мне нужно выводить полную версию новостей именно по id чтоб не получать все новости из tbl_news )

Зарание спасибо.... что уделиле внимпние...
Название: Народ помогите.... с запросом
Отправлено: Alexandr от 24 Июня 2003, 17:43:19
Сделал как я говорил?
Нет, а так бы ты сразу понял, что у тебя не определена переменная $id

Попробуй так

var $out_cat_list;
var $out_news_list;
var $out_news_text;
var $out_news_id;

function out_news_list()
{
$id=2;//Это например
$this->sql_query="SELECT n_id, n_name, n_lead, n_text FROM tbl_news ORDER BY n_id WHERE n_id=$id";
$this->sql_execute();
if($this->sql_err) return(11);

while(list($id, $name, $lead, $text)=mysql_fetch_row($this->sql_res))
{

$this->out_news_list.="$name
$lead

\\n";
$this->out_news_text.="
$name

$lead

$text


\\n";
}

return(0);
}
Название: Народ помогите.... с запросом
Отправлено: Alexandr от 24 Июня 2003, 17:43:53
Кстати SQL тут вообще не причём.
Название: Народ помогите.... с запросом
Отправлено: Гость от 24 Июня 2003, 18:46:25
Alexandr

Просто я не подчеркнул одно... то что пока у меня нет реального сервака...

Я пользуюсь Джентельменским набором...Apsche+PHP+MySQL под Win32 не знаю слышал ли ты о таком ??? Я пробывал как ты меня и просил но почему то он теперь совсем ничего не вытаскивает...

не знаю разумно ли но я и так пробывал...

$this->out_news_id=$id;

но у меня как и в твоем примери пусто даже то что было пропало...

что можеш по советвать ?
Название: Народ помогите.... с запросом
Отправлено: Chs от 24 Июня 2003, 19:42:13
Уехали в ПХП.
Название: Народ помогите.... с запросом
Отправлено: ThE0ReTiC от 24 Июня 2003, 20:58:31
Гость
Тебе уже объяснили.
У тебя неопределена $id
ты не передаешь ее в функцию и не обявляешь глобальной (что вообще было бы идиотизмом в данном случае)
Цитировать
Гость:
новостей именно по id чтоб не получать все новости из tbl_news

Что значит все?
зачем выбирать n_id второй раз
если это первичный ключ, от он у тебя и так есть.
а так как ты ищешь именно по нему, то цикл совершенно не нужен, так как отрабатывать он у тебя будет только 1 раз (если вообще будет), ибо это должен быть первичный ключ, а следовательно уникальное в пределах таблицы значение