Здравейте, колеги. Пускам една тема за два проблема, защото според мен са дребни и няма нужда от две теми.
Та първия проблем ми е, че изкарвам последните 10 статии(следователно те са със странициране), но статията най-отгоре която е на 1-ва страница трябва да е най-новата статия, а то ми излиза последната. Последната примерно е добавена на 10.10.2010г., а най-новата е на 03.03.2012г.
Та искам най-новата да е първа на 1-ва страница, а не както е сега, последна на последна страница. Ето го кода:
Втория проблем е следния:
Така изкарвам 8 категории с по 3 статии в тях, но искам в едните да изкарвам 3 статии, а в другите 6 статии. Как ще стане това?
От if($i==1 || $i==4 || $i==7 || $i==10 || $i==13) изкарвам 5 категории - там са си 3 статии, но от if($idnovina == 1 || $idnovina == 2 || $idnovina == 3 || $idnovina == 4 || $idnovina == 5 || $idnovina == 6 || $idnovina == 7 || $idnovina == 8) искам да изкарам по 6 статии, а то пак изкарва 3. Как да го направя за едното да са по 3 статии, а в другото по 6 статии. Има ли такъв вариант?
Надявам се да успеете да ми помогнете. Благодаря Ви предварително!
Та първия проблем ми е, че изкарвам последните 10 статии(следователно те са със странициране), но статията най-отгоре която е на 1-ва страница трябва да е най-новата статия, а то ми излиза последната. Последната примерно е добавена на 10.10.2010г., а най-новата е на 03.03.2012г.
Та искам най-новата да е първа на 1-ва страница, а не както е сега, последна на последна страница. Ето го кода:
PHP:
<?php
include ("config.php");
function secure($var) {
return addslashes(htmlspecialchars($var));
}
$id = secure(@$_GET['id']);
$page = mysql_query("SELECT COUNT(*) as cnt FROM `news` WHERE `catid`='".$id."'") or die (mysql_error()); //Първа заявка, която взима броя на новините
$rpage = mysql_fetch_array($page);
$limit = 10; //По колко резултата да се показват на страница
$max_pages = ceil($rpage['cnt']/$limit);
if((int)$_GET['p']>0) {
$pages = (int)$_GET['p'];
} else {
$pages = 0;
}
$query = mysql_query("SELECT * FROM news WHERE catid = '$id' LIMIT ".($limit*$pages).",".$limit)or die(mysql_error());
$nums = mysql_num_rows($query);
while($row = mysql_fetch_object($query)) {
if(($nums > 0) && ($id != NULL)) {
$title = $row -> title;
$novinata = $row -> novinata;
$source = $row -> source;
$kateto = $row -> catid;
$pics = $row -> picture;
$namepicture = $row -> namepicture;
$date = $row -> date;
$id = $row -> id;
$views = $row -> views;
$title = utf8_wordwrap($title, 120, " ", '<br />\n');
$novinata = utf8_wordwrap($novinata, 100, " ", '<br />\n');
$novinata = str_replace(array('[b]', '[/b]', '[i]', '[/i]'), array('<b>', '</b>', '<i>', '</i>'), $novinata);
$comments = mysql_query("SELECT COUNT(id) AS `comments_counter` FROM `comment` WHERE `id_news` = ".$id) or die(mysql_error());
$comments = mysql_fetch_assoc($comments);
if($kateto==1){
$catss='Светско';
}
if($kateto==2){
$catss='Скандално';
}
if($kateto==3){
$catss='Криминално';
}
if($kateto==4){
$catss='Made in BG';
}
if($kateto==5){
$catss='По света';
}
if($kateto==6){
$catss='Градски легенди';
}
if($kateto==7){
$catss='Любопитно';
}
if($kateto==8){
$catss='Секс';
}
if($kateto==9){
$catss='Продукти';
}
echo $novinata = "
<img src='".$pics."' width='120px' align='center' height='70px' style='float:left;margin-left:5px;margin-top:5px;' />
<div style='font-family: Georgia, serif;'><h3><a href='view.php?id=$id'><b>$title</b></a></h3></div>
<p class='author'><span>$date</span> | коментари <img src='img/ico_comment.gif'> ".$comments['comments_counter']." | видяна <img src='img/ico_sawn.gif'> $views</p><BR>";
}
}
/*================ Странициране ======================*/
if( $rpage['cnt'] > $limit )
{
//pagination
$pagination="";
if($_GET['p'] > 0)
{
$pagination .= '
<a href="view1.php?id='.$_GET['id'].'&p='.($_GET['p']-1).'">Назад</a> ';
}
$max_on_the_pp = 9;
if($_GET['p'] >= 3)
{
$ravno = $_GET['p']-3;
}
if($_GET['p'] >= 5)
{
$ravno = $_GET['p']-5;
}
for($i=$ravno-0;$i<($_GET['p']+$max_on_the_pp);$i++)
{
if(($i+1) <= $max_pages)
{
if($_GET['p'] == $i)
{
$pagination .= '<span class="current">'.($i+1).'</span> ';
}
else
{
$pagination .= '<a href="view1.php?id='.$_GET['id'].'&p='.$i.'" class="page">'.($i+1).'</a> ';
}
}
}
echo $pagination;
if($_GET['p'] != $max_pages-1)
{
echo '<a href="view1.php?id='.$_GET['id'].'&p='.($_GET['p']+1).'">Напред</a>';
}
}
/*================ Странициране ======================*/
if(($nums > 0) && ($id != NULL)) {
} else if(!$_GET['id']) {
echo "<BR><b>Моля изберете категория, която да видите.</b>";
}
elseif ($nums == 0) {
echo "<BR><b>Грешка:</b> Все още няма качени новини в тази категория.";
}
?>
Втория проблем е следния:
PHP:
<?php
$nn=mysql_query("SELECT * FROM news WHERE catid='$idnovina' ORDER BY id DESC LIMIT 0,3");
while($n=mysql_fetch_assoc($nn)){
$i++;
$idnn=$n['id'];
$datenovina=$n['date'];
$broikata=$n['broikai'];
$titlenovina = stripslashes($n['title']);
$novina = stripslashes($n['novinata']);
$views = $n['views'];
$titlenovina = utf8_wordwrap($titlenovina, 25, " ", '<br />\n');
if(mb_strlen($novina,'UTF-8')>130){
$novina = mb_substr($novina,0, 130,'UTF-8')."...";
}
if($i==1 || $i==4 || $i==7 || $i==10 || $i==13){
echo "<ul><li><a href='view.php?id=".$idnn."'><img src='".$n['picture']."' width='100px' height='50px' style='float:left;margin-top:5px;padding:5px;' /></a><div style='font-family: Georgia, serif;'><h4><a href='view.php?id=".$idnn."'><b>".$titlenovina."</b></a></h4></div><h6>".$n['date']."</h6> <h6>".$novina."</h6>
</li></ul>";
}else{
if($idnovina == 1 || $idnovina == 2 || $idnovina == 3 || $idnovina == 4 || $idnovina == 5 || $idnovina == 6 || $idnovina == 7 || $idnovina == 8){
echo "<ul><li><a href='view.php?id=".$idnn."'>".$titlenovina."</a>
</li></ul>";
}
}
}
?>
От if($i==1 || $i==4 || $i==7 || $i==10 || $i==13) изкарвам 5 категории - там са си 3 статии, но от if($idnovina == 1 || $idnovina == 2 || $idnovina == 3 || $idnovina == 4 || $idnovina == 5 || $idnovina == 6 || $idnovina == 7 || $idnovina == 8) искам да изкарам по 6 статии, а то пак изкарва 3. Как да го направя за едното да са по 3 статии, а в другото по 6 статии. Има ли такъв вариант?
Надявам се да успеете да ми помогнете. Благодаря Ви предварително!