|
10.2 Кб |
|
| Всем привет!. У меня вопрос такого характера как мне сделать на php , чтобы вывелся пост и под ним написано рублика: и ее название. как мне это реализовать. скриншот пример прикладываю | |
|
|
|
|
|
|
|
для: antosha23
(05.02.2011 в 01:05)
| | Все эти данные должны храниться в БД откуда за счет запроса на php должны вставляться в назначенные в шаблоне места. | |
|
|
|
|
|
|
|
для: unregistred user
(05.02.2011 в 01:14)
| | а пример можно
у меня все хранится в бд | |
|
|
|
|
|
|
|
для: antosha23
(05.02.2011 в 01:18)
| |
<?php
$mql_pointer = mysql_connect ($server, $user, $password);
mysql_select_db ($mql_db);
$mql_str_query = "SELECT * FROM `$mql_table`";
$mql_resource = mysql_query ($mql_str_query);
while ($mql_result = mysql_fetch_row($mql_resource))
{
$title = $mql_result[1];
$author = $mql_result[2];
$label = $mql_result[3];
$heading = $mql_result[4];
echo "
<div class=\"post\">
<h1>$title</h1>
<div>Автор: $author</div>
<div>Рубрики : $heading</div>
<div>Метки : $label</div>
</div>
";
}
|
Примерно так. | |
|
|
|
|
|
|
|
для: unregistred user
(05.02.2011 в 01:39)
| | спасибо по пробую | |
|
|
|
|
|
|
|
для: antosha23
(05.02.2011 в 11:15)
| | выдает вот эту ошибку
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/niceth/public_html/anton-blogdesign/index.php on line 61 | |
|
|
|
|
|
|
|
для: antosha23
(08.02.2011 в 15:15)
| | После строк
<?php
$mql_str_query = "SELECT * FROM `$mql_table`";
$mql_resource = mysql_query ($mql_str_query);
?>
|
поставьте проверку
<?php
if(!$mql_resource) exit("Ошибка - ".mysql_error()."<br>Запрос - ".$mql_str_query);
?>
|
Что-нибудь выводится? | |
|
|
|
|
|
|
|
для: cheops
(08.02.2011 в 15:53)
| | выводится вот это сообщение
Ошибка - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Запрос - SELECT * FROM | |
|
|
|
|
|
|
|
для: antosha23
(08.02.2011 в 17:29)
| | В переменную $mql_table занесите название вашей таблицы или прямо в SQL-запросе пропишите это название вместо переменной $mql_table. | |
|
|
|
|
|
|
|
для: cheops
(08.02.2011 в 17:30)
| | вывелось только рублика : название ни какого не вывелось | |
|
|
|
|
|
|
|
для: antosha23
(08.02.2011 в 17:45)
| | А какова структура вашей таблицы? Какие в ней поля, как называются и как расположены друг относительно друга? | |
|
|
|
|
|
|
|
для: cheops
(08.02.2011 в 17:57)
| | -- Структура таблицы `categories`
--
CREATE TABLE `categories` (
`id` int(5) NOT NULL auto_increment,
`title` varchar(255) NOT NULL,
`text` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;
- Структура таблицы `lessons`
--
CREATE TABLE `lessons` (
`id` int(5) NOT NULL auto_increment,
`title` varchar(255) NOT NULL,
`description` text NOT NULL,
`text` text NOT NULL,
`istok` text NOT NULL,
`date` date NOT NULL,
`author` varchar(100) NOT NULL,
`mini_img` varchar(255) NOT NULL,
`rub` int(5) NOT NULL,
`view` int(7) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
--
в каком смысле | |
|
|
|
|
|
|
|
для: antosha23
(08.02.2011 в 18:03)
| | Тогда переработайте приведенный выше скрипт следующим образом
<?php
$mql_pointer = mysql_connect ($server, $user, $password);
mysql_select_db ($mql_db);
$mql_str_query = "SELECT * FROM `lessons`";
$mql_resource = mysql_query ($mql_str_query);
if(!$mql_resource) exit("Ошибка - ".mysql_error().
"<br>Запрос - ".$mql_str_query);
if(mysql_num_rows($mql_resource))
while ($mql_result = mysql_fetch_array($mql_resource))
{
$title = $mql_result['title'];
$author = $mql_result['author'];
// $label = $mql_result[...];
echo "<div class=\"post\">
<h1>$title</h1>
<div>Автор: $author</div>
<div>Рубрики : $heading</div>
<div>Метки : $label</div>
</div>";
}
?>
|
PS Переменную $label сформируйте по аналогии с переменными $title и $author в зависимости от того, где где хранятся метки в таблице lessons. | |
|
|
|
|
|
|
|
для: cheops
(08.02.2011 в 18:11)
| | извините,все равно название рублики не выводится | |
|
|
|
|
|
|
|
для: antosha23
(08.02.2011 в 18:24)
| | Да, подошибся, вот эту строки
<?php
echo "<div class=\"post\">
<h1>$title</h1>
<div>Автор: $author</div>
<div>Рубрики : $heading</div>
<div>Метки : $label</div>
</div>";
?>
|
Замените следующими
<?php
echo "<div class=\"post\">
<h1>$title</h1>
<div>Автор: $author</div>
<div>Рубрики : $title</div>
<div>Метки : $label</div>
</div>";
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(08.02.2011 в 18:31)
| | я извиняюсь, но помойму идет обращение к двум таблицам, иожно, конечно через left join, а можно с подзапросом:
<?
$mql_str_query = "SELECT * FROM `lessons`";
$mql_resource = mysql_query ($mql_str_query);
while($p = mysql_fetch_array($mql_resource ))
{
$title = $p['title'];
$author = $p['author'];
$rubricaname= mysql_fetch_array(mysql_query( "SELECT title FROM categories WHERE id='$p[rub]' "));
echo "<div class=\"post\">
<h1>$title</h1>
<div>Автор: $author</div>
<div>Рубрики : $rubricaname[title]</div>
<div>Метки : $label</div>
</div>";
}
?>
|
| |
|
|
|
|
|
|
|
для: vadimka
(09.02.2011 в 18:04)
| | спасибо тебе вадимка
если пишешь 2 то рублика меняется везде | |
|
|
|