Запрос в базу данных???

12
S9
На сайте с 30.01.2011
Offline
14
1204

Всем доброе время суток!!!

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

<?


@$page = $_GET['page'];
$result = mysql_query("SELECT COUNT(*) FROM data WHERE secret=0");
$temp = mysql_fetch_array($result);
$posts = $temp[0];

$total = (($posts - 1) / $num) + 1;
$total = intval($total);
$page = intval($page);
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
// Вычисляем начиная с какого номера
// следует выводить сообщения

$start = $page * $num - $num;

$result = mysql_query("SELECT * FROM `sites` WHERE `site_id` LIMIT 5");

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

if (mysql_num_rows($result) > 0)
{
$myrow = mysql_fetch_array($result);

do
{
$sites5.="
<div class='info_c'><img width='16' height='16' style='margin:-4px' alt='' src='templates/nov/images/sait1.png'>&nbsp;&nbsp;<a title='".$myrow["title"]."' href='".$myrow["url"]."' target='_blank'>".$myrow["url"]."</a></div>
";
}

while ($myrow = mysql_fetch_array($result));
}

else
{
echo "<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
exit();
}


?>

помогите сделать запрос.

Всем заранее большое спасибо.

siv1987
На сайте с 02.04.2009
Offline
427
#1

SELECT * FROM `sites` WHERE `site_id` ORDER BY `site_id` DESC LIMIT 5

S9
На сайте с 30.01.2011
Offline
14
#2
siv1987:
SELECT * FROM `sites` WHERE `site_id` ORDER BY `site_id` DESC LIMIT 5

Спасибо большое.

Всё работает.

S9
На сайте с 30.01.2011
Offline
14
#3

Ещё вопросик, у меня сейчас выводится 5-ть последних сайтов в столбик я ставлю чтобы 10 выводилось выводится, а как сделать так чтобы эти 10 последних сайтов выводились в два столбика по 5-ть???

Заранее большое спасибо.

Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#4

SELECT * FROM `sites` WHERE `site_id` ORDER BY `site_id` DESC LIMIT 0, 5

SELECT * FROM `sites` WHERE `site_id` ORDER BY `site_id` DESC LIMIT 5, 5

вроде бы так. Первое число в ЛИМИТЕ указывает на ту строку, с которой начинать отдавать Вам результат, а второе число это количество записей. То есть первый запрос это 1-5 запись, а 2-ой запрос 6-10 запись.

P.S можно взять одним запросом 10 записей и уже потом средствами ПХП взять первые 5 записей и вывести в первый столбец, а оставшееся выводить во второй столбец.

Подпись))
siv1987
На сайте с 02.04.2009
Offline
427
#5


while( mysql result... )
{
if( $i<= 5 )
{
First block;
}
else
{
Second block;
}

$i++;
}
S9
На сайте с 30.01.2011
Offline
14
#6
siv1987:

while( mysql result... )
{
if( $i<= 5 )
{
First block;
}
else
{
Second block;
}

$i++;
}

Извините, если честно то я не понял куда именно вставить это код, так как в программировании я не силен.

Спасибо.

---------- Добавлено 17.04.2012 в 19:08 ----------

Милованов Ю.С:
SELECT * FROM `sites` WHERE `site_id` ORDER BY `site_id` DESC LIMIT 0, 5
SELECT * FROM `sites` WHERE `site_id` ORDER BY `site_id` DESC LIMIT 5, 5
вроде бы так. Первое число в ЛИМИТЕ указывает на ту строку, с которой начинать отдавать Вам результат, а второе число это количество записей. То есть первый запрос это 1-5 запись, а 2-ой запрос 6-10 запись.
P.S можно взять одним запросом 10 записей и уже потом средствами ПХП взять первые 5 записей и вывести в первый столбец, а оставшееся выводить во второй столбец.

Вставляю два таких запроса и получается что при выводе информации просто происходит дублирование сайтов то есть, выводит два таких, два таких и т.д.

---------- Добавлено 17.04.2012 в 19:25 ----------

На главной странице где выводятся те самые сайты они выводятся вот таким образом:

<div style="width:200px; float:left;">

<h3>Новые сайты</h3>

{sites5}

</div>

информацию берут из файла - sites_main.inc.php

вот он:


<?
$result = mysql_query("SELECT * FROM `sites` WHERE `site_id` ORDER BY `site_id` DESC LIMIT 5");
if (!$result)
{
echo "<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору. <br> <strong>Код ошибки:</strong></p>";
exit(mysql_error());
}
if (mysql_num_rows($result) > 0)
{
$myrow = mysql_fetch_array($result);
do
{
$sites5.="
<div class='info_c'><img width='16' height='16' style='margin:-4px' alt='' src='templates/nov/images/sait1.png'>&nbsp;&nbsp;<a title='".$myrow["title"]."' href='".$myrow["url"]."' target='_blank'>".$myrow["url"]."</a></div>
";
}
while ($myrow = mysql_fetch_array($result));
}
else
{
echo "<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
exit();
}
?>

как вывести в два столбца по 5-ть в каждом???

Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#7

Кидайте в личку линк на файл, код которого, вы указали последним. А то там *** вместо норм текста.

Можете в скайп постучать, я тут еще часа 2 буду.

S9
На сайте с 30.01.2011
Offline
14
#8
Милованов Ю.С:
Кидайте в личку линк на файл, код которого, вы указали последним. А то там *** вместо норм текста.
Можете в скайп постучать, я тут еще часа 2 буду.

Прикрепил к сообщению.

Спасибо.

zip sites_main.inc.zip
Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#9
sedoi95733:
Прикрепил к сообщению.

Спасибо.

http://4fun.kz/proba/sites_main.inc - файл

Вместо этого кода

<div style="width:200px; float:left;">

<h3>Новые сайты</h3>

{sites5}

</div>

поставьте этот

<table>

<tr>

<td>

<div style="width:200px; float:left;">

<h3>Новые сайты</h3>

{sites5}

</div>

</td

<td>

<div style="width:200px; float:left;">

<h3>Новые сайты</h3>

{sites52}

</div>

</td>

</tr>

</table>

можете в скайп написать.

ЗЫ. как сделайте, напишите, получилось или нет

З.Ы.Ы в верстке не силен, поэтому кроме такого варианта ничто более предложить не могу. Может кто другой подскажет:)

S9
На сайте с 30.01.2011
Offline
14
#10

[ATTACH]107650[/ATTACH]

Вот что получилось.

png 222.png
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий