@serg_astashin

Вставка значения из mysql между тегами title: возможно?

Есть идея сделать сайт на PHP. Решил добавить плюшечку такую: выводить из таблицы название сайта и вставлять его между тегами title в index.php. Пытался сделать по-всякому, никак не вышло. Сейчас index.php выглядит так:
<?php 

$db_host = 'localhost';
$db_name = 'admin';
$db_username = 'root';
$db_password = '123450';
$db_table = 'config';

$connect = mysql_connect($db_host, $db_username, $db_password)
or die("Не удалось подключиться к хосту: " . mysql_error());

mysql_select_db($db_name, $connect)
or die("Не удалось подключится к базе: " . mysql_error());

$result = mysql_query("select * from " . $db_table)
or die(mysql_error());

while($data = mysql_fetch_array($result)){ 
$d = $data['name']
echo '<title>';
echo $d;
echo '</title>';
} 
?>
  • Вопрос задан
  • 323 просмотра
Решения вопроса 1
@serg_astashin Автор вопроса
Короче, так я и не разобрался с этим делом. Решил просто в бд в тегах title запихивать сразу.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
Arris
@Arris
Сапиенсы учатся, играя.
Во-первых, советую забыть про MySQL. И либо почитать про расширение MySQLi, либо взять PDO.

Во-вторых, вы сначала извлекаете из таблицы ВСЕ строки и все столбцы:
mysql_query("select * from " . $db_table)
Потом в цикле проходите по всем этим строчкам и генерирует кучу пар что-то.
Посмотрите исходный код страницы? Что вы видите?

Вам нужно:
select page_title from config where id = <айди нужной страницы>

Потом проверка - получили ли мы вообще хоть какой-то результат.
И только потом - echo "{$title}";

И возьмите нормальный учебник уже :)
Ответ написан
@Lulzsec
Попробуй так, всё в одном файле. Нижнюю часть под свои нужды дополни.

<?php 

$db_host = 'localhost';
$db_name = 'admin';
$db_username = 'root';
$db_password = '123450';
$db_table = 'config';

$connect = mysql_connect($db_host, $db_username, $db_password)
or die("Не удалось подключиться к хосту: " . mysql_error());

mysql_select_db($db_name, $connect)
or die("Не удалось подключится к базе: " . mysql_error());

$result = mysql_query("select * from " . $db_table)
or die(mysql_error());

while($data = mysql_fetch_array($result)){ 
$d = $data['name'];
} 
?>
<!DOCTYPE>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title><b><?php echo $d;?></b></title>
...
</head>
<body>
...
<body>
</html>
Ответ написан
iDokuro
@iDokuro
Тугодум
Как говорили выше. Забудьте про MySQL оно уже устарело

Вариант на MySQLi. (Было бы хорошо увидеть структуру таблицы)

<?php 
$db = new MySQLi('localhost', 'root', '123456', 'admin');
if ($db->connect_errno)
{
    exit('Не удалось соеденится с сервером MySQL');
}

$query = $db->query('SELECT * FROM `config` LIMIT 1');

if ($query->num_rows > 0)
{
    ?><title><?php echo $query->fetch_assoc()['name'] ?></title>
}
else
{
    ?><title>Undefined</title><?php
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы