Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вытащить новости из БД и сделать бегущую строку
 
 автор: Softic   (14.12.2009 в 14:37)   письмо автору
 
 

Здравствуйте!
От программиста досталась БД.
Мне нужно сделать бегущую строку
<marquee></marquee>
с заголовками новостей, причем сами заголовки должны быть ссылками на полную статью.
Подскажите хотя бы с чего начать делать этот гипермегасложный для меня скрипт.
Таблица с новостями обновляется каждый час, состоит из след. полей:
id и newsid - у каждой статьи разные ИДишники title - заголовок alias - тоже самое что и newsid title_alias - пусто introtext fulltext state - текст статьи + еще достаточно большое кол-во полей

Буду благодарен подсказкам.

  Ответить  
 
 автор: vadimka   (14.12.2009 в 16:19)   письмо автору
 
   для: 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>

  Ответить  
 
 автор: Softic   (14.12.2009 в 18:59)   письмо автору
 
   для: 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>

  Ответить  
 
 автор: ~AquaZ~   (14.12.2009 в 17:56)   письмо автору
 
   для: Softic   (14.12.2009 в 14:37)
 

Тега <marquee> не существует, хоть он и обрабатывается браузерами. С точки зрения SEO это полная жопа плохо.

  Ответить  
 
 автор: Softic   (14.12.2009 в 18:17)   письмо автору
 
   для: ~AquaZ~   (14.12.2009 в 17:56)
 

Тогда каким образом лучше делать прокрутку текста, например в 1 строку?

  Ответить  
 
 автор: Softic   (14.12.2009 в 19:22)   письмо автору
 
   для: 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 раз, но видимо сделал я все этот через одно место, подскажите как правильно =)

  Ответить  
 
 автор: Trianon   (14.12.2009 в 19:24)   письмо автору
 
   для: Softic   (14.12.2009 в 19:22)
 

Вообще-то операция добавления/вычитания числа из первичного ключа никакого физического смысла не несет.

  Ответить  
 
 автор: Softic   (14.12.2009 в 20:01)   письмо автору
 
   для: Trianon   (14.12.2009 в 19:24)
 

Ну то, что я сделал что-то бессмысленное, это я понял. А вот как сделать правильно не соображу. Если несложно покажите на примере.

  Ответить  
 
 автор: Trianon   (14.12.2009 в 20:07)   письмо автору
 
   для: Softic   (14.12.2009 в 20:01)
 

Так а чем плохо SELECT * FROM jos_content ORDER BY id DESC LIMIT 7
?

  Ответить  
 
 автор: Softic   (14.12.2009 в 21:08)   письмо автору
 
   для: 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";  
........

  Ответить  
 
 автор: Trianon   (14.12.2009 в 21:11)   письмо автору
 
   для: Softic   (14.12.2009 в 21:08)
 

Следует устанавливать кодировку соединения с сервером SQL после коннекта.
То что Вы прописали в шапке - нахрен никому не нужно.
Кодировка html документа а) на кодировку соединения никак не влияет , б) передается в загоовке.
В поиск.

  Ответить  
 
 автор: Softic   (14.12.2009 в 21:25)   письмо автору
 
   для: Trianon   (14.12.2009 в 21:11)
 

Еще раз большое спасибо Trianon

  Ответить  
 
 автор: Лена   (14.12.2009 в 21:24)   письмо автору
 
   для: Softic   (14.12.2009 в 18:17)
 

Можно использовать библиотеку jQuery, плагин jscroller, там подключить несложно, главное к нужному селектору прицепить. MARQUEE не считается валидным.

  Ответить  
 
 автор: Softic   (14.12.2009 в 22:09)   письмо автору
 
   для: Лена   (14.12.2009 в 21:24)
 

попробовал ваш способ, все отлично работает, вот только немного напрягает дерганное перемещение строки, нет плавности хода почему то...
Если знаете решение этой проблемы, буду рад услышать!

  Ответить  
 
 автор: ~AquaZ~   (23.12.2009 в 17:24)   письмо автору
 
   для: Softic   (14.12.2009 в 22:09)
 

<marquee truespeed=true scrollamount=1 scrolldelay=15></marquee>

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования