IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Веб-программирование (https://www.imho.ws/forumdisplay.php?f=29)
-   -   Оформление ссылки {PHP} (синтаксис, функции) - Help! (https://www.imho.ws/showthread.php?t=63337)

killhunter 05.07.2004 00:58

Оформление ссылки {PHP} (синтаксис, функции) - Help!
 
Мужики, помогите, пожалуйста
Только начинаю в PHP
Делаю, пока, в локале (поднял Apache, прикрутил PHP + MySQL) новостной сайт.
Проблема в следующем:
* есть 2 таблицы в БД - анонс новостей и сами новости {у них одно поле одиноковое news_id}
* анонсы я на страничку вывел из БД
* как оформить ссылку (и какие нужны функции {что-то c Left_join, скорее всего}), чтобы кликаяя по анонсу новости перейти к самой новости? :confused:

Thanks before!

Hubbitus 05.07.2004 02:22

Лучше бы ты описал подробнее структуру таблиц, а так в общем виде, д.б. что-то вроде:
Ссылка:
Left_join, тебе сдесь совсем не надо, а пишешь простой запрос к БД, вида:
Код:

select * from full_news where news_id=$news_id
Где full_news - соответственно имя таблицы полных новостей.

Соответственно потом результат выводишь как полную новость и все.

killhunter 11.07.2004 01:31

Ok, спасибо

Ну вот какая штука не получается задумка
Вот что у меня:

страница для вывода большой новости

PHP код:

<?


require("scr/out.class");

  $my=new class_out;
  $my->sql_connect();


  $my->html_headers();
...

  flush();

?>
...
<?

 $err=$my->out_news_big();
 if($err)
 {
  echo $my->err_to_html($err);
 }else
 {
  echo $my->out_news_big;
 }


?>
   ....
<?
 flush();
...
  $my->sql_close();
...


?>

Сам класс вывода
PHP код:

<?
require("scr/utils.class");
 class class_out extends class_utils
{
var $out_news_small_list;
var $out_news_big;


 function out_news_small_list()
 {
//коннект к базе
  $this->sql_query="select news_id, news_header_s, news_body_s, date_format(news_date_s,'%d.%m.%Y'), news_footer_s from news_small order by news_id limit 0,3";
  $this->sql_execute();
  if($this->sql_err) return(11);

  while(list($id, $name, $body, $date, $footer)=mysql_fetch_row($this->sql_res))
  {
   $this->out_news_small_list.="<table border=1><tr><td>$name</td><td>$date</td></tr><tr><td colspan='2'>$body</td></tr><tr><td colspan='2' align='right'><a href=/news/?news_id=$id>$footer</a><br>\n</td></tr></table><hr>";
  }

  return(0);
 }

 function out_news_big()
 {

  $this->sql_query="select * from news_big where news_id=$id";
  $this->sql_execute();
  if($this->sql_err) return(11);

  if(list($id, $name, $body, $date)=mysql_fetch_row($this->sql_res))
  {
   $this->out_news_big.="<table border=1><tr><td>$name</td><td>$date</td></tr><tr><td colspan='2'>$body</td></tr></table><hr>";
  }

  return(0);
 }

}
?>

Первая функция действует на index.php
вторая на news/index.php
К сожелению, пишет ошибку, что не может передать такой запрос к базе

Hubbitus 11.07.2004 03:18

Цитата:

killhunter:
К сожелению, пишет ошибку, что не может передать такой запрос к базе
Какой "такой запрос"? Какую ошибку?

В определении функции out_news_big() нет параметров, соответственно ничего ей не передается, но в ее коде (в SQL запросе) используется переменная $id, которая соответственно не определена. В этом и ошибка.

Если самому не разобраться, выложи полные файлы в аттаче (ну естественно без паролей) и я постараюсь помочь, или стучись на аську...


Часовой пояс GMT +4, время: 09:46.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.