ФорумПрограммированиеPHP для идиотов → Как лучше выбрать данные...

Как лучше выбрать данные...

  • maxfr

    Сообщения: 545 Репутация: N Группа: Кто попало

    Spritz 15 августа 2011 г. 16:06

    Всем привет, давно я тут не
    У меня блок новостей…Структура таблицы вот такая.

    CREATE TABLE IF NOT EXISTS `news` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `timestamp` int(11) DEFAULT NULL,
    `user_id` bigint(20) NOT NULL,
    `obj` int(11) NOT NULL,
    `details` tinytext NOT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=216 ;

    INSERT INTO `news` (`id`, `timestamp`, `user_id`, `obj`, `details`) VALUES
    (195, 1313075343, 113083, 18, '14'),
    (193, 1313075112, 111, 17, '10'),
    (194, 1313075179, 111, 16, '47'),
    (204, 1313132049, 110011, 5, '{"obj_id":["111","113083","333","112409"]}'),
    (202, 1313132095, 111, 5, '{"obj_id":["113083","110011","333","112409","112331"]}'),
    (203, 1313132155, 113083, 5, '{"obj_id":["111","110011","112409","333"]}'),
    (207, 1313132155, 333, 5, '{"obj_id":["111","110011","113083"]}'),
    (208, 1313132154, 112409, 5, '{"obj_id":["110011","111","113083"]}'),
    (209, 1313132095, 112331, 5, '{"obj_id":["111"]}'),
    (211, 1313133194, 111, 17, '12'),
    (212, 1313133450, 113083, 17, '14'),
    (213, 1313133480, 111, 18, '15'),
    (214, 1313133492, 333, 18, '15'),
    (215, 1313133499, 112409, 18, '11');


    В зависимости от obj новость новость отдельной таблицы, к примеру 17 - это статус, а 5 то друзья'{"obj_id":["111","110011","112409","333"]}') id новых др-й.

    Каким способом лучше выбирать данные из таблиц, сейчас я делаю так
    в зависимости от типа достаю сраз таблиц данны
    private function listObj($array){
    foreach ($array as $key => $value) {
    foreach ($value as $key2 => $value2) {
    if($key2 == 'obj'){
    if($value[$key2] == 5){
    var_dump($value).'<br/>';
    } elseif ($value[$key2] == 11) {
    // в зависимости от типа достаю сраз таблиц данны
    } elseif ($value[$key2] == 16) {

    } elseif ($value[$key2] == 17) {

    } elseif ($value[$key2] == 18) {

    } elseif ($value[$key2] == 19) {

    }
    }
    }
    }
    }


    Какие еще варианты могут быть еще? Более правильные и качественные.
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 15 августа 2011 г. 16:09, спустя 3 минуты 1 секунду

    АРМАНОКОД!!!!! БУУАААААА!!! СЖЕЧЬЧЬ
    Сапожник без сапог
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 15 августа 2011 г. 16:12, спустя 2 минуты 44 секунды

    вухаха!!!))))))) это уже типа фобия вырабатывается при виде этого кода))
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 15 августа 2011 г. 16:13, спустя 1 минуту 22 секунды


    вухаха!!!))))))) это уже типа фобия вырабатывается при виде этого кода))
    да пиздец! ты форму заказа еще не видел старую :-)

    8 тыс подобного кода, я ебал как говорится
    Сапожник без сапог
  • maxfr

    Сообщения: 545 Репутация: N Группа: Кто попало

    Spritz 15 августа 2011 г. 16:14, спустя 53 секунды

    вот и я подумалчто выход говно какое, вот и подумал спросить не люблю замок иф…так что милисти просим советы сюда)
    Спустя 31 сек.
    замок иф))))))))))0000
  • maxfr

    Сообщения: 545 Репутация: N Группа: Кто попало

    Spritz 15 августа 2011 г. 16:23, спустя 9 минут 27 секунд

    ну как есть мысли как заменить? как лучше всего для пыхи
  • maxfr

    Сообщения: 545 Репутация: N Группа: Кто попало

    Spritz 15 августа 2011 г. 17:10, спустя 46 минут 58 секунд

    ну что? Фу Гавно, фу гавно. А как заменить? А в ответ тишина)))
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 15 августа 2011 г. 17:11, спустя 34 секунды

    АРМАНОКОД!!!!!

    подробнее плизз
  • maxfr

    Сообщения: 545 Репутация: N Группа: Кто попало

    Spritz 15 августа 2011 г. 17:23, спустя 12 минут

    Может я не то написал? И вам не хватает данных? Скажите каких…
  • rider-sx

    Сообщения: 2706 Репутация: N Группа: Адекваты

    Spritz 15 августа 2011 г. 17:35, спустя 12 минут 3 секунды

    $value[$key2] == $value2
    >_<
    Тут уже ничего не поделаешь, не ну ессно можно костылями подпереть и наговнокодить, но лучшее что можно сделать - это пересмотреть и переделать структуру БД
    Спустя 102 сек.
    Второй иф, ежели хочецца визуальной красивости, можно заменить на свитч, но те же яйца только в профиль))
    Спустя 141 сек.
    и вообще метод - абстрактная хуйня ибо с эскюэль кодом мало общего))
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 15 августа 2011 г. 19:06, спустя 1 час 30 минут 31 секунду


    АРМАНОКОД!!!!!

    подробнее плизз
    да есть такой перец, был то есть у меня на проекте. так он генерит что-то подобное :-)

    например "пейджер" на странице. ну там весь код такой, просто тут достаточно фееричный пиздец ну и кусок относительно под рукой xD

    <?
    // идиотизм, а не навигация
    if (empty($searchword)) {
    $navi .= "<td width=4></td>";
    if ($page <= 7) {
    $frst = 0;
    if ($pages >= 7)
    $last = 7;
    else $last = $pages;
    }
    if ($page > 7 && $page <= 14) {
    $frst = 7;
    if ($pages >= 14)
    $last = 14;
    else $last = $pages;
    }
    if ($page > 14 && $page <= 21) {
    $frst = 14;
    if ($pages >= 21)
    $last = 21;
    else $last = $pages;
    }
    if ($page > 21 && $page <= 28) {
    $frst = 21;
    if ($pages >= 27)
    $last = 28;
    else $last = $pages;
    }
    if ($page > 28 && $page <= 35) {
    $frst = 28;
    if ($pages >= 34)
    $last = 35;
    else $last = $pages;
    }
    $p = $frst + 1;
    if ($page > 7) {
    if ($page <= 14)
    $navi .= bluetable($url . $uf->get_field("bcaths", "id", $cath, "path") . "-7/" . $second . ".html", "&laquo;", 20);
    if ($page > 14 && $page <= 21)
    $navi .= bluetable($url . $uf->get_field("bcaths", "id", $cath, "path") . "-14/" . $second . ".html", "&laquo;", 20);
    if ($page > 21 && $page <= 28)
    $navi .= bluetable($url . $uf->get_field("bcaths", "id", $cath, "path") . "-21/" . $second . ".html", "&laquo;", 20);
    if ($page > 28 && $page <= 35)
    $navi .= bluetable($url . $uf->get_field("bcaths", "id", $cath, "path") . "-28/" . $second . ".html", "&laquo;", 25);
    $navi .= "<td bgcolor='#C0C0C0' width=1></td><td width=4></td>";
    }
    Спустя 25 сек.
    какбы у чувака просто хуево с логикой и математикой, то есть хуево - не то слово :-)
    Сапожник без сапог
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 15 августа 2011 г. 19:11, спустя 5 минут 13 секунд

    мне все-таки кажется, что это какой-то инопланетный разум послал киборга
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 15 августа 2011 г. 19:16, спустя 5 минут 5 секунд


    мне все-таки кажется, что это какой-то инопланетный разум послал киборга
    ты думаешь что киборг может быть настолько тупой? аппарат у кототрого логика - главное может быть хуев в логике? не верю ))) скорее этот код ег опросили писать конкуренты xD
    Сапожник без сапог
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 15 августа 2011 г. 19:24, спустя 8 минут 25 секунд

    ну мы же не знаем инопланетной логики xD
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 15 августа 2011 г. 19:26, спустя 2 минуты 14 секунд


    ну мы же не знаем инопланетной логики xD
    с такой огикой они бы как и глонасс даже спутники со второго раза только на орбиты вывели, куда уж там инопланетные полеты то xDDDD
    Сапожник без сапог

Пожалуйста, авторизуйтесь, чтобы написать комментарий!