Пара новых вопросов.

Discussion in 'PHP' started by AgS, 17 Oct 2009.

  1. AgS

    AgS New Member

    Joined:
    16 Nov 2008
    Messages:
    22
    Likes Received:
    3
    Reputations:
    0
    Всем добрый день!
    Возникла следующая проблема, помогите разобраться кто может:
    - есть самописный портал на php и mysql.Сайт разделен на блоки(шапка, леввый блок, основной контент/текс, правый блок и нижний блок) все они подрубаются через include, есть простая админка и есть директория modules в которой есть 4 php файла(1 выводит опрос, 2 выводит рекламный блок, 3 выводит погоду, а 4 выводит 5 последних статей), возникла потребность сделать так, что бы в админке можно было подключать определённый модуль к той или иной стороне.
     
    #1 AgS, 17 Oct 2009
    Last edited: 17 Oct 2009
  2. D1mOn

    D1mOn Elder - Старейшина

    Joined:
    2 Oct 2005
    Messages:
    380
    Likes Received:
    144
    Reputations:
    29
    НУ через мускуль. Таблицу с модулями сделай. И выбирай какой включить, а какой нет.
     
    1 person likes this.
  3. AgS

    AgS New Member

    Joined:
    16 Nov 2008
    Messages:
    22
    Likes Received:
    3
    Reputations:
    0
    Маленькое пожелание, ненадо подкалывать, язвить в теме, нехотите ничего дельного писать, тогда лучьше вообще не пишите. Сразу говорю безобид.
    Я это спрашиваю для того чтобы самому научиться, готовые ответы меня не интересуют, а лучьший способ на мой взгляд научиться, спросить у тех кто это умеет и может помочь.

    И если честно думал сделать так: в mysql создать таблицу "r_l_block" с полями "link", "side",(например "modules/golos.php" и "right") в файле правого блока например сделать подключение к бд, сделать запрос на вывод данных из созданной нами таблицы с условием что быдут выводиться только те элементы в которых в поле side указана например right, а дальше в файле правого блока делать:
    PHP:
    $result mysql_query("SELECT * FROM r_l_block WHERE side=right"$db);
    $a mysql_fetch_array($result);
    do
    {
    include 
    "$a[link]";
    }
    while (
    $a mysql_fetch_array($result));
    но недумаю что это совсем правильно, и возник вопрос как это все операции делать не ручками а через админку?? и отсюда ещё тогда вопросы:
    как сделать чтобы админка сама понимала сколько модулей лежит в дерриктории выводила их название(описание по возможности из данного файла) и давала на выбор куда их подключать? с подключением примерно понимаю как сделать, а как заставить админку показывать подули никак не допру.

    и ещё вопрос подскажите для чего нужен or die();
     
    #3 AgS, 17 Oct 2009
    Last edited: 17 Oct 2009
  4. AgS

    AgS New Member

    Joined:
    16 Nov 2008
    Messages:
    22
    Likes Received:
    3
    Reputations:
    0
    неужели никто не может подсказать как реализовать данные вещи??
     
  5. Sharky

    Sharky Elder - Старейшина

    Joined:
    1 May 2006
    Messages:
    487
    Likes Received:
    312
    Reputations:
    46
    тебе в #3 посте сказали
     
    1 person likes this.
  6. L I G A

    L I G A Banned

    Joined:
    27 Jul 2008
    Messages:
    482
    Likes Received:
    380
    Reputations:
    49
    cоздай таблицу к примеру ,как ты писал, с такой структурой:
    Code:
    +---------------+
    |link | side |id|
    +---------------+
    
    link//название модуля
    side//cтатус
    допустим ты ее создал и заполнил
    Code:
    +----------------+
    | link | side|id|
    | right| on  |1|
    | left| off  |3|
    | centr| on  |3|
    +----------------+
    
    далее:
    PHP:
    $query "SELECT * FROM `moduls`";
          
    $nme mysql_query($query);
    $urlRoww mysql_fetch_assoc($nme);
    $modul =$urlRoww['link'];
    $status=$urlRoww['side'];
    //пихаем в массив
    $modularray=explode(' ',$modul);
    $statusarray=explode(' ',$status);
    тут можешь использовать различные проверки во избежания глобально/локального инкоуда.
    PHP:
    for($i=0;$i<=count($statusarray);$i++)
    {
    if(
    $statusarray[$i]=='on')
    {
    include(
    'moduls/'.$modularray[$i].'.php')
    }
    }
    обновлять статусы модулей примерно так:
    Code:
     mysql_query("UPDATE `moduls` SET `side`='".$status."'  WHERE `id`=".$id.");
    но это ,ты уже сам домозгуй,да и весь процесс который я описал тоже, т.к. он не совершенный.
    Я всего лишь описал один из методов.
     
    #6 L I G A, 18 Oct 2009
    Last edited: 18 Oct 2009
    1 person likes this.
  7. AgS

    AgS New Member

    Joined:
    16 Nov 2008
    Messages:
    22
    Likes Received:
    3
    Reputations:
    0
    так посути начало в голове проясняться как это реалезовать.
    только вот вопрос как сделать проверку файлов в каталоге(а точнее php файлов модулей)??
     
    #7 AgS, 18 Oct 2009
    Last edited: 18 Oct 2009
  8. AgS

    AgS New Member

    Joined:
    16 Nov 2008
    Messages:
    22
    Likes Received:
    3
    Reputations:
    0
    ушёл пробовать, вечером отпишусь о результатах..
     
    1 person likes this.