За последние 24 часа нас посетил 59171 программист и 1810 роботов. Сейчас ищет 961 программист ...

Как записать по другому?

Тема в разделе "PHP для новичков", создана пользователем skortes, 9 мар 2017.

  1. skortes

    skortes Новичок

    С нами с:
    21 фев 2017
    Сообщения:
    36
    Симпатии:
    2
    Всем добрый день,у меня код выводит 4 блока рандомно с бд вот код
    вот тут код http://dumpz.org/2516449/
    Вопрос: как сделать чтоб это все выводилось через один общий запрос?
    Сейчас оно так выглядит
     

    Вложения:

  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Ну так сделай общий запрос с limit 4, и во втором цикле выводи с третьего элемента, если таковой есть. В чём проблема?

    P.S. order by rand() нормально будет работать только если таблица небольшая (в ней не много строк)
     
  3. skortes

    skortes Новичок

    С нами с:
    21 фев 2017
    Сообщения:
    36
    Симпатии:
    2
    @mkramer не понял
    --- Добавлено ---
    @mkramer не пойму как записать
     
  4. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Грустно, раз понять не можешь. Значит нифига не читал про php. Вот у тебя два запроса дают два массива по два элемента:
    PHP:
    1. <?php
    2.         $list = $wpdb->get_results("SELECT * FROM `event_description` ORDER BY RAND() LIMIT 2");
    3.         $list2 = $wpdb->get_results("SELECT * FROM `event_description` ORDER BY RAND() LIMIT 2");
    4.         ?>
    Если теперь ты напишешь
    PHP:
    1. $list = $wpdb->get_results("SELECT * FROM `event_description` ORDER BY RAND() LIMIT 4");
    Получится массив из 4 элементов, $list[0] и $list[1] - первые два, $list[2] и $list[3] - ещё два.

    И того, простой заменой цикла на for твоя проблема решается
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    для любых повторяющихся вещей принято использовать циклы.
    --- Добавлено ---
    PHP:
    1. //Название месецов
    2.                                 if($mday == 1){
    3.                                     $month='Января';
    4.                                 }elseif($mday == 2){
    5.                                     $month='Февраля';
    6.                                 }elseif($mday ==3){
    7.                                     $month='Марта';
    8.                                 }elseif($mday==4){
    9.                                     $month='Апреля';
    10.                                 }elseif($mday==5){
    11.                                     $month='Мая';
    12.                                 }elseif($mday==6){
    13.                                     $month='Июня';
    14.                                 }elseif($mday==7){
    15.                                     $month='Июля';
    16.                                 }elseif($mday == 8){
    17.                                     $month='Августа';
    18.                                 }elseif($mday== 9){
    19.                                     $month= 'Сентября';
    20.                                 }elseif($mday==10){
    21.                                     $month='Октября';
    22.                                 }elseif($mday ==11){
    23.                                     $month='Ноября';
    24.                                 }elseif($mday == 12){
    25.                                     $month='Декабря';
    26.                                 }
    И МАССИВЫ!!1 :D
     
  6. ArsNet

    ArsNet Новичок

    С нами с:
    24 май 2016
    Сообщения:
    288
    Симпатии:
    24
    Адрес:
    Владивосток
    Ептель! Старина ты чего? Не проще сделать через switch case хотябы?
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    не надо через свич
    надо через массив!!11
     
  8. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.298
    Симпатии:
    218
    Адрес:
    Default city
    Оставь, разок штрафанут за быдлятню, сам поймёт.