|
Тема
|
Извеждане на архив новини по 100 на страница
|
|
Автор |
CAШO () |
Публикувано | 20.02.07 13:53 |
|
Здравейте, поддържам информационен сайт написан на PHP, но не съм много наясно с програмирането. Вече от една година на една и съща страница се трупат новини и са станали абсурдно много. Знаете ли как да групирам новините, например по стотина на страница, за да не се зареждат всичките наведнъж ? Предварително благодаря! А ето и таговете на въпросния архив :
<?
$result = mysql_query("SELECT newsID,header,info,pic from news ORDER BY newsID DESC") or die ("Невъзможно извеждането на новини!");
while ($row = @mysql_fetch_row($result)){
$row[1] = stripslashes($row[1]);
$row[2] = stripslashes($row[2]);
$row[3] = stripslashes($row[3]);
$row[2] = nl2br($row[2]);
$row[2] = short_text($row[2],300);
if ($row[3] == NULL) $row[3] = "stuart.jpg";
echo "<div class=\"main_news\">";
echo "<b><a href=\"?p=news_details&id=$row[0]\">$row[1]</a></b>
";
echo "<a href=\"?p=img_order&id=$row[0]\"><img src=\"img/$row[3]\" width=\"100px\" border=\"0\" style=\"float:left;margin: 10px;\" alt=\"Можете да закупите снимката!\"></a>
";
echo "<p style=\"margin: 10px;\">$row[2]
";
echo "<p align=\"right\"><b><a href=\"?p=news_details&id=$row[0]\">повече</a></b></div>\n";
}
?>
<P ID="edit"><FONT class="small"><EM>Редактирано от CAШO на 20.02.07 13:54.</EM></FONT></P><P ID="edit"><FONT class="small"><EM>Редактирано от CAШO на 20.02.07 13:56.</EM></FONT></P>Редактирано от CAШO на 20.02.07 13:57.
| |
Тема
|
Re: Извеждане на архив новини по 100 на страница
[re: CAШO]
|
|
Автор |
is_stupid (непознат
) |
Публикувано | 20.02.07 21:00 |
|
В заявката добави LIMIT $ot_ID,$broy_zapisi.
Потърси из нета, има готови скриптове, но най-вероятно ще се наложи да си ги редактираш според твоите нужди.
| |
|
Това няма да му реши проблема. Трябва му пейджинг, който да:
1. Подава съответния $ot_ID (LIMIT START) и (евентуално при добре направен пейджинг $broy_zapisi (LIMIT COUNT)) към заявката - така че потребителят да може да се разхожда по страниците и даже да си избира по колко новини на страница предпочита да вижда примерно ако гледа сайта от мобилния си телефон или от 21 инчовия си монитор.
2. Логика за генериране и форматиране на интерфейса към пейджинга - създаването на менюто с линковете с <prev 1 2 3 .... next> или Go to page <drop down меню със страниците> на базата на избрания от юзъра брой желани обекти на страница, с възможност за връщане към първата или отиване направо на последната, както и на произволна от генерираните страници с резултати.
Абе всъщност му трябва да се научи да търси решенията на такива проблеми чрез google или друга търсачка.
Редактирано от TpakийckиKoнниk на 21.02.07 01:04.
| |
|
Е именно де. Из нета има готови скриптове за страниране /paging/ на резултатите. Едва ли може да очаква някой тук да сервира готовият скрипт.
| |
|
Благодаря за съветите! Само че, не са ми от полза, защото аз съм пълен лаик в PHP , занимавам се с други неща и просто си докарвам допълнителен доход от поддръжката на тази страница :
Опитах да поставя готови скриптове за страниране , но естествено нищо не се получи. Така че, ще се радвам ако някой ентусиаст ми пригоди готов скрипт за моя случай. (таговете на въпросната страница съм поставил в първия пост) Предварително благодаря за помощта! Така ще ми помогнете да си запазя 100-те лв допълнителен доход месечно Обещавам почерпка на отзовалите се.
| |
Тема
|
Re: Пейджинг за лаици
[re: CAШO]
|
|
Автор |
Tpaвъл (бунтар) |
Публикувано | 22.02.07 09:03 |
|
А защо не позволиш на някой, който е в час с html, php и mysql, да изкарва допълнителен доход от 50 лева на месец, за да поддържа това, което ти не можеш?
| |
Тема
|
Re: Пейджинг за лаици
[re: CAШO]
|
|
Автор |
chernobyl (бръмбар) |
Публикувано | 22.02.07 11:04 |
|
Странирането е стандартна и елементарна задача, така че процедурата е следната:
1. Намираш твой познат, който е професионалист в областта и живее наблизо.
2. Закупуваш каса бира.
3. Отиваш с касата до жилището на професионалиста от т.1
4. Натискаш копчето на звънеца.
5. Обясняваш проблема.
Хем си запазваш дохода, хем ще изненадаш някого приятно :)
---
Life is too short so love the one you got
Cause you might get run over or you might get shot
| |
Тема
|
Re: Пейджинг за лаици
[re: CAШO]
|
|
Автор |
hobbit (dreamer) |
Публикувано | 18.03.07 10:27 |
|
Пробвай по този начин. Не е най-доброто, но е вариант
<?
//NACHALO NA SKRIPTA ZA IZCHISLQVANE BROQ NA STRANICITE
$display=100;
if (isset($_GET['np'])) {
$num_pages = $_GET['np']; }
else {
$pagingquery = "SELECT COUNT(*) FROM news ORDER BY newsID DESC";
$pagingresult = mysql_query ($pagingquery);
$pagingrow = mysql_fetch_array ($pagingresult, MYSQL_NUM);
$num_records = $pagingrow[0];
if ($num_records > $display) {
$num_pages = ceil ($num_records/$display); }
else {
$num_pages = 1; }
}
if (isset($_GET['offset'])) {
$offset = $_GET['offset']; }
else { $offset = 0; }
//KRAI NA SKRIPTA ZA IZCHISLQVANE BROQ NA STRANICITE
$result = mysql_query("SELECT newsID,header,info,pic from news ORDER BY newsID DESC") or die ("Невъзможно извеждането на новини!");
while ($row = @mysql_fetch_row($result)){
$row[1] = stripslashes($row[1]);
$row[2] = stripslashes($row[2]);
$row[3] = stripslashes($row[3]);
$row[2] = nl2br($row[2]);
$row[2] = short_text($row[2],300);
if ($row[3] == NULL) $row[3] = "stuart.jpg";
echo "<div class=\"main_news\">";
echo "<b><a href=\"?p=news_details&id=$row[0]\">$row[1]</a></b>
";
echo "<a href=\"?p=img_order&id=$row[0]\"><img src=\"img/$row[3]\" width=\"100px\" border=\"0\" style=\"float:left;margin: 10px;\" alt=\"Можете да закупите снимката!\"></a>
";
echo "<p style=\"margin: 10px;\">$row[2]
";
echo "<p align=\"right\"><b><a href=\"?p=news_details&id=$row[0]\">повече</a></b></div>\n";
}
?>
<div>
<?php
//NACHALO NA IZVEJDANETO NA VRUZKITE KUM STRANICITE
if ($num_pages > 1) {
$current_page=($offset/$display)+1;
if ($current_page != 1) {
echo("<a href=\"?p=news_archive&offset=".($offset-$display)."&np=".$num_pages."\">Предишна</a> ");
}
for ($i=1; $i<=$num_pages; $i++) {
if ($i != $current_page) {
echo("<a href=\"?p=news_archive&offset=".(($display * ($i - 1)))."&np=".$num_pages."\">".$i."</a> ");
} else {
echo(" ".$i." ");
}
}
if ($current_page != $num_pages) {
echo("<a href=\"?p=news_archive&offset=".($offset + $display)."&np=".$num_pages."\">Следваща </a>");
}
}
//KRAI NA IZVEJDANETO NA VRUZKITE KUM STRANICITE
?>
</div>
| |
Тема
|
И това не става
[re: hobbit]
|
|
Автор |
CAШO () |
Публикувано | 08.06.07 10:35 |
|
Нестава, новините вече станаха 1100 на една страница ......
| |
|
|
|
|