[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Добавление новостей в начало страницы
Prana
Добрый день!!

Возник вопрос как сделать что бы добавление новостей было в начало страницы а не в конец ? Тоесть в базе есть статьи на странице вывод 1.2.3 добавляешь 4 новость и она становиться не 4й а первой а все остальные сдвигаються !



Спустя 8 минут, 41 секунда (5.07.2010 - 11:16) Slays написал(а):
DESC

подробнее:
$sql = "SELECT * FROM `таблица БД` ORDER BY id DESC";

Спустя 4 минуты, 55 секунд (5.07.2010 - 11:20) Prana написал(а):
Slays Если можно поподробнее

Спустя 6 минут, 24 секунды (5.07.2010 - 11:27) Slays написал(а):
напиши сюда свой запрос к БД для вывода новостей.

Спустя 12 минут, 16 секунд (5.07.2010 - 11:39) Prana написал(а):
Не судите строго я только учусь )))))

<? include ("blocks/bd.php");
if (isset($_GET['cat'])) {$cat = $_GET['cat']; }
if (!isset($cat)) {$cat = 1;}


$result = mysql_query("SELECT * FROM catigories WHERE id='$cat'",$db);

if (!$result)
{
echo "<p>Запрос не прошел. Напишите админу Prana06@mail.ru. <br> <strong>Код ошибки:</strong></p>";
exit(mysql_error());
}

if (mysql_num_rows($result) > 0)

{
$myrow = mysql_fetch_array($result);



}

else
{
echo "<p> В таблице нет записей.</p>";
exit();
}


?>

Спустя 3 минуты, 49 секунд (5.07.2010 - 11:43) antonov_sa написал(а):
$result = mysql_query("SELECT * FROM catigories WHERE id='$cat' ORDER BY id(или что там у тебя) DESC",$db); у попова бери консультации)

Спустя 3 минуты, 33 секунды (5.07.2010 - 11:47) Slays написал(а):
<?php

include ("blocks/bd.php");

$cat = isset($_GET['cat'])?$_GET['cat']:'1';

$sql = "SELECT * FROM catigories WHERE id='".$cat."' ORDER BY id DESC";
$result = mysql_query($sql,$db) or die("ошибка mysql");

if (empty(mysql_num_rows($result)))
exit("<p> В таблице нет записей.</p>");


$myrow = mysql_fetch_assoc($result);




?>

Спустя 7 минут, 38 секунд (5.07.2010 - 11:54) Basili4 написал(а):
$cat = isset($_GET['cat'])?$_GET['cat']:'1';

единствено что я хочу сказать не стоит так прям пропускать параметры в скрипт и '1' смотрится как то ....... не правильно

$cat = isset($_GET['cat'])?intval($_GET['cat']):1;

Спустя 2 минуты, 57 секунд (5.07.2010 - 11:57) Slays написал(а):
ну да, безопасность это уже отдельная тема )
Prana запоминай советы, пригодятся )

Спустя 2 минуты, 7 секунд (5.07.2010 - 11:59) linker написал(а):
Можно, немного подправлю?
$cat = isset($_GET['cat'])?abs((integer)$_GET['cat']):1;

Спустя 2 минуты, 8 секунд (5.07.2010 - 12:01) Prana написал(а):
linker
Да да спасибо я уже исправил !!! ))

Спустя 4 минуты, 10 секунд (5.07.2010 - 12:06) Prana написал(а):
Slays
Вставив вашь код пишет Fatal error: Can't use function return value in write context in а если сделать проще $result = mysql_query("SELECT * FROM catigories WHERE id='$cat' ORDER BY id DESC",$db); то эффекта нет !

Спустя 24 минуты, 56 секунд (5.07.2010 - 12:30) Slays написал(а):
у тебя в БД mysql есть поле id с auto_increment и primary key ?

Спустя 1 минута, 33 секунды (5.07.2010 - 12:32) Prana написал(а):
Slays
Конечно !

Спустя 3 минуты, 29 секунд (5.07.2010 - 12:35) Slays написал(а):
а $db есть ?

замени
$result = mysql_query($sql,$db) or die("ошибка mysql");
на
$result = mysql_query($sql) or die("ошибка mysql");


Спустя 3 минуты, 2 секунды (5.07.2010 - 12:39) linker написал(а):
if (empty(mysql_num_rows($result)))
вот тут скорее всего ошибка empty можно отдать только переменную, типа empty($str), но не результат выполнения функции.

Спустя 3 минуты, 16 секунд (5.07.2010 - 12:42) Prana написал(а):
Slays
Пишет туже хрень ошибка в if (empty(mysql_num_rows($result))) строке !

Спустя 3 минуты, 58 секунд (5.07.2010 - 12:46) linker написал(а):
Prana, читай выше что я написал.
Цитата
if (empty(mysql_num_rows($result)))
вот тут скорее всего ошибка empty можно отдать только переменную, типа empty($str), но не результат выполнения функции.

Спустя 1 минута, 33 секунды (5.07.2010 - 12:47) Slays написал(а):
а, linker прав, тогда верни
if (mysql_num_rows($result)=='0')

или сделай
$num = mysql_num_rows($result);
if(empty($num))

сразу бы сказал строку ошибки =)

Спустя 3 минуты, 57 секунд (5.07.2010 - 12:51) Prana написал(а):
Если я сейчас все правильно понял то када я внес в базу статью она будет в начале страницы ?

Спустя 2 минуты, 2 секунды (5.07.2010 - 12:53) Prana написал(а):
Все равно внес в базу запись и она вылезла 3й так как 2е уже есть там !

Спустя 3 минуты, 57 секунд (5.07.2010 - 12:57) Slays написал(а):
ну смотри, ORDER BY id ASC и ORDER BY id DESC отвечают за сортировку результата, вместо id может быть любое другое поле БД, по которому и будет произведена сортировка.
ASC используется по умолчанию и по-этому его можно не указывать ,в этом случае будет идти обычная сортировка по возрастанию, т.е.
id=1
id=2
id=3

DESC указывает, что нужно сортировать в порядке убывания, т.е
id=3
id=2
id=1

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

Спустя 12 минут, 40 секунд (5.07.2010 - 13:10) Prana написал(а):
Slays
linker


Огромное вам спасибо за грамотное понятное обьяснение !!!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.