|
|
|
| Здравствуйте!
От программиста досталась БД.
Мне нужно сделать бегущую строку с заголовками новостей, причем сами заголовки должны быть ссылками на полную статью.
Подскажите хотя бы с чего начать делать этот гипермегасложный для меня скрипт.
Таблица с новостями обновляется каждый час, состоит из след. полей:
id и newsid - у каждой статьи разные ИДишники title - заголовок alias - тоже самое что и newsid title_alias - пусто introtext fulltext state - текст статьи + еще достаточно большое кол-во полей
Буду благодарен подсказкам. | |
|
|
|
|
|
|
|
для: Softic
(14.12.2009 в 14:37)
| |
<?php
$id=intval($_GET[id]);
include "../config.php"; #подключение к базе
if (isset($_GET[id])) {
$query = "SELECT * FROM название WHERE id='$id' ";
$result = mysql_query($query);
if(!mysql_query("$query")) exit("Ошибка ".mysql_error());
while($row = mysql_fetch_array($result))
{
echo $row[title]."<br>";
echo $row[какое-то поле]."<br>";
}
}else{
$query = "SELECT * FROM название ORDER BY id DESC";
$result = mysql_query($query);
if(!mysql_query("$query")) exit("Ошибка ".mysql_error());
?>
<marquee><?
while($row = mysql_fetch_array($result))
{
echo "<a href='news.php?id=$row[id]'>$row[title]</a>";
}
}
?>
</marquee>
|
| |
|
|
|
|
|
|
|
для: vadimka
(14.12.2009 в 16:19)
| | Огромное спасибо за подсказку.
Все работает, но, выводится просто огромное число ссылок, а нужно всего лишь 7 последних новостей, я попробовал сделать это самостоятельно, но естественно ничего не вышло, подскажите где мои ошибки?
<?php
include "config.php";
$result=mysql_query("SELECT `id` FROM `jos_content` Where `catid`=1 Order By newsid Desc Limit 1") or die ("no connect");
while ($term=mysql_fetch_array($result))
{
$id=$term['id']-7;
}
for($id=0;$id<=7;$id++)
{
if (isset($_GET[id])) {
$query = "SELECT * FROM 'jos_content' WHERE id='$id' ";
$result = mysql_query($query);
if(!mysql_query("$query")) exit("Ошибка ".mysql_error());
while($row = mysql_fetch_array($result))
{
echo $row[title]."<br>";
echo $row[fulltext]."<br>";
}
}else{
$query = "SELECT * FROM jos_content ORDER BY id DESC";
$result = mysql_query($query);
if(!mysql_query("$query")) exit("Ошибка ".mysql_error());
?>
<marquee><?
while($row = mysql_fetch_array($result))
{
echo "<a href='news.php?id=$row[id]'>$row[title]</a>";
}
}
}
?>
</marquee>
|
| |
|
|
|
|
|
|
|
для: Softic
(14.12.2009 в 14:37)
| | Тега <marquee> не существует, хоть он и обрабатывается браузерами. С точки зрения SEO это полная жопа плохо. | |
|
|
|
|
|
|
|
для: ~AquaZ~
(14.12.2009 в 17:56)
| | Тогда каким образом лучше делать прокрутку текста, например в 1 строку? | |
|
|
|
|
|
|
|
для: Softic
(14.12.2009 в 18:17)
| | В общем то я этой строкой:
$result=mysql_query("SELECT `id` FROM `jos_content` Where `catid`=1 Order By newsid Desc Limit 1") or die ("no connect");
while ($term=mysql_fetch_array($result))
{
$id=$term['id']-7;
}
for($id=0;$id<=7;$id++)
{
|
попытался получить id-шник последней новости, затем убавить от него число 7 и в цикле повторить заново 7 раз, но видимо сделал я все этот через одно место, подскажите как правильно =) | |
|
|
|
|
|
|
|
для: Softic
(14.12.2009 в 19:22)
| | Вообще-то операция добавления/вычитания числа из первичного ключа никакого физического смысла не несет. | |
|
|
|
|
|
|
|
для: Trianon
(14.12.2009 в 19:24)
| | Ну то, что я сделал что-то бессмысленное, это я понял. А вот как сделать правильно не соображу. Если несложно покажите на примере. | |
|
|
|
|
|
|
|
для: Softic
(14.12.2009 в 20:01)
| | Так а чем плохо SELECT * FROM jos_content ORDER BY id DESC LIMIT 7
? | |
|
|
|
|
|
|
|
для: Trianon
(14.12.2009 в 20:07)
| | Спасибо большое Trianon
осталась проблема кодировки, заголовки выводятся в таком виде: "????? ????????????? ?? ? ?????????? ????????????? ??? ?? 9 "
В шапке прописал нужную кодировку, но результат не изменился, где копать? =)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Главная</title>
<?php
include "config.php";
........
|
| |
|
|
|
|
|
|
|
для: Softic
(14.12.2009 в 21:08)
| | Следует устанавливать кодировку соединения с сервером SQL после коннекта.
То что Вы прописали в шапке - нахрен никому не нужно.
Кодировка html документа а) на кодировку соединения никак не влияет , б) передается в загоовке.
В поиск. | |
|
|
|
|
|
|
|
для: Trianon
(14.12.2009 в 21:11)
| | Еще раз большое спасибо Trianon | |
|
|
|
|
|
|
|
для: Softic
(14.12.2009 в 18:17)
| | Можно использовать библиотеку jQuery, плагин jscroller, там подключить несложно, главное к нужному селектору прицепить. MARQUEE не считается валидным. | |
|
|
|
|
|
|
|
для: Лена
(14.12.2009 в 21:24)
| | попробовал ваш способ, все отлично работает, вот только немного напрягает дерганное перемещение строки, нет плавности хода почему то...
Если знаете решение этой проблемы, буду рад услышать! | |
|
|
|
|
|
|
|
для: Softic
(14.12.2009 в 22:09)
| |
<marquee truespeed=true scrollamount=1 scrolldelay=15></marquee>
|
| |
|
|
|