نحوه نشان دادن رکورد قبلی و بعدی

سلام من یک سایت خبری طراحی کردم می خوام مو قعی که کاربر داره یک خبر رو می خونه بتونه به خبر بعد از اون و قبل از اون بره مثل سایتهای خبری .
به این شکل که دو تا لینک بذارم خبر بعدی و خبر قبلی
لطفا راهنماییم کنید :oops:
 

jhoseini

Member
PHP:
if($res = mysql_query(" select * from tab_name where `news_id`='".$_GET['news_id']."' ")){
  $rec = mysql_fetch_array($res);
} else {
  echo "error";
}
echo $rec['title']."<br>".$rec['body'];
echo "<a href='".($_GET['news_id']-1)."'>Last</a> ";
echo "<a href='".($_GET['news_id']+1)."'>Next</a>";
میتونی پیشرفته ترش کنی
قیل از نمایش لینک های قبل و بعد، چک کنی که خبر بعدی یا قبلی وجود داره ، اگه داشت لینک رو echo کنی
و ...
 

tabib_m

Member
جلال جان، فکر نمیکنم اصلا راه خوبی رو انتخاب کرده باشی.
کد شما فقط در صورتی خوب هست (حتی اگر وجود خبر رو چک کنیم) که 1- ترتیب سورت دلخواه، بر اساس آی دی ها باشه. 2- خبرها رو بخوایم بدون هیچ شرطی (شرط کوئری) نمایش بدیم.

فرضا اگر قراره ترتیب نمایش بر اساس تاریخ و ساعت باشه
بهتره این کار رو بکنی:
PHP:
// $date=date of this record

$query=mysql_query("select * from `tablenName` where `date`>'$date' order by `date` asc limit 1");
$rowNext=mysql_fetch_assoc($query);

$query=mysql_query("select * from `tablenName` where `date`<'$date' order by `date` desc limit 1");
$rowPrev=mysql_fetch_assoc($query);
اگر هم بخوای خبرها شرط خاص دیگه ای هم داشته باشن، به همون شرط کوئری ها میتونی اضافه کنی...

موفق باشید.
 

jhoseini

Member
بله، حق با شماست
اما ایشون چیزی از جزئیات نگفتن، بنظر اومد مشکلشون با لینک های next و last هست
 
سلام دوستان من هنوز اینو امتحان نکردم از لطفتون ممنون می خوام وقتی کاربران در حال دیدن متن یک خبر هستند بتوونند با داشتن یک دکمه خبر بعدی به خبر بعد از اون برن بنظرم متوجه شده باشین .
 

Mikhak

Active Member
PHP:
$result = mysql_query("select * from news where news_id = $news_id or news_id < $news_id or news_id > $news_id order by start_date limit 3");

انیم میشه یه جورایی تست کرد البته با اجازه دوستان
-----------
سینا
 
آخرین ویرایش:

1Program

Member
سلام دوستان .
همانطور که در عکس می بینید :
من می خوام یک چنین چیزی را پیاده سازی کنم .
لطفاً راهنمایی بفرمائید .
 

پیوست ها

  • tt.JPG
    tt.JPG
    17.4 کیلوبایت · بازدیدها: 9

jhoseini

Member
PHP:
where news_id = $news_id or news_id < $news_id or news_id > $news_id
این با where 1 فرقی نداره، داره؟
306.gif

فکر میکنم منظور شما به این شبیهه:
PHP:
where news_id = $news_id or news_id = $news_id+1 or news_id = $news_id-1

--------------------------------------------------
شاید این کمک کنه:
PHP:
<table><tr>
<td><a href='file.php?id=FRIST'>اول</a></td>
<td><a href='file.php?id=<?=$_GET['id']-1?>'>قبلی</a></td>
<td><a href='file.php?id=<?=$_GET['id']+1?>'>بعدی</a></td>
<td><a href='file.php?id=LAST'>آخر</a></td>
</tr></table>
PHP:
<?
switch($_GET['id']){
  case 'FIRST' : 
    $query = "select * from table where 1 order by id ASC limit 1 ";
    break;
  case 'LAST' :
    $query = "select * from table where 1 order by id DESC limit 1 ";
    break;
  DEFAULT :
    $query = "select * from table where id='".$_GET['id']."'  limit 1 ";
}
$res = mysql_query($query);
$rec = mysql_fetch_array($res);
var_dump($rec);
?>

298.gif
 
سلام بچه ها من تازه كارم نتونستم من كد خودم رو مي زارم اگه امكان داره كد هاتونو روي اين واسم اعمال كنيد مرسي
<?php
$number=7; // az in vase namayesh 7 khabar estefade mikonam
$hostname="localhost";
$username="root";
$password="";
$link = mysql_connect($hostname,$username,$password);
if ( ! $link )
die( "Couldn't connect to MySQL ". mysql_error() );

$db = mysql_select_db("bank",$link);
if (!$db) {
die ('Can\'t use foo : ' . mysql_error());
}
mysql_query($sql, $link );

if (!isset($_GET['start']))
{
$start=0;
$sql="SELECT count(*) FROM news ";
$result=mysql_query($sql, $link );
$row = mysql_fetch_row($result);
$total=$row[0];
}
else
{ $start=$_GET['start'];
$total=$_GET['total'];
}
$sql="SELECT * FROM news where 1 ORDER BY 'id' DESC LIMIT $start , $number";
if(!$_REQUEST['newsId']){
$res=mysql_query($sql, $link );
$num=mysql_num_rows($res);
for($i=0; $i<$num; $i++){
$row=mysql_fetch_array($res);
$link=$thisPageName."?newsId=".($row['id']);
echo "<left><table style='border:0px solid #ff9966; font-size:8px; font-family:Tahoma,serif margin-top: 0; margin-bottom: 0' cellSpacing=0 cellPadding=0 width='30%' border=0 >
<td width='90%' bgcolor='#fde3c3'><div align='right' style=\"font-family: Tahoma; color: #993300; font-size: 8pt\"><a href='$link'>".$row['title']."</a><img src='services_bullg.gif'></div></td>
</table>
";
}
echo "<div align=\"left\">";
if ($start!=0 && $start-$number > 0)
{
$prev=$start-$number;
echo "[<a href=\"o.php?start=$prev&total=$total\">ÕÝÍå ÈÚÏ</a>]";
}
elseif ($start!=0 && $start-$number <=0)
{
echo "[<a href=\"o.php\">ÕÝÍå ÞÈá</a>]";
}
if ($start+$number < $total){
$next=$start+$number;
echo "[<a href=\"o.php?start=$next&total=$total\">ÕÝÍå ÈÚÏ</a>]";
}
echo "</div>";
} else { // age ieki az link ha click shod namayesh dadane sharh on khabar
$res=mysql_query(" select * from `news`"); // dar ovordan e record i az news ke click khorde
$row=mysql_fetch_array($res); // ..
echo "<table width='100%' style='border: 1px SOLID #CCCCCC;' border='0' cellspacing='0'>
<tr>
<td bgcolor='#F9F9F9'><div align='right' style=\"font-family: Tahoma; color: #993300 ;font-size: 8pt\"> $row[title]<img src='lastpost.gif'> </div></td>
</tr>
<tr>
<td div align=\"right\" dir=\"rtl\" style=\"font-family: Tahoma; font-size: 8pt\"> ".nl2br($row['note'])."</td>
</tr>
<tr>
<td bgcolor='#F9F9F9'><div align='left' style=\"font-family: Tahoma; color: #993300 ;font-size: 8pt\">ÊÇÑíÎ : $row[tarikh]<src='n-f.gif'> </div></td>
</tr>
</table>
";
}
?>
 
سلام بچه ها من تازه كارم نتونستم من كد خودم رو مي زارم اگه امكان داره كد هاتونو روي اين واسم اعمال كنيد مرسي
PHP]<?php]
$number=7; // az in vase namayesh 7 khabar estefade mikonam
$hostname="localhost";
$username="root";
$password="";
$link = mysql_connect($hostname,$username,$password);
if ( ! $link )
die( "Couldn't connect to MySQL ". mysql_error() );

$db = mysql_select_db("bank",$link);
if (!$db) {
die ('Can\'t use foo : ' . mysql_error());
}
mysql_query($sql, $link );

if (!isset($_GET['start']))
{
$start=0;
$sql="SELECT count(*) FROM news ";
$result=mysql_query($sql, $link );
$row = mysql_fetch_row($result);
$total=$row[0];
}
else
{ $start=$_GET['start'];
$total=$_GET['total'];
}
$sql="SELECT * FROM news where 1 ORDER BY 'id' DESC LIMIT $start , $number";
if(!$_REQUEST['newsId']){
$res=mysql_query($sql, $link );
$num=mysql_num_rows($res);
for($i=0; $i<$num; $i++){
$row=mysql_fetch_array($res);
$link=$thisPageName."?newsId=".($row['id']);
echo "<left><table style='border:0px solid #ff9966; font-size:8px; font-family:Tahoma,serif margin-top: 0; margin-bottom: 0' cellSpacing=0 cellPadding=0 width='30%' border=0 >
<td width='90%' bgcolor='#fde3c3'><div align='right' style=\"font-family: Tahoma; color: #993300; font-size: 8pt\"><a href='$link'>".$row['title']."</a><img src='services_bullg.gif'></div></td>
</table>
";
}
echo "<div align=\"left\">";
if ($start!=0 && $start-$number > 0)
{
$prev=$start-$number;
echo "[<a href=\"o.php?start=$prev&total=$total\">ÕÝÍå ÈÚÏ</a>]";
}
elseif ($start!=0 && $start-$number <=0)
{
echo "[<a href=\"o.php\">ÕÝÍå ÞÈá</a>]";
}
if ($start+$number < $total){
$next=$start+$number;
echo "[<a href=\"o.php?start=$next&total=$total\">ÕÝÍå ÈÚÏ</a>]";
}
echo "</div>";
} else { // age ieki az link ha click shod namayesh dadane sharh on khabar
$res=mysql_query(" select * from `news`"); // dar ovordan e record i az news ke click khorde
$row=mysql_fetch_array($res); // ..
echo "<table width='100%' style='border: 1px SOLID #CCCCCC;' border='0' cellspacing='0'>
<tr>
<td bgcolor='#F9F9F9'><div align='right' style=\"font-family: Tahoma; color: #993300 ;font-size: 8pt\"> $row[title]<img src='lastpost.gif'> </div></td>
</tr>
<tr>
<td div align=\"right\" dir=\"rtl\" style=\"font-family: Tahoma; font-size: 8pt\"> ".nl2br($row['note'])."</td>
</tr>
<tr>
<td bgcolor='#F9F9F9'><div align='left' style=\"font-family: Tahoma; color: #993300 ;font-size: 8pt\">ÊÇÑíÎ : $row[tarikh]<src='n-f.gif'> </div></td>
</tr>
</table>
";
}
?>
[/quote]
[PHP/]
 
PHP:
$number=7; // az in vase namayesh 7 khabar estefade mikonam
$hostname="localhost";
$username="root";
$password="";
$link = mysql_connect($hostname,$username,$password);
if ( ! $link )
die( "Couldn't connect to MySQL ". mysql_error() );

$db = mysql_select_db("bank",$link);
if (!$db) {
die ('Can\'t use foo : ' . mysql_error());
}
mysql_query($sql, $link );

if (!isset($_GET['start']))
{
$start=0;
$sql="SELECT count(*) FROM news ";
$result=mysql_query($sql, $link );
$row = mysql_fetch_row($result);
$total=$row[0];
}
else
{ $start=$_GET['start'];
$total=$_GET['total'];
}
$sql="SELECT * FROM news where 1 ORDER BY 'id' DESC LIMIT $start , $number";
if(!$_REQUEST['newsId']){ 
$res=mysql_query($sql, $link ); 
$num=mysql_num_rows($res); 
for($i=0; $i<$num; $i++){ 
$row=mysql_fetch_array($res); 
$link=$thisPageName."?newsId=".($row['id']); 
echo "<left><table style='border:0px solid #ff9966; font-size:8px; font-family:Tahoma,serif margin-top: 0; margin-bottom: 0' cellSpacing=0 cellPadding=0 width='30%' border=0 >
<td width='90%' bgcolor='#fde3c3'><div align='right' style=\"font-family: Tahoma; color: #993300; font-size: 8pt\"><a href='$link'>".$row['title']."</a><img src='services_bullg.gif'></div></td> 
</table> 
";
}
echo "<div align=\"left\">";
if ($start!=0 && $start-$number > 0)
{ 
$prev=$start-$number;
echo "[<a href=\"o.php?start=$prev&total=$total\">ÕÝÍå ÈÚÏ</a>]";
}
elseif ($start!=0 && $start-$number <=0)
{
echo "[<a href=\"o.php\">ÕÝÍå ÞÈá</a>]";
}
if ($start+$number < $total){
$next=$start+$number;
echo "[<a href=\"o.php?start=$next&total=$total\">ÕÝÍå ÈÚÏ</a>]";
}
echo "</div>"; 
} else { // age ieki az link ha click shod namayesh dadane sharh on khabar
$res=mysql_query(" select * from `news`"); // dar ovordan e record i az news ke click khorde 
$row=mysql_fetch_array($res); // .. 
echo "<table width='100%' style='border: 1px SOLID #CCCCCC;' border='0' cellspacing='0'> 
<tr> 
<td bgcolor='#F9F9F9'><div align='right' style=\"font-family: Tahoma; color: #993300 ;font-size: 8pt\"> $row[title]<img src='lastpost.gif'> </div></td> 
</tr>
<tr>
<td div align=\"right\" dir=\"rtl\" style=\"font-family: Tahoma; font-size: 8pt\"> ".nl2br($row['note'])."</td> 
</tr>
<tr> 
<td bgcolor='#F9F9F9'><div align='left' style=\"font-family: Tahoma; color: #993300 ;font-size: 8pt\">ÊÇÑíÎ : $row[tarikh]<src='n-f.gif'> </div></td> 
</tr>
</table> 
"; 
}
 
سلام با این کد من تو یک جدول 7 تا عنوان رو از یک بانک نشون میدم که کاربر میتونه با کلیک روی هر کدوم متن اون عنوان رو بخونه . میشه بگین چطور میشه وقتی کاربر داره مشروح یک خبر رو می خونه بتونه همونجا که هست بره خبر بعد از اون .
راستی یک سوال دیگه هم دارم می خوام با کلیک روی هر عنوان بره تو یک صفحه جدید و اونجا نشون بده مشروح اونو .
لطفا کمکم کنید
 

jhoseini

Member
با این توضیحاتی که شما دادید نمیشه بیشتر از این ارائا کرد :-؟؟
PHP:
$rows = 10;
$start = (int) $_GET['page'] * $rows;
$res = mysql_query(" select * from table_name where 1 limit '$start','$rows' ");
 

Mikhak

Active Member
query که من نوشته بودم فقط یک خط بود
فقط باید یه کم بیشتر دقت کنی
--------------
سینا
 

جدیدترین ارسال ها

بالا