Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Помогите с сылками внутри документа


Автор: Jazz 31.5.2004, 05:43
Здравствуйте всем!
Помогите пожалуста с созданием закладок на странице. Идея следующая:

Данный код выбирает из MySQL последние 10 строк новостей и вставляетих в первую страницу.
Код
<?
$conn = mysql_connect ($db_host, $db_user, $db_passwd) or die (mysql_error());
$news_qu = mysql_db_query ($db_name, "select unix_timestamp(posted) posted, short, id from news order by posted desc limit 0,10", $conn) or die (mysql_error());
while ($news_row = mysql_fetch_assoc($news_qu)){
       echo '<table width="100%" cellspacing="5" cellpadding="0" border="0">
       <TR>
               <td valign="top"><div>['.date("d.m.Y",$news_row["posted"]).']
                       ' . $news_row["short"] . ' <a href="?news#'.$news_row["id"].'" class="hot">Подробнее...</a></div>
                       <img src="img/no.gif" border="0" width="1" height="1"><br>
               </TD>
       </TR>
</table>';
}
mysql_close ($conn); ?>




Это - укороченные новости. При нажатии на ссылку подробнее - попадаешь в Новости где находится полный перечень новостей с последней (самой новой) по первую (помещенную сразу после запуска сайта).
Код
<?

if ((!$QUERY_STRING)||($action=="view")){

       $conn = mysql_connect ($db_host, $db_user, $db_passwd) or die (mysql_error());
       $news_qu = mysql_db_query ($db_name, "select unix_timestamp(posted) posted, short, id, name, message from news order by posted desc limit 0,200", $conn) or die (mysql_error());
       
       
       echo "<p class=\"text\">";
       echo "<table width=\"100%\" cellspacing=\"5\" cellpadding=\"0\" border=\"0\" style=\"font-size:10pt;\">";
       while ($news_row = mysql_fetch_assoc($news_qu)){
               $message = str_replace("\\","",$message);
               $name = str_replace("\\","",$name);
               echo '<TR><td><div name="' . $news_row["id"] . '">['.date("d.m.Y",$news_row["posted"]).']';
               if ($news_row["name"]) {
                       echo ' <b><font color="#663300">'.$news_row["name"].'</font></b><br><img src="img/no.gif" border="0" width="1" height="3"><br>';
               }
               echo $news_row["message"].'<br><img src="img/no.gif" border="0" width="1" height="7"><br></TD></TR>';
        }
}
?>

Вопрос: как сделать так, чтобы при нажатии на ссылку "Подробнее..." попадал на начало той новости на которой нажата ссылка в полных новостях, а не в начало страницы со всеми новостями?
Зарание Спасибо.
С уважением

Автор: GePo 31.5.2004, 08:20
Это вопрос не по php, а по html. Перед началом новости ставишь такую ссылку:
<a name="<newsid>"></a>
И когда надо посмотреть новость, в конце адреса дописываешь #newsid

Автор: Secandr 31.5.2004, 08:26
используй #123
В полных новостях перед новостью:
<a name="11">
где вместо 11 ставишь id новости

В коротких новостях:
<a href=full_news.php#11>go...</a>
Добавлено @ 08:27
сори долго писал smile.gif

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)