Forum Webscript.Ru

Программирование => PHP => Тема начата: VirFlow от 04 Января 2005, 12:09:33

Название: Title из БД
Отправлено: VirFlow от 04 Января 2005, 12:09:33
Народ, подскажите как вытянуть из БД какое-то поле и вставить его в титл?

Подробнее:
В БД есть таблица  cat; поля id, name. Запрос передается вида index.php?id=X. Как вывести в титле соответсвующее X поле name? Вроде все просто, но все перепробовал, ничего хорошего не получается.
Название: Title из БД
Отправлено: Меняздесьдавнонет от 04 Января 2005, 12:37:52
а ты покажи - как пробовал.
а то совершенно непонятна твоя проблема.
Вроде бы, задача стандартная. ЛЮБОЙ пхп-скрипт для работы с базой делвет ровно то же самое - берет информацию из базы и выводит в нужном месте страницы.

Если тебе просто научиться работать с базой - вот тебе сслыка на обучающую статью http://detail.phpclub.ru/article/phpintro
Название: Title из БД
Отправлено: VirFlow от 04 Января 2005, 12:42:01
Пробую сейчас вот так
@mysql_connect()or die("Could not connect");
@mysql_select_db() or die("Could not select database");
$query = "SELECT `name` FROM `sub_cat` WHERE `id`=\'$sub_id\'";
$result = mysql_query($query);
echo $result;
?>

Выводит вот что "Resource id #13"
Откуда это он берет, непонятно...
Название: Title из БД
Отправлено: VirFlow от 04 Января 2005, 12:43:42
Т.е. Ссылка вида index.php?sub_id=X, а в таблице sub_cat у меня столбец id
Название: Title из БД
Отправлено: Меняздесьдавнонет от 04 Января 2005, 13:17:23
если что-то непонятно - надо сразу читать документацию.
там четко написано - что возывращает функция.

Я думаю, что тебе стоит, все-таки, посмотреть примеры работы с БД
Название: Title из БД
Отправлено: VirFlow от 04 Января 2005, 13:35:26
$query = "SELECT * FROM `sub_cat` WHERE `id`=\'$sub_id\'";
$result = mysql_query($query);
$number = mysql_num_rows($result);
while ($row=mysql_fetch_array($result))
echo $row[\'name\'];

Разбирался... Вот что получается:
Этот код не работает, но если подставить в первой строчке вместо $sub_id какое-то число, например 14, то все работает, а так ничего не выводит. Почему это может быть, не подскажите?
Название: Title из БД
Отправлено: Макс от 04 Января 2005, 13:40:52
http://phpfaq.ru/debug
http://phpfaq.ru/globals
Название: Title из БД
Отправлено: VirFlow от 04 Января 2005, 13:57:03
Все прочитал, но не получается.
Global_vars включены.
Название: Title из БД
Отправлено: VirFlow от 04 Января 2005, 14:14:48
А, вот в чем проблема:
Переменные передаются в index.php, а я ее вызываю из header.php.
Не подскажите как сделать так, чтобы переменная была доступна и в header.php?
Название: Title из БД
Отправлено: Меняздесьдавнонет от 04 Января 2005, 14:17:31
она и так доступна
Цитировать
VirFlow:
Global_vars включены

а вот это неправильно.
надо выключить
Название: Title из БД
Отправлено: VirFlow от 04 Января 2005, 14:23:41
А что еще может быть?
Если написать echo $sub_id в index.php, то все работает, а если в header.php то не работает.

В  index.php включена строка require_file("header.php");
Название: Title из БД
Отправлено: Меняздесьдавнонет от 04 Января 2005, 14:30:34
вместо require_file("header.php");
надо писать
require("header.php");
Название: Title из БД
Отправлено: Меняздесьдавнонет от 04 Января 2005, 14:32:05
и писать надо не echo $sub_id, а
$sub_id=intval($_GET[\'sub_id\']);
echo $sub_id;
Название: Title из БД
Отправлено: VirFlow от 04 Января 2005, 14:55:34
Есть, заработало!
Большое спаисбо, а то уже несколько дней бился :)...
Название: Title из БД
Отправлено: Меняздесьдавнонет от 04 Января 2005, 15:03:21
откуда ть вообще это require_file выудил?
Название: Title из БД
Отправлено: VirFlow от 04 Января 2005, 15:22:56
Было так все записано, а я захотел добавить код php, чтобы title менялся.

Т.е. Было в index.php

$site = new vistlan();
$site->require_file("header.php");
$site->db_connect();

Стало

$site = new vistlan();
$site->db_connect();
require("header.php");

Возникли правда проблемы с путями, ну это я исправил.
Название: Title из БД
Отправлено: Меняздесьдавнонет от 04 Января 2005, 15:55:15
ужас
Название: Title из БД
Отправлено: VirFlow от 04 Января 2005, 16:24:55
Всмысле было или стало? Или и так и так плохо?
Название: Title из БД
Отправлено: VirFlow от 04 Января 2005, 16:49:30
Еще вопросик:
Не подскажите как сделать взаменить в переменной все пробелы на запятую с пробелом, т.е.

Ответьте, пожалуйста, на мой вопрос ->>> Ответьте, пожалуйста, на, мой, вопрос

Или опять читать faq :)?
Название: Title из БД
Отправлено: Макс от 04 Января 2005, 17:53:29
нет, теперь пришла пора читать документацию : [p]str_replace[/p]