Проблем с MySQL_query в скрипт за новини

2 отговора 0 прегледа
#1

Проблем с MySQL_query в скрипт за новини

Здравейте!
Имам един скрипт (ticker, javascript), който печата новините буква по буква, като ги дърпа от ДБ. Проблемът идва, когато в заявката променя limit:

$sql = mysql_query("SELECT * FROM newsystem ORDER BY newsid ASC limit 4",$connect);

Скриптът работи само с limit 3 или 4; ако махна limit или напиша 5,6... спира.
Освен това има и проблем с url-то на новината. Като сложа мишката над линка (hover) в статус бар-а се появява както си ми е реда:

[линк] или 3 или 4

Но, винаги зарежда само новината с id=1.
Eто го целия скрипт:

<script type="text/javascript">
<!--
var msg=new Array();
var msgid=new Array();

<?PHP

include("config.php");
$sql = mysql_query("SELECT * FROM newsystem ORDER BY newsid ASC limit 4",$connect);
$i=0;
while($row = mysql_fetch_array($sql)){

$newsid = intval($row['newsid']);
$description= stripslashes($row['description']);

echo " msg[$i]='$description'; \n\r";
echo " msgid[$i]='$newsid'; \n\r";

$i++;
}
?>
//-->

var delaybetweenmessages=30;//also alters if typespeed is altered
var typespeed=70;

var timer=0;
var next=0;
var pos=0;
var a='-';
var b='_';
var c=' ';
var cursor=a;

function Type()
{
if(!typespeed)
{
return;
}
var ticker = document.getElementById('spanTicker');
if(!pos)
{
ticker.href = '../latestnews.php?id=' + msgid[next];
}
if (timer == 0)
pos++;
if (msg[next].substring(pos-1,pos) == " ")
pos++;
if (pos > msg[next].length)
{
timer++;
}
if (timer > msg[next].length)
{
next++;
pos=0;
timer=0;
cursor=a;
}
if (next == msg.length)
next=0;
if (timer != 0)
{
cursor=c;
}
if (cursor==a)
{
cursor=b;
}
else if (cursor==b)
{
cursor=a;
}
text= '<b>Recent news</b>:
' + msg[next].substring(0,pos);
if(ticker.innerHTML != text + cursor)
{
ticker.innerHTML = text + cursor;
}
setTimeout('Type()',typespeed);
}

</script>

</head>
<body onload="Type()">
<div id="ticker"><a href="#" target="_parent" id="spanTicker">News ticker...</a></div>
</body>
</html>

Благодаря предварително за помощта ви!

Отговор
в отговор на cheeseus #2

Re: Проблем с MySQL_query в скрипт за новини

javascript не понася нови редове.

Опитай това:


$description= str_replace(array("\r", "\n"), '', nl2br(stripslashes($row['description'])));

echo " msg[$i]='$description';
echo " msgid[$i]='$newsid';

За новите редове се погрижи във функцията за извеждане

И най-ярките личности си плащат тока.
Отговор
в отговор на edembg #3

Re: Проблем с MySQL_query в скрипт за новини

Благодаря, но не заработи скрипта въобще...
Ако имаш желание да помогнеш, виж тук:
[линк]
проблемът е в линка на самата новина - не знам как да накарам url-то на новината да води към конкретната новина (както казах, макар да изписва
..../latestnews.php?newsid=3 например, все зарежда id=1...
В момента скриптът зарежда линк, който се образува така:

ticker.href = "../latestnews.php?newsid=<?php echo $myrow[newsid] ?>" + msgid[next];

това може да е смешно, но аз имам слаби познания по javascript и php, и именно затова търся помощ. Моля обясненията да са на разбираем за неспециалист като мен език. Благодаря!

Отговор