Условие IF . ELSE (PHP)

Discussion in 'PHP' started by Adio, 31 Mar 2010.

  1. Adio

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

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    Вообщем ставлю метатеги и описание для сайт в зависимости от подкаталога сайта

    Делаю я это так.


    if ($_GET['catid'] == 5) {

    $meta_keywords = "";

    $meta_description = "";
    }
    elseif ($_GET['catid'] == 4)
    {
    $meta_keywords = "";

    $meta_description = "";
    }

    И пошло поехало... это не сильно будет напряжно для сервера ? и вообще правильно я делаю ? я имею ввиду это условие ? т.е оно работает может есть вариант по проще ?
     
  2. wildshaman

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

    Joined:
    16 Apr 2008
    Messages:
    477
    Likes Received:
    483
    Reputations:
    99
    Напряжно - абсолютно нет
    Легче - через case, если метаданные разные\Если одинаковые - через and
     
  3. Compton

    Compton Member

    Joined:
    31 Jan 2010
    Messages:
    290
    Likes Received:
    25
    Reputations:
    0
    switch break case
     
  4. Adio

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

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    Спасибо. Ну тогда я уже закончю так прописывать потом попробую вариант с case
     
  5. |qbz|

    |qbz| Banned

    Joined:
    25 Dec 2009
    Messages:
    385
    Likes Received:
    169
    Reputations:
    65
    а я это делаю через рамблер (c) Q
     
  6. Adio

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

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    это как ? )) парси ворды из рамблера из рандом сайтов ? )) :D
     
  7. Deathdreams

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

    Joined:
    8 Nov 2008
    Messages:
    342
    Likes Received:
    116
    Reputations:
    5
    PHP:

    $data 
    $_GET['catid'];

              switch( 
    $data )

                {

                     case 
    5// operation
                     
    break;

                     case 
    6// operation
                     
    break;

                     default: 
    // standart settings
                     
    break;

                }

    Удобнее.
     
    1 person likes this.
  8. Hobba

    Hobba New Member

    Joined:
    30 Mar 2010
    Messages:
    11
    Likes Received:
    1
    Reputations:
    0
    Еще желательно проверочку добавить is_numeric, как минимум :)
     
  9. general.fox

    general.fox Member

    Joined:
    9 Nov 2009
    Messages:
    83
    Likes Received:
    8
    Reputations:
    -1
    Используй конструкцию switch.
     
  10. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    вот я не пойму вас программисты, зачем если вы используете эту переменную $data лишь один раз, делать ее имя $data а не использовать $_GET['catid'] ? ну объясните мне зачем?

    зачем? у switch есть default значение, которое обычно и нужно указывать....

    вы тут советуете switch, if, esle if, else neif, у него логика программы не правильная. зачем давать те советы, которые не правильны?
     
  11. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    а делать по сути надо так, чтобы добавлять и удалять категории можно было без правки исходников..
     
  12. Dr.Brain

    Dr.Brain Banned

    Joined:
    4 Sep 2009
    Messages:
    6
    Likes Received:
    16
    Reputations:
    0
    Имхо switch case самый удобный способ)


    Чтобы добавлять без правки исходников, то используй БД

    Вот смотри, принимаешь ID категории и передаёшь запрос в БД
    В которой струткура:
    id, keyword, descr

    Тогда ненадо никаких свитчей, а просто вытягивается ид с БД. Надо лишь в БД добавлять нужное..
     
    #12 Dr.Brain, 1 Apr 2010
    Last edited: 1 Apr 2010