درج ادامه مطلب

jalaladdin

Active Member
میخواهم برای پستهای صفحه اصلی سایتم ادامه مطلب بسازم با توجه به کدی که نوشتم 100 کاراکتر اول مطالب از پایگاه داده استخراج کرده ودر صفحه اصلی سایتم نشان داده میشود حالا چگونه به ادامه مطلب لینک بدم تا تمامی مطالب در صفحه دیگری نشان داده شود
 

Masoud1365

مدیر انجمن
کد:
www.site.com/news.php?NewsID=5
لینکش یه چیز تو این مایه ها میشه که اون 5 شماره id مثلا خبر ما در پایگاه داده هست !
 

jalaladdin

Active Member
برای نشان دادن مطالب در سایتم کد را بدین صورت نوشتم اما برای لینک دادن به ادامه مطلب مشکل پیدا کردم
PHP:
  <?php
  $con=mysql_connect("localhost","root","");
  if(!$con)
  {echo"could not connect";}
  mysql_select_db("register",$con);
   $text=mysql_real_escape_string($_POST['text1']);
   $tit=mysql_real_escape_string($_POST['title']);
 $news = mysql_query("SELECT * FROM message ORDER BY news_id DESC");
?>

<?php
 while ($news_i=mysql_fetch_array($news))
                {
                ?>
                <div class="bg-red " >
                <?php    echo $news_i['title'];
                ?></div>
                <?php
              
                    echo substr($news_i['text1'],0,1000);
                  
         print('<a href="index.php?NewsID" class="bg-green03" > ادامه مطلب</a>');            }
 
  
  ?>
 

Masoud1365

مدیر انجمن
خب id باید توی لینک باشه !
اینو ببین :
PHP:
  <?php
  $con=mysql_connect("localhost","root","");
  if(!$con)
  {echo"could not connect";}
  mysql_select_db("register",$con);
   $text=mysql_real_escape_string($_POST['text1']);
   $tit=mysql_real_escape_string($_POST['title']);
 $news = mysql_query("SELECT * FROM message ORDER BY news_id DESC");
?>

<?php
 while ($news_i=mysql_fetch_array($news))
                {
                ?>
                <div class="bg-red " >
                <?php    echo $news_i['title'];
                ?></div>
                <?php
              
                    echo substr($news_i['text1'],0,1000);
                  
         print('<a href="index.php?NewsID='.$news_i['title'].'" class="bg-green03" > ادامه مطلب</a>');            }
 
  
  ?>
 

jalaladdin

Active Member
با دادن این لینک به ادامه مطلب فقط صفحه اصلی refresh میشود ادامه متن نشان داده نمیشود
 

Masoud1365

مدیر انجمن
شما باید با استفاده از $_GET شماره id ممربوط به خبر رو بگیری بعد توی دیتابیست یه کوئری بگیری که خبر رو با id مثلا 5 بگیره بعدش نمایش بدی ! ادامه مطلب که یه چیز خودکار نیست خودتون باید تعریفش کنید !
 

MMSHFE

Active Member
با سلام، اين كد رو ببينيد:
PHP:
<?PHP
    mysql_connect('localhost','root','') or die('Could not connect.');
    mysql_select_db('register') or die('Database does not exist.');
    if(isset($_GET['news_id']) && $_GET['news_id']!='' && is_numeric($_GET['news_id']))
    {
        $news = mysql_query('SELET * FROM `message` WHERE (`news_id`=\''.intval($_GET['news_id']).'\') LIMIT 1');
        if(mysql_num_rows($news)>0)
        {
            $news_i=mysql_fetch_assoc($news);
        }
        echo '<DIV class="bg-red">'."\n";
        echo $news_i['title'];
        echo '</DIV>'."\n";
        echo $news_i['text1'].'<BR/>'."\n";
    }
    else
    {
        $news = mysql_query('SELECT * FROM `message` ORDER BY `news_id` DESC');
        if(mysql_num_rows($news)>0)
        {
            while ($news_i = mysql_fetch_assoc($news))
            {
                echo '<DIV class="bg-red">'."\n";
                echo $news_i['title'];
                echo '</DIV>'."\n";
                echo substr($news_i['text1'],0,1000).'<BR/>'."\n";
                echo '<A href="'.$_SERVER['SCRIPT_FILENAME'].'?news_id='.$news_i['news_id'].'" class="bg-green03">&nbsp;ادامه مطلب&nbsp;</A><BR/>'."\n";
            }
        }
    }
?>
اميدوارم مشكلتون برطرف بشه.
موفق باشيد.
 

jalaladdin

Active Member
وقتی روی ادامه مطلب کلیک میکنم این پیغام خطا را میدهFirefox doesn't know how to open this address, because the protocol (c) isn't associated with any program.
 

MMSHFE

Active Member
شرمنده، يادم رفته بود كه ['SERVER['SCRIPT_FILENAME_$ مسير كامل رو برميگردونه و بايد اسم فايل رو خودمون جدا كنيم. اين كد رو امتحان كنيد:
PHP:
<?PHP
    mysql_connect('localhost','root','') or die('Could not connect.');
    mysql_select_db('register') or die('Database does not exist.');
    if(isset($_GET['news_id']) && $_GET['news_id']!='' && is_numeric($_GET['news_id']))
    {
        $news = mysql_query('SELET * FROM `message` WHERE (`news_id`=\''.intval($_GET['news_id']).'\') LIMIT 1');
        if(mysql_num_rows($news)>0)
        {
            $news_i=mysql_fetch_assoc($news);
        }
        echo '<DIV class="bg-red">'."\n";
        echo $news_i['title'];
        echo '</DIV>'."\n";
        echo $news_i['text1'].'<BR/>'."\n";
    }
    else
    {
        $news = mysql_query('SELECT * FROM `message` ORDER BY `news_id` DESC');
        if(mysql_num_rows($news)>0)
        {
            while ($news_i = mysql_fetch_assoc($news))
            {
                echo '<DIV class="bg-red">'."\n";
                echo $news_i['title'];
                echo '</DIV>'."\n";
                echo substr($news_i['text1'],0,1000).'<BR/>'."\n";
                $filename=pathinfo($_SERVER['SCRIPT_FILENAME'];
                $filename=$filename['basename'];
                echo '<A href="'.$filename.'?news_id='.$news_i['news_id'].'" class="bg-green03">&nbsp;ادامه مطلب&nbsp;</A><BR/>'."\n";
            }
        }
    }
?>
موفق باشيد.
 

jalaladdin

Active Member
مرورگر این پیغام خطا نشان میدهد

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\wamp\www\4\index.php on line 105
 

Masoud1365

مدیر انجمن
کد صفحه index رو بزارید ! این کدها که دوستمون گذاشتن لاین 105 نداره که تست بشه !
ولی ارور مربوط میشه به این که آرگومانی که به mysql_num_rows() پاس کردید اشتباه هست !
 

jalaladdin

Active Member
این هم کد صفحه اصلی گذاشتم
PHP:
<?php 
session_start(); 
 
?>   
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>main page</title>

<link href="SpryAssets/SpryMenuBarHorizontal.css" rel="stylesheet" type="text/css" />

</head>
 
<body  >
<div align="center"><table width="989" height="695" border="1"  >
  <tr> 

    <td width="1223" height="141"  class="header" >web design tutorial<br></td>
  </tr>
  <tr>
    <td height="2"><table width="985" border="0">
      
     <div class="nav-main nav-main-font">            
            <ul>
             
              <li><a href="index.php" class=" selected">صفحه اصلی</a></li>
             <li><a href="html.html">Html</a></li>
             <li><a href="css.html">Css</a></li>
        <li><a href="javascript.html">Javascript</a></li>
         <li><a href="xml.html">Xml</a></li>
        <li><a href="php.html">Php</a></li>
         <li><a href="asp.html">Asp</a></li>
         <li><a href="sql.html">Sql</a></li>
        
       
         <li><a href="photoshop.html">گرافیک</a></li>
        <li><a href="forum">تالارگفتمان</a></li>
            <li><a href="download.html">دانلود کتاب</a></li>
                
                
                   
        <li><a href="contact.html">تماس با ما</a></li>
         
          </ul>
        </div>
        <div class="buffer"></div>
        
   </td>
  </tr>
  <tr>

    <td align="left" valign="top">
    <div class="sidebarbox-border bg-blue02">
<div class="sidebarbox-title-shading bg-blue05  dircss ">ورود کاربر</div>
 
<?php

if(isset($_SESSION['username']))
{
    //کاربر وارد بخش کاربری خود شده است
    echo $_SESSION['username']." خوش آمدی";
    printf('<form action="logout.php" method="post" class="   dir">
        <br/>
        
         <a href="change password.html" ><div class="dir">تغییر رمز عبور</a></div>
          <a href="upload.php" ><div class="dir">آپلود فایل</a></div>
           <a href="secret.php" ><div class="dir">مشخصات اعضا</a></div>
           <a href="sendmessage.php" ><div class="dir  ">ارسال مطلب</a></div>
           <a href="edit.php" ><div class="dir  ">حذف مطلب</a></div>
       <div align="center"> <input type="submit" value="خروج" class="button" /></div>'); 
}
else//در صورت عدم لاگین یا عضو نبودن
{
    //کد فرم لاگین خود را اینجا قرار دهید یا کاربر را به صفحه ی دیگری برای لاگین کردن هدایت کنید
    
       // برای مثال هدایت کاربر به صفحه ی لاگین :
   // header("Location: index.php");
   printf('<form action="login.php" method="post" class=" " >
        
        
  <div class="dir"> نام کاربری:<input type="text" name="username"   value="" size="20"  class="textbox"   /></div>
      
      <div class="dir">رمز عبور:  <input type="password"   name="password"  value="" size="20"  class="textbox" /></div>
       
     <div align="center">  <input type="submit" value="ورود" class="button" /></div>
        <a href="register.html" ><div class="dir">ثبت نام کاربر جدید </a></div>
        <a href="forgetpassword.php" ><div class="dir">کلمه عبور را فراموش کرده ام </a></div>
        </form>');
}

?> 

          </div>
        
     <div class="container-content-sidebar">        
<div class="content-pagetitle dircss     ">آموزش طراحی سایت  </div>
       <div class="contentbox-container">
   <div class=" dir bg-blue" >                                             <p>
  <?PHP
    mysql_connect('localhost','root','') or die('Could not connect.');
    mysql_select_db('register') or die('Database does not exist.');
    if(isset($_GET['news_id']) && $_GET['news_id']!='' && is_numeric($_GET['news_id']))
    {
        $news = mysql_query('SELET * FROM `message` WHERE (`news_id`=\''.intval($_GET['news_id']).'\') LIMIT 1');
        if(mysql_num_rows($news)>0)
        {
            $news_i=mysql_fetch_assoc($news);
        }
        echo '<DIV class="bg-red">'."\n";
        echo $news_i['title'];
        echo '</DIV>'."\n";
        echo $news_i['text1'].'<BR/>'."\n";
    }
    else
    {
        $news = mysql_query('SELECT * FROM `message` ORDER BY `news_id` DESC');
        if(mysql_num_rows($news)>0)

        {
            while ($news_i = mysql_fetch_assoc($news))
            {
                echo '<DIV class="bg-red">'."\n";
                echo $news_i['title'];
                echo '</DIV>'."\n";
                echo substr($news_i['text1'],0,1000).'<BR/>'."\n";
                echo '<a href="'.$filename.'?news_id='.$news_i['news_id'].'" class="bg-green03">&nbsp;ادامه مطلب&nbsp;</A><BR/>'."\n";
            }
        }
    }
?>
 

masima

Member
این خط کد:
PHP:
$news = mysql_query('SELET * FROM `message` WHERE (`news_id`=\''.intval($_GET['news_id']).'\') LIMIT 1');
را به صورت زیر ویرایش کنید :
PHP:
$news = mysql_query("SELET * FROM `message` WHERE `news_id`=' ".intval($_GET['news_id'])."' LIMIT 1");
 

jalaladdin

Active Member
باز هم همان پیغام خطا را نشان میدهد

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\wamp\www\4\index.php on line 105
 

masima

Member
همون خط رو به صورت زیر بنویسید :
PHP:
$news = mysql_query("SELET * FROM `message` WHERE `news_id`='".$_GET['news_id']."' LIMIT 1");
بعدشم آیا مطمئنید داخل دیتابیس خالی نیست؟
 

MMSHFE

Active Member
با سلام، قبل از (if(mysql_num_rows($news)>0 دستور ;()echo mysql_error رو بنويسيد ببينيم چه خطايي چاپ ميشه.
موفق باشيد.
 

jalaladdin

Active Member
با سلام خدمت دوستان
قبل از (if(mysql_num_rows($news)>0 دستور ;()echo mysql_error رو نوشتم
مرورگر این خطا را نشان میدهد
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELET * FROM `message` WHERE `news_id`=' 148' LIMIT 1' at line 1
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\wamp\www\4\index.php on line 106
 

masima

Member
سلام دوست عزیز میدونه مشکل این کد چیه؟
خیلی سادست!
کلمه select اشتباهی selet نوشته شده !
 

MMSHFE

Active Member
با سلام، دوست گرامي، اشكال از كد بنده بود. عذرخواهي ميكنم. حقيقتش چون توي NotePad نوشتم و تست نكردم، SELECT رو اشتباهاً نوشتم SELET ولي آخه مؤمن! خودتم يك نگاهي به كد بنداز بعد توي صفحه كپي كن! :wink:
 

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

بالا