نمایش نتایج 1 تا 12 از 12

نام تاپیک: نحوه نشان دادن رکورد قبلی و بعدی

  1. #1
    کاربر دائمی آواتار hentjanson
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    مشهد
    پست
    442

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

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

  2. #2
    کاربر دائمی آواتار Bahram0110
    تاریخ عضویت
    آبان 1384
    محل زندگی
    شیراز | یاسوج | اهواز
    پست
    1,059
    خبرتون حتما یه فیلد ID داره
    یکی از ID کم کن یکی هم بهش اضافه کن

  3. #3
    کاربر دائمی آواتار hentjanson
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    مشهد
    پست
    442
    میشه یک مثال یزنید متوجه نشدم اینکه چطور اضافه و نمایش بدم . مرسی

  4. #4
    کاربر دائمی
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    ايران-قم
    پست
    227
    یکی از ID کم کن یکی هم بهش اضافه کن
    این روش به مشکل میخوره.
    چون شاید بعضی از خبرها پاک شده باشن و اختلاف آید دو خبر متوالی در جدول بانک بیش از یک باشه.
    به نظر من هنگام نمایش اخبار یک شمارنده درست کن که به ازای هر واکشی سطر از جدول یکی اضافه بشه.بعد یه تابع بنویس که وقتی روی هر سطر کلیک می کنی شماره ی اون سطر رو(شماره ی تایمر مربوط به اون سطر و نه آید سطر) در یه متغیر سراسری پر کنه.
    حالا هر وقت که روی لینک بعدی یا قبلی کلیک می کنی باید از مقدار متغیر سراسریت یکی کم و یا یکی اضافه کنی.

  5. #5
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    مهر 1383
    محل زندگی
    سمنان - ایران
    پست
    440
    نقل قول نوشته شده توسط mrrajabi مشاهده تاپیک
    این روش به مشکل میخوره.
    .بعد یه تابع بنویس که وقتی روی هر سطر کلیک می کنی شماره ی اون سطر رو(شماره ی تایمر مربوط به اون سطر و نه آید سطر) در یه متغیر سراسری پر کنه.
    سلام .
    من هم متوجه نشدم .

    لطفاً با مثال توضیح دهید .
    من می خواهم همانند تصویر یک جدول و چند دکمه برای حرکت بر روی جدول بانک اطلاعاتی داشته باشم .
    لطفاً راهنمایی بفرمائید .
    عکس های ضمیمه عکس های ضمیمه
    • نوع فایل: jpg tt.JPG‏ (17.4 کیلوبایت, 29 دیدار)

  6. #6
    کاربر دائمی
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    ايران-قم
    پست
    227

    //با فرض اتصال به بانک
    Connect();
    <table>
    <tr onclick='rowCod(<?php print($Counter); ?>);'>
    <td></td>
    </tr>

    </table>

    var rowId = 0;
    function rowCod(ID)
    {
    rowId = ID;

    }
    function next()
    {
    if(rowId != 0)
    {
    document.getElementById(rowId).style.bgColor='With e';
    }
    else
    {
    rowId = rowId+1;
    document.getElementById(rowId).style.bgColor='Yell ow';
    }
    }

    function Back()
    {

    if(rowId != 0)
    {
    document.getElementById(rowId).style.bgColor='With e';
    }
    else
    {
    rowId = rowId - 1;
    document.getElementById(rowId).style.bgColor='Yell ow';
    }
    }

    <inpute type='button' value='Next' onclick ='next();' />
    <inpute type='button' value='Back' onclick ='Back();' />
    فقط یادت باشه که سطرهای جدولت نباید رنگی باشه(البته در این روش)

  7. #7
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    مهر 1383
    محل زندگی
    سمنان - ایران
    پست
    440
    سلام .
    ممنونم که جواب منو دادین .
    اما منظور من این بود :
    من می خواهم یک کوئری بزنم سپس رکوردها را در یک متغیر مثلاً Row بریزم سپس به وسیله دکمه (عکس) اعمالی مثل رکورد بعدی و قبلی و... را پیمایش کنم .
    همانند برنامه های رویداد گرا .
    من می خواهم تمام این اعمال در یک صفحه انجام شود و فرم را به صفحه دیگری پست نکنم .

  8. #8
    کاربر دائمی آواتار tabib_m
    تاریخ عضویت
    تیر 1384
    محل زندگی
    ایران - قم
    پست
    1,268
    مطمئنا وقتی حرف از «بعدی» و «قبلی» میشه، باید یک ترتیبی در میون باشه.
    که طبیعتا فکر میکنم ترتیب مورد نیاز شما در اینجا، بر اساس زمان ثبت خبر هست.
    پس شما باید محور انتخاب رکورد قبلی و بعدی رو زمان ایجاد رکورد قرار بدی، نه ID اونها!! (هر چند که ترتیب idها در اکثر مواقع -یعنی نه همیشه- مشابه ترتیب زمانی رکوردها هست)

    حالا اگر فرضا اگر قراره ترتیب نمایش بر اساس تاریخ و ساعت باشه
    بهتره این کار رو بکنی:

    // $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);

    اگر هم بخوای خبرها شرط خاص دیگه ای هم داشته باشن، به همون شرط کوئری ها میتونی اضافه کنی... (مثلا ممکنه بخوای خبرهایی رو نمایش بدی که مقدار فلان فیلدشون برابر با فلان چیز هست‌، که شرط مذکور رو میتونی همینجا بهش اضافه کنی)

    موفق باشید.

  9. #9
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    مهر 1383
    محل زندگی
    سمنان - ایران
    پست
    440
    سلام دوستان .
    از پاسخ هاتون ممنونم.

    کد من اینه .
    مشکل اینجاست که مقدار IDState تغییر نمی کنه .
    داخل تابع هم شناخته نمیشه . حتی موقعی کهIDState را global تعریف می کنم .

    2- همانطور که در عکس دیدید من می خواهم یک Navigator برای پیمایش رکوردها داشته باشم .
    اما می خواهم فقط یکبار Query بزنم نه برای هر بار زدن یک دکمه Query جدیدی اجرا کنم .
    چون تعداد مراجعات به بانک زیاد می شود .
    پس بهتر است یکبار هنگام Load صفحه این Query اجرا شود و با تغییرات جدول به صورت خودکار دوباره در صفحه لود شود .
    فکر می کنم برای لود خودکار تغییرات باید از AJAX استفاده کنم .

    در ضمن برای اینکه دکمه های من رویداد گرا باشند ، از مقاله ای IranPHP استفاده نمودم که آدرسش را قرار می دهم و برای رکورد بعدی و قبلی هم از کد جناب طبیب استفاده نمودم .
    من برای رفتن به رکورد قبلی و بعدی به مقدار ID ها کم یا اضافه نمی کنم . بلکه رکوردها را مرتب کرده و اولین فیلد را بر می دارم .

    http://www.iranphp.net/articles/apli...rticles007.pdf

    لطفا راهنمایی بفرمائید .


    <?php
    $row=array('IDState'=>1);
    $IDState=1;
    echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>PHP Page</title>
    <style>
    body
    {
    font:12px, Tahoma, "Times New Roman", Andalus, Arial;
    direction:rtl;
    }
    </style>
    <link href="style.css" rel="stylesheet" type="text/css" />
    </head>';
    Function submit($IDStateIN)
    {
    $Conn = mysql_connect("localhost", "root", "");
    if (!$Conn) {
    die("Could not connect: " . mysql_error());
    }
    mysql_select_db("pishnahadat",$Conn) or die("Could not select database");
    if(isset($_POST['formsubmit']))
    {
    $q1="select * from statep order by IDState ASC limit 0,1 ";
    $res1=mysql_query($q1,$Conn);
    $row=mysql_fetch_assoc($res1);
    return $row;
    }// 1
    if(isset($_POST['formsubmit2']))
    {
    $q1="select * from statep where IDState <= ". $IDStateIN." order by IDState ASC limit 1 ";
    $res1=mysql_query($q1,$Conn);
    $row=mysql_fetch_assoc($res1);
    return $row;
    }// 2

    if(isset($_POST['formsubmit3']))
    {
    $q1="select * from statep where IDState > ". $IDStateIN ." order by IDState asc limit 1 ";
    $res1=mysql_query($q1,$Conn);
    $row=mysql_fetch_assoc($res1) ;
    return $row;
    }// 3
    if(isset($_POST['formsubmit4']))
    {
    $q1="select * from statep order by IDState DESC limit 1 ";
    $res1=mysql_query($q1,$Conn);
    $row=mysql_fetch_assoc($res1) ;
    return $row;
    }// 4

    }

    echo '
    <body dir="rtl" background="Images/Back0.JPG" >
    ';
    $row=submit($IDState);
    $IDState=$row['IDState'] or 1;
    echo '
    <table width="100%" border="0">
    <tr>
    <td><b>پیشنهادات جدید </b></td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td><input type="button" name="LoadPishnahad" value="پیشنهادات رسیده" /></td>
    <td>کد پیشنهادی </td>
    <td><INPUT Name="txtIDState" Type="text" value=""></td>
    <td>گروه کارشناسی </td>
    <td><select name="txtGroupK">
    <option>کامپیوتر</option>
    <option>مالی</option>
    <option>اداری</option>
    </select></td>
    <td>تعداد پیشنهادات جدید </td>
    <td></td>
    </tr>
    <tr>
    <td>
    <form name="fLast" action="NewPishnahad.php" method="post" >
    <input type="hidden" name="formsubmit4" value="4" />
    <input width="80" name="BtnLast" type="submit" value="رکورد آخر" id="BtnLast" />
    </form>
    </td>
    <td>
    <form name="fNext" action="NewPishnahad.php" method="post" >
    <input type="hidden" name="formsubmit3" value="3" />
    <input name="BtnNext" type="submit" id="BtnNext" value="بعدی" width="80"/>
    </form>
    </td>
    <td>';

    echo '<input name="txtIDstate" type="text" id="txtIDstate" width="60" value="'.$IDState.'" />
    </td>
    <td>
    <form name="fBack" action="NewPishnahad.php" method="post" >
    <input type="hidden" name="formsubmit2" value="2" />
    <input width="80" name="BtnBack" type="submit" id="BtnBack" value="قبلی" />
    </form>
    </td>
    <td>
    <form method="post" action="NewPishnahad.php" name="fFirst">
    <input type="hidden" name="formsubmit" value="1" />
    <input type="submit" name="btnsubmit" value="رکورد اول" width="80" />
    </form>
    </td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    </tr>
    </table>

    </body>
    </html>';
    ?>



  10. #10
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    مهر 1383
    محل زندگی
    سمنان - ایران
    پست
    440

    پاسخ نهایی

    سلام دوستان .
    بالاخره با کلی دردسر به این نتیجه رسیدم که با متد Get متغیر را برای صفحه ام بفرستم این هم کدش :

    کد قسمت Head

    <?php
    $row=array('IDState'=>1);
    global $IDState;
    $IDState=1;
    if(isset($_GET['IDState']))
    {
    $IDState=$_GET['IDState'];
    echo "myID : $IDState";
    $Conn = mysql_connect("localhost", "root", "");
    mysql_select_db("pishnahadat",$Conn) or die("Could not select database");
    $q1="select * from statep where IDState > ". $IDState ." order by IDState asc limit 1 ";
    $res1=mysql_query($q1,$Conn);
    $row=mysql_fetch_assoc($res1) ;
    $IDState=$row['IDState'];
    }
    ?>


    کد قسمت Body :

    <a href="NewPishnahad.php?IDState=<?php echo $IDState ;?>" >Next</a>

  11. #11
    کاربر دائمی آواتار hentjanson
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    مشهد
    پست
    442

    Smile

    سلام من هنوز نتونستم کد خودم رو میزارم کمکم کنید مرسی


    $number=7;
    $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("aa",$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=".md5($row['title']);
    echo "<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' target='_blank'>".$row['title']."</a><img src='services_bullg.gif'></div></td>
    </table>
    ";
    }
    } else { // age ieki az link ha click shod ..
    $res=mysql_query(" select * from `news` where md5(`title`)='".$_REQUEST['newsId']."' limit 1 "); // 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 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[author]<src='n-f.gif'> </div></td>
    </tr>
    </table>
    ";
    }


  12. #12
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    مهر 1383
    محل زندگی
    سمنان - ایران
    پست
    440

    Arrow

    سلام .
    چرا از mysql_num_rows استفاده نمی کنید .

    با استفاده از این تابع می توانید تمام رکوردهای مورد نظر را انتخاب و روی آنها حرکت کنید .
    من از این تابع استفاده کردم . جواب گرفتم .

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •