как вывести нужную запись по id из БД

286
21 сентября 2017, 17:19

Доброго времени суток, есть БД news из которой на индексной странице выводится заголовок и анонс новости. С помощью ссылки, через id осуществляется переход на страницу полной статьей. Не получается вывести на новую страницу статью, так, чтобы по id статья совпадала с заголовком и анонсом.

код индексной страницы прилагаю

<!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" /> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">. 
<title>Pagination</title> 
<link href="bootstrap.css" rel="stylesheet" /> 
<style> 
.paging { 
	padding: 100px; 
} 
</style> 
</head> 
 
<?php 
	include('connection.php'); 
 
?> 
 
<body> 
	<div class="paging"> 
    	<div class="container"> 
        	<div class="row"> 
            	 
            	<div class="col-md-12"> 
                	<?php 
						 
						$page = @$_GET['page']; 
						 
						if($page == 0 || $page == 1){ 
							$page1 = 0;	 
						} 
						else { 
							$page1 = ($page * 4) - 4;	 
						} 
					 
						$query = "SELECT * FROM news ORDER BY idate LIMIT $page1, 5"; 
						$result = mysql_query($query)or die(mysql_error()); 
						while($data = mysql_fetch_array($result)){ 
							echo '<a href="view.php?id=<ID"><h3>'.$data['title']. '</h3></a>'; 
							echo $data['announce']. '<br />'; 
						} 
					?> 
                </div> 
                 
            	<ul class="pagination pagination-lg"> 
                 
                <?php 
					$q = mysql_query("SELECT * FROM news"); 
					$count = mysql_num_rows($q); 
					 
					$a = $count / 4; 
					$a = ceil($a); 
				?> 
                	<?php for ($i = 1; $i <= $a; $i++) {?> 
                		<li><a href="index.php?page=<?php echo $i; ?>"><?php echo $i; ?></a></li>  
					<?php } ?> 
                </ul> 
            </div> 
        </div> 
    </div> 
</body> 
</html>

Answer 1
  1. Не пишите код PHP прям посреди HTML, весь код как минимум должен исполняться перед выводом HTML.
  2. Не используйте экранирование @ - лучше проверяйте наличие параметра через isset, если $_GET['page'] нет, тогда записи выводятся с первой страницы.
  3. Никогда не пишите HTML в PHP переменных, или старайтесь избегать по максимуму.
  4. Каким образом Вы пытались открыть страницу с конкретной новостью? Кода для этого у Вас нет, если вкратце, то Вы должны получить $_GET['id'], сказать ему $id=(int)$_GET['id'], а потом уже искать новость по $id, если что-то найдено, то выводим, если нет, то говорим извините, мол, ошиблись вы, батенька.
READ ALSO
Оптимизация выборки из базы данных

Оптимизация выборки из базы данных

Есть две таблицы b_stat_city_ip (поля таблицы START_IP, END_IP, COUNTRY_ID, CITY_ID), b_stat_city (поля ID, COUNTRY_ID, REGION, NAME)Необходимо получить ip адрес и узнать входит ли он в диапазон...

192
Ускорить выборку в базу

Ускорить выборку в базу

Когда нагрузка на сайт не большая загружается за 862 s когда нагрузка большая то загружается долго , как можно ускорить запрос?

217
Хочу скачать картинку с помощью php

Хочу скачать картинку с помощью php

Нужно сделать так, чтобы он сохранял таким образом название картинки например: a50a015295b0eb1211a7a87d7f6ca1_1-fulljpg а сейчас он сохраняет не понятно каким...

270