2014-02-08 4 views
2

Im в настоящее время создание новостной блог, и я хочу, чтобы показать небольшие клипы блога и позволить пользователю нажать кнопку «Подробнее», если они хотят узнать больше информации (см рисунок ниже)Импорт сообщение из базы данных ID

enter image description here

На кнопке «Читать дальше» я связал это так.

<a href="http://<?php echo $_SERVER['SERVER_NAME']; ?>/notices/notice.php?id=<?=$image["id"] ?>">Read More</a> 

Затем на странице notice.php Я пытаюсь импортировать этот пост в так: (имя базы данных knollsnews)

<?php 
$result = mysql_query("SELECT ID FROM knollsnews WHERE id='$id'"); 
while ($image=mysql_fetch_array($images)) 
{ 
?> 

Я не уверен, что я здесь делаю неправильно , Проблема в том, что сообщение не отображается на странице notice.php.

Вот полный код:

<?php 


$result = mysql_query("SELECT ID FROM knollsnews WHERE id='$id'"); 
while ($image=mysql_fetch_array($images)) 
{ 
    ?> 
<li data-id="id-<?=$image["id"] ?>"> 
<article class="postwhite"> 
<h2 style="margin: 10px 0 !important;"><?=$image["title"] ?></h2> 
<img alt="<?=$image["title"] ?>" src="http://<?php echo $_SERVER['SERVER_NAME']; ?>/knolls_file_manager/source/NoticesImages/<?=$image["file_name"] ?>" class="img-max" title="<?=$image["title"] ?>"> 
<div class="newsdate" style="margin: 10px 0 !important;"><?= date("F d, Y", strtotime($image["date"])); ?></div> 
<p class="articletext"><?=$image["description"] ?></p> 
</article> 
</li> 
    <?php 
} 
?> 

Final Рабочая КОД ПО notice.php странице

<?php 
$id = (int) $_GET['id']; 
$result = mysql_query("SELECT * FROM knollsnews WHERE id='$id'"); 
while ($image = mysql_fetch_array($result)) 

{ 
?> 

<li data-id="id-<?=$image["id"] ?>"> 
<article class="postwhite"> 
<h2 style="margin: 10px 0 !important;"><?=$image["title"] ?></h2> 
<img alt="<?=$image["title"] ?>" src="http://<?php echo $_SERVER['SERVER_NAME']; ?>/knolls_file_manager/source/NoticesImages/<?=$image["file_name"] ?>" class="img-max" title="<?=$image["title"] ?>"> 
<div class="newsdate" style="margin: 10px 0 !important;"><?= date("F d, Y", strtotime($image["date"])); ?></div> 
<p class="articletext"><?=$image["description"] ?></p> 
</article> 
</li> 

    <?php 
} 
?> 
+2

mysql_fetch_array ($ result)) –

+0

Это слишком просто ... вы ничего не печатали. Пожалуйста, разместите свой полный код. – aksu

+0

Не можете ли вы просто выбрать все и обработать остальные в php/javascript? – Strawberry

ответ

1

Как и другие отметили, вы должны использовать $_GET['id'], чтобы получить идентификатор из параметров из URL. Кроме того, ваш цикл в то время как говорит

$result = mysql_query("SELECT ID FROM knollsnews WHERE id='$id'"); 
while ($image=mysql_fetch_array($images)) 

, когда он должен сказать

$result = mysql_query("SELECT ID FROM knollsnews WHERE id='$id'"); 
while ($image = mysql_fetch_array($result)) 

В дополнение к этому, your code is open to SQL Injection если вы не sanitize the input или изменить запрос, чтобы использовать подготовленные заявления. По крайней мере используйте

$id = (int) $_GET['id']; 

, чтобы убедиться, что идентификатор действительно является числом, а не каким-то вредоносным SQL.

Кроме того, вы используете старое расширение mysql, которое равно officially deprecated и скоро будет удалено из PHP. Рассмотрим использование PDO или MySqli

+0

Получил его работу. Все, что я должен был сделать, это изменить. '$ result = mysql_query (" SELECT ID FROM knollsnews WHERE id = '$ id' "); в то время как ($ изображения = mysql_fetch_array ($ результат)) ' к этому: ' $ Результат = mysql_query ("SELECT * FROM knollsnews WHERE ID = '$ Id'"); while ($ image = mysql_fetch_array ($ result)) ' – cwd

1

Вы определены, чтобы получить значение из URL и установить его в $ ID:

$id= $_GET['id']; 

и после этого вам нужно:

$result = mysql_query("SELECT ID FROM knollsnews WHERE id='$id'"); 
while ($image=mysql_fetch_array($images)) 
{ 
    //do something 
} 
+0

Я пробовал несколько методов и до сих пор не получаю информацию на моей странице notice.php. Вот код, который я использую в настоящее время: (См. EDIT в верхней части) – cwd

1

Чтобы получить идентификатор из URL использовать $_GET['id']

Смежные вопросы