نمایش نتایج: از شماره 1 تا 8 , از مجموع 8

موضوع: ساخت یک صفحه مانند انجمن ها

  1. #1
    عضو جدید
    تاریخ عضویت
    Jul 2011
    نوشته ها
    12
    تشکر تشکر کرده 
    4
    تشکر تشکر شده 
    4
    تشکر شده در
    4 پست

    Question ساخت یک صفحه مانند انجمن ها

    سلام

    من قصد دارم یه صفحه ی ساده ای که شبیه به انجمن باشه رو بسازم
    واسه این کار من از دیتابیس استفاده میکنم که دوتا جدول واسش ساختم

    اسم تیبل ها : talar و sub_talar

    خب تا الان من با یک foreach اومدم توی صفحه php ایم، تالار ها رو بنمایش در آوُردم که تا اینجا هیج مشکلی ندارم

    و حالا من میخوام زیر مجموعه هایی واسه تالار هام بسازم، یعنی اینکه مثلآ تالار موبایل، چندتا زیر مجموعه بنام nokia , sony و ... داشته باشه

    الان من مشکل اینه که چطور میونم تعیین کنم که زیرمجموعه رو طوری تعیین کنم در تالار مربوط به خودش قرار بگیره

    ممنون میشم در این مورد راهنماییم کنید.

  2. # ADS




     

  3. #2
    عضو انجمن sir-mammad آواتار ها
    تاریخ عضویت
    Jul 2011
    نوشته ها
    105
    تشکر تشکر کرده 
    126
    تشکر تشکر شده 
    88
    تشکر شده در
    74 پست

    پیش فرض پاسخ : ساخت یک صفحه مانند انجمن ها

    چقدر کلی سوال پرسیدید شما !
    من متوجه نشدم ، کاملتر توضیح بدید راحت تر به پاسخ می رسید
    اما در کل بابت چیزی که استنباط کردم ، یه فیلد در sub_talar بسازید و در اون شناسه talar مربوط به هر کدوم رو قرار بدید
    در حلقه for شناسه های اون تالار رو از ساب_تالار فراخوانی کنید

  4. تعداد تشکر ها از sir-mammad به دلیل پست مفید


  5. #3
    عضو جدید
    تاریخ عضویت
    Jul 2011
    نوشته ها
    12
    تشکر تشکر کرده 
    4
    تشکر تشکر شده 
    4
    تشکر شده در
    4 پست

    پیش فرض پاسخ : ساخت یک صفحه مانند انجمن ها

    نقل قول نوشته اصلی توسط sir-mammad نمایش پست ها
    چقدر کلی سوال پرسیدید شما !
    من متوجه نشدم ، کاملتر توضیح بدید راحت تر به پاسخ می رسید
    اما در کل بابت چیزی که استنباط کردم ، یه فیلد در sub_talar بسازید و در اون شناسه talar مربوط به هر کدوم رو قرار بدید
    در حلقه for شناسه های اون تالار رو از ساب_تالار فراخوانی کنید
    ممنون داداش بابت پاسخگویتون

    داداش من توی دیتابیسم دوتا تیبل دارم

    1- talar
    2- sub_talar

    فیلداش هم :

    مال talar:
    id, talarname, talardes

    مال sub_talar:
    id, subname, subdec, talar_id

    خب الان من اومدم تمامی تالار که داخل دیتالیس هسش (تیبل talar) رو با یک foreche توی صفحم به نمایش در آوردم...

    حالا من میخوام نام هایی که داخل تیبل sub_talar با مقدار talar_id تیبل talar هسش رو بنمایش در بیارم

    یعنی هر ساب تالار در زیر تالار خودش نمایش بده

    ممنون میشم راهنماییم کنید

  6. #4
    عضو انجمن parsspace آواتار ها
    تاریخ عضویت
    Dec 2009
    نوشته ها
    264
    تشکر تشکر کرده 
    75
    تشکر تشکر شده 
    535
    تشکر شده در
    312 پست

    پیش فرض پاسخ : ساخت یک صفحه مانند انجمن ها

    این چیزی که میخوای رو بر اساس تعداد بازدید ها و تعداد تالار ها و تعداد زیر تالار ها به چند صورت میتوان پیاده سازی کرد ولی حالت نورمالش رو من برات به صورت شبه کد پیاده سازی میکنم از روش چیزی که میخوای رو طراحی کن.

    کد PHP:
    $subforums = array();
        
    $result query('SELECT * FROM SUBFORUMS');
        while(
    $Row mysql_fetch($result))
            
    $subforums[$result['talar_id']][] = $result;
        
        
    $result query('SELECT * FROM FORUMS');
        while(
    $Row mysql_fetch($result))
        {
            echo 
    $Row['talarname'];
            if(isset(
    $subforums[$Row['id']]))
                foreach(
    $subforums[$Row['id']] as $sub)
                    echo 
    $sub['subname'] . '<br />' $sub['subdec'];
        } 
    اینطوری میتونی با ۲ تا کوئری لیست انجمن ها و زیر انجمن هاتو نشون بدی منتها اگه تعداد خیلی زیاد باشه تکنیک دیگه ای داره که خیلی پیچیده تره و البته اگه خواستی میتونم راهنماییت کنم

  7. تعداد تشکر ها از parsspace به دلیل پست مفید


  8. #5
    عضو جدید
    تاریخ عضویت
    Jul 2011
    نوشته ها
    12
    تشکر تشکر کرده 
    4
    تشکر تشکر شده 
    4
    تشکر شده در
    4 پست

    پیش فرض پاسخ : ساخت یک صفحه مانند انجمن ها

    نقل قول نوشته اصلی توسط parsspace نمایش پست ها
    این چیزی که میخوای رو بر اساس تعداد بازدید ها و تعداد تالار ها و تعداد زیر تالار ها به چند صورت میتوان پیاده سازی کرد ولی حالت نورمالش رو من برات به صورت شبه کد پیاده سازی میکنم از روش چیزی که میخوای رو طراحی کن.

    کد PHP:
    $subforums = array();
        
    $result query('SELECT * FROM SUBFORUMS');
        while(
    $Row mysql_fetch($result))
            
    $subforums[$result['talar_id']][] = $result;
        
        
    $result query('SELECT * FROM FORUMS');
        while(
    $Row mysql_fetch($result))
        {
            echo 
    $Row['talarname'];
            if(isset(
    $subforums[$Row['id']]))
                foreach(
    $subforums[$Row['id']] as $sub)
                    echo 
    $sub['subname'] . '<br />' $sub['subdec'];
        } 
    اینطوری میتونی با ۲ تا کوئری لیست انجمن ها و زیر انجمن هاتو نشون بدی منتها اگه تعداد خیلی زیاد باشه تکنیک دیگه ای داره که خیلی پیچیده تره و البته اگه خواستی میتونم راهنماییت کنم

    ممنون داداش

    من کدی که دادین رو جایگزین کردم، ولی فقط تالار هارو نشون میده و زیرتالار ها رو نشون نمیده

    یعنی این کد بی تاثیر بود:

    کد PHP:
    if(isset($subforums[$Row['id']]))
                foreach(
    $subforums[$Row['id']] as $sub)
                    echo 
    $sub['subname'] . '<br />' $sub['subdec']; 

    و ارروزی هم ندارم (display_error فعال هستش)

  9. #6
    عضو انجمن parsspace آواتار ها
    تاریخ عضویت
    Dec 2009
    نوشته ها
    264
    تشکر تشکر کرده 
    75
    تشکر تشکر شده 
    535
    تشکر شده در
    312 پست

    پیش فرض پاسخ : ساخت یک صفحه مانند انجمن ها

    ye print_f begir bebin ok e?
    print_f($subforums);

  10. #7
    عضو جدید
    تاریخ عضویت
    Jul 2011
    نوشته ها
    12
    تشکر تشکر کرده 
    4
    تشکر تشکر شده 
    4
    تشکر شده در
    4 پست

    پیش فرض پاسخ : ساخت یک صفحه مانند انجمن ها

    ممنون دوستان
    من الان یه اسکریپت simple forum ایی رو پیدا کردم و خیلی ساده هم هسش و درک کدهایی که درونش قرار داده واسم راحته

    فقط اون قسمتی که کوئری گرفته که ساب فروم ها اضافه شده رو ندونستم چی به چیه...

    سکریپت بدون هیچ مشکلی کار میکنه، فقط یه توضیح در مورد کوئری زیر میخوام

    ممنون میشم کمکم کنید

    کد:
    <?php
    $dn1 = mysql_query('select c.id, c.name, c.description, c.position, (select count(t.id) from talar_topics as t where t.parent=c.id and t.id2=1) as topics, (select count(t2.id) from talar_topics as t2 where t2.parent=c.id and t2.id2!=1) as replies from talar_categories as c group by c.id order by c.position asc');
    $nb_cats = mysql_num_rows($dn1);
    while($dnn1 = mysql_fetch_array($dn1))
    {
    ?>
        <tr>
            <td class="forum_cat"><a rel="nofollow" href="list_topics.php?parent=<?php echo $dnn1['id']; ?>" class="title"><?php echo htmlentities($dnn1['name'], ENT_QUOTES, 'UTF-8'); ?></a>
            <div class="description"><?php echo $dnn1['description']; ?></div></td>
            <td><?php echo $dnn1['topics']; ?></td>
            <td><?php echo $dnn1['replies']; ?></td>
    <?php
    if(isset($_SESSION['username']) and $_SESSION['username']==$admin)
    {
    ?>
            <td><a rel="nofollow" href="delete_category.php?id=<?php echo $dnn1['id']; ?>"><img src="<?php echo $design; ?>/images/delete.png" alt="Delete" /></a>
            <?php if($dnn1['position']>1){ ?><a rel="nofollow" href="move_category.php?action=up&amp;id=<?php echo $dnn1['id']; ?>"><img src="<?php echo $design; ?>/images/up.png" alt="Move Up" /></a><?php } ?>
            <?php if($dnn1['position']<$nb_cats){ ?><a rel="nofollow" href="move_category.php?action=down&amp;id=<?php echo $dnn1['id']; ?>"><img src="<?php echo $design; ?>/images/down.png" alt="Move Down" /></a><?php } ?>
            <a rel="nofollow" href="edit_category.php?id=<?php echo $dnn1['id']; ?>"><img src="<?php echo $design; ?>/images/edit.png" alt="Edit" /></a></td>
    <?php
    }
    ?>
        </tr>
    <?php
    }
    ?>
    فقط از یک کوئری اومده کلی رکورد بیرون کشیده که این کار درکش خیلی واسم سخت شده..

    راسی در مورد این که گفته مثلآ c.id ، این c یعنی چی ؟
    as توی mysql به چه درد میخوره ؟ (یعنی اومده به اصطلاح foreche کرده ؟)

    و در آخر، میشه این کوئری که قرار داده رو بازش کرد و تبدیل به چند کوئری کنیم ؟ (واسه درک بهتر کد)

    اگه امکانش هس، چطور ؟
    ویرایش توسط Sp|R|T : October 20th, 2012 در ساعت 14:38

  11. #8
    عضو جدید
    تاریخ عضویت
    Jul 2011
    نوشته ها
    12
    تشکر تشکر کرده 
    4
    تشکر تشکر شده 
    4
    تشکر شده در
    4 پست

    پیش فرض پاسخ : ساخت یک صفحه مانند انجمن ها

    دوستان کسی نیست یک توضیح مختصری در مورد اینجور کوئری ها بده ؟

    کد:
    $dn2 = mysql_query('select t.id2, t.authorid, t.message, t.timestamp, u.username as author, u.avatar from talar_topics as t, users as u where t.id="'.$id.'" and u.id=t.authorid order by t.timestamp asc');
    چرا قبل فیلدا بعضی u و بعضی t گذاشته ؟

    کلآ میخوام بدونم این کوئری چطور اجرا میشه

    اومیدوارم که بی جواب نمونه...

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

مجوز های ارسال و ویرایش

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