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

نام تاپیک: چطوری میشه شماره ID مطالب دیتابیس بدست آورد و به صورت تصادفی یکی از ID ها رو چاپ کرد...

  1. #1

    Question چطوری میشه شماره ID مطالب دیتابیس بدست آورد و به صورت تصادفی یکی از ID ها رو چاپ کرد...

    من 2 تا جدول دارم داخل دیتابیس یکی به اسم news و یکی به اسم see

    1- من میخوام اول از همه کلیه شماره های id رکوردهای داخل جدول news که مثلا در گروه ورزش هستند بدست بیارم و از داخل اون شماره id ها بیام یک id به صورت تصادفی چاپ کنم

    اینجوری نوشتم


    try // شماره ای دی پست

    {

    $select_blog = $database_connect->prepare("SELECT * FROM `news` WHERE `group`=:group AND `status`='1' ORDER BY `id` DESC");

    $select_blog->bindParam(':group', $database_value_read, PDO::PARAM_STR, 100);

    $select_blog->execute();

    $select_blog->rowCount();

    }

    catch(PDOException $error)

    {

    trigger_error('<center><h5 style="color:red">'.$lang['MASSAGE_092'].'</h5></center><br />' . $error->getMessage(), E_USER_ERROR);}

    while($post=$select_blog->fetch(PDO::FETCH_ASSOC))

    {

    $posts_id=''.$post['id'].',';

    }




    خروجی
    کد HTML:
    69,68,76,92,125,200,261,360,644,726,724
    سوال: الان چطوری بگم یکی از این شماره ID ها رو برام چاپ کنه؟ id_random$ چطوری تعیین کنم


    2- حالا میخوام یک حلقه تعریف کنم که وقتی اون شماره ID تصادفی برام پیدا کرد بره اون شماره ID داخل جدول see اضافه کنه اون ID به همراه یک تاریخ ثبت و یک تاریخ با ختلاف مثلا 2 روز اضافه در جدول see ذخیره میشن


    شرط اول: بیاد چک کنه اگر id_random$ داخل جدول see وجود داشت و تاریخ امروز با تاریخی که برای مدت اعتبار اون id در نظر گرفته شده یکی بود برگرده و یک ID تصادفی دیگه پیدا کنه و اگر وجود نداشت id_random$ به جدول see اضافه کنه


    شرط دوم: میخوام کاری کنم که اگر تمامی شماره های ID های مطالبی که از جدول news بدست آوردم به طور کامل یک بار داخل جدول post ذخیره شده بودن کل اون ID ها از داخل جدول post حذف بشن و حلقه مجدد تکرار بشه و باز id های تصادفی لیست بشن و باز در جدول see ذخیره بشن

    این چرخه میخوام مدام تکرار بشه


    توضیحات: در اصل میخوام به صورت خودکار کاری کنم که هر مطلبی که در جدول news وجود و مثلا مال گروه ورزشی هست به طور کامل یک بار داخل سایت مثلا برای 2 روز عنوانش نمایش داده بشه و وقتی یک دور کامل تمام این مطالب نمایش داده شدن مجدد تمام اون مطالب خودکار نمایش داده بشن برای 2 روز

  2. #2
    کاربر جدید آواتار roxment
    تاریخ عضویت
    آذر 1399
    محل زندگی
    Tehran
    پست
    26

    نقل قول: چطوری میشه شماره ID مطالب دیتابیس بدست آورد و به صورت تصادفی یکی از ID ها رو چاپ کرد...

    توضیحات در فایل ضمیمه
    فایل های ضمیمه فایل های ضمیمه

  3. #3

    نقل قول: چطوری میشه شماره ID مطالب دیتابیس بدست آورد و به صورت تصادفی یکی از ID ها رو چاپ کرد...

    تشکر از لطف شما اما کد عمل نمیکنه



    $group = '2'; // گروه مطلب خبر

    $today_en= str_replace('-','/',$join_today_en); // تاریخ امروز 12-10-1399

    $tomorrow_en = reduce_date_en(3); // تاریخ سه روز آینده 15-10-1399


    try // انتخاب جدول خبر

    {

    $select_blog = $database_connect->prepare("SELECT * FROM `news` WHERE `group`=:group AND `status`='1' ORDER BY `id` DESC");

    $select_blog->bindParam(':group', $group, PDO::PARAM_STR, 100);

    $select_blog->execute();

    $news_cont=$select_blog->rowCount();

    }

    catch(PDOException $error)

    {

    trigger_error('<center><h5 style="color:red">خطا: عدم امکان تعیین گروه خبر</h5></center><br />' . $error->getMessage(), E_USER_ERROR);

    }


    while($post=$select_blog->fetch(PDO::FETCH_ASSOC))

    {

    $posts_id=''.$post['id'].',';

    }


    try // انتخاب جدول مطالب عنوان سایت

    {

    $select_blog_top_post = $database_connect->prepare("SELECT id,end_date FROM `see` ORDER BY `id` DESC");

    $select_blog_top_post->bindParam(':group', $database_value_read, PDO::PARAM_STR, 100);

    $select_blog_top_post->execute();


    $top_post_cont=$select_blog_top_post->rowCount();

    }

    catch(PDOException $error)

    {

    trigger_error('<center><h5 style="color:red">خطا: عدم امکان تعیین وجود مطلب در عنوان سایت</h5></center><br />' . $error->getMessage(), E_USER_ERROR);

    }


    while($record_row=$select_blog_top_post->fetch(PDO::FETCH_ASSOC))

    {

    $SeeList=array($record_row['id']);

    }


    foreach($List AS $Data)

    {

    $SeeList[]=array($Data['id']=>$Data['end_date']);

    }


    function CheckSee()

    {

    global $posts_id, $SeeList, $today_en;

    $DataEx=explode(',',$posts_id);

    $Count=count($DataEx)-1;

    $RandID=rand(0,$Count);

    var_dump($RandID);


    //Check See

    $Acc=0;

    if(isset($SeeList[$RandID])){

    if($SeeList[$RandID]==$Todaye)

    {

    $Acc=1;

    }

    }

    // Result

    if($Acc==1)

    { try // شماره ای دی پست

    {

    $insert_blog_top_post = $database_connect->quary("INSERT INTO `see` (`post_id`, `start_date`, `end_date`) VALUES ($SeeList[$RandID], $today_en, $tomorrow_en)");

    $insert_blog_top_post->execute();

    }

    catch(PDOException $error)

    {

    trigger_error('<center><h5 style="color:red">خطا: عدم امکان درج مطلب در عنوان سایت</h5></center><br />' . $error->getMessage(), E_USER_ERROR);

    }

    echo"This ID=".$SeeList[$RandID];

    }else{

    //Loop

    CheckSee();

    }


    }


    echo CheckSee();


    آخرین ویرایش به وسیله hamidhassas : پنج شنبه 11 دی 1399 در 16:39 عصر

  4. #4
    کاربر جدید آواتار roxment
    تاریخ عضویت
    آذر 1399
    محل زندگی
    Tehran
    پست
    26

    نقل قول: چطوری میشه شماره ID مطالب دیتابیس بدست آورد و به صورت تصادفی یکی از ID ها رو چاپ کرد...

    کد را تست کرده بودم الان که میگین عمل نمی کنه به این علت است که نتوانستید با دیتابیس خود مچ کنید و لیست پیش نیاز را با فرمت مورد نظر ایجاد کنید
    به طور مثال شما فرمت لیست خود را 68,65,47 معرفی کردید که من explode کردم الان در کدی که گذاشتید اطلاعات را در array ریختید که تحت این شرایط عملیات تفکیک مختل شده و پیرو ان باقی عملیات با خطا مواجه شده
    در نهایت در نظر داشته باشید درخواست هایی که توسط شما و دیگر دوستان مطرح می شود خارج از cms بوده و کدی که من و سایر دوستان در اختیار شما قرار می دهم به صورت php raw هست چون ما اطلاعی از ساختار cms شما نداریم نمی توانیم مطابق با ان کد نویسی کنیم و در نهایت یک سمپل با خروجی مورد نظر شما ارسال می کنم تا شما آن را با کد خود مچ کنید اگر نمونه کدی که من قرار دادم را خارج از cms خود چک کنید می بینید که به صورت صحیح کار می کند

  5. #5

    نقل قول: چطوری میشه شماره ID مطالب دیتابیس بدست آورد و به صورت تصادفی یکی از ID ها رو چاپ کرد...

    اگر امکان داره یک نگاهی به این کد بندازید و مشکلش برام حل کنید ممنون میشم

    http://derak-fars.ir/top_post.zip

  6. #6

    نقل قول: چطوری میشه شماره ID مطالب دیتابیس بدست آورد و به صورت تصادفی یکی از ID ها رو چاپ کرد...

    چطوری میتونم شماره های id رکوردهای داخل جدول news که مثلا در گروه ورزش هستند با کد زیر نمایش میدم و از داخل اون شماره id ها یک id به صورت تصادفی بدست بیارم؟


    try // شماره ای دی پست

    {

    $select_blog = $database_connect->prepare("SELECT * FROM `news` WHERE `group`=:group AND `status`='1' ORDER BY `id` DESC");

    $select_blog->bindParam(':group', $database_value_read, PDO::PARAM_STR, 100);

    $select_blog->execute();

    $select_blog->rowCount();

    }

    catch(PDOException $error)

    {

    trigger_error('<center><h5 style="color:red">'.$lang['MASSAGE_092'].'</h5></center><br />' . $error->getMessage(), E_USER_ERROR);}

    while($post=$select_blog->fetch(PDO::FETCH_ASSOC))

    {

    $posts_id=''.$post['id'].',';

    }




    خروجی
    کد HTML:
    69,68,76,92,125,200,261,360,644,726,724
    سوال: الان چطوری بگم یکی از این شماره ID ها رو برام چاپ کنه؟ id_random$ چطوری تعیین کنم

  7. #7
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: چطوری میشه شماره ID مطالب دیتابیس بدست آورد و به صورت تصادفی یکی از ID ها رو چاپ کرد...

    $posts = [] ;

    while($post=$select_blog->fetch(PDO::FETCH_ASSOC))

    {

    $posts_id=''.$post['id'].',';
    $posts[] = $post ;

    }


    echo $posts[rand(0,count($posts))]['id'];

تاپیک های مشابه

  1. اتصال دیتابیس نرم افزار به صورت آنلاین
    نوشته شده توسط javadshaahin در بخش C#‎‎
    پاسخ: 1
    آخرین پست: دوشنبه 06 مهر 1394, 20:22 عصر
  2. سوال: اتصال به دیتابیس سرور تحت وب ، به صورت امن
    نوشته شده توسط drsina در بخش C#‎‎
    پاسخ: 1
    آخرین پست: چهارشنبه 09 بهمن 1392, 16:52 عصر
  3. سوال: اتصال به چند دیتابیس بصورت همزمان
    نوشته شده توسط persianboy62 در بخش PHP
    پاسخ: 3
    آخرین پست: سه شنبه 14 تیر 1390, 22:45 عصر
  4. سوال: انتخاب چندین رکورد از دیتابیس به صورت تصادفی
    نوشته شده توسط msoleiman در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 2
    آخرین پست: پنج شنبه 26 اسفند 1389, 11:54 صبح
  5. اتصال به دیتابیس لوکال در صورت برقرار نشدن ارتباط به سرور
    نوشته شده توسط Asad.Safari در بخش WCF , Web Services , .Net Remoting
    پاسخ: 1
    آخرین پست: شنبه 13 تیر 1388, 09:54 صبح

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

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