За последние 24 часа нас посетили 17728 программистов и 1655 роботов. Сейчас ищут 895 программистов ...

Создание ассоциативного массива из БД

Тема в разделе "PHP для новичков", создана пользователем Alexnewaro, 21 мар 2015.

  1. Alexnewaro

    Alexnewaro Активный пользователь

    С нами с:
    8 фев 2015
    Сообщения:
    109
    Симпатии:
    1
    Спасибо за пример, но разве он не для тех ситуаций, когда список экскурсий задан изначально и неизменен?

     
  2. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Я тебе показал как можно вывести checkbox, потом показал как понять какие были изменены, ещё как загрузить изменённые.

    Покажи скетчами в картинками как ты хочешь чтобы это выглядело.
     
  3. Alexnewaro

    Alexnewaro Активный пользователь

    С нами с:
    8 фев 2015
    Сообщения:
    109
    Симпатии:
    1
    Я не спорю, но разве не проще воспользоваться чистой формой html, а потом просто принять и обработать данные с нее?
     
  4. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Alexnewaro я не понимаю что ты хочешь сделать и что тебе не понятно.
    По этому картинки в студию.
     
  5. Alexnewaro

    Alexnewaro Активный пользователь

    С нами с:
    8 фев 2015
    Сообщения:
    109
    Симпатии:
    1

    вот собственно мой первый php-проект за год.
    С радостью приму любые замечания.
    То, что мы обсуждаем - Экскурсии - СПИСОК внизу.

    Можно спокойно "бронировать", система еще недоступна пользователям и поэтому в тестовом режиме мне самому заявки отсылает
     
  6. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Похоже всё работает, так что ты хочешь ещё сделать?
     
  7. Alexnewaro

    Alexnewaro Активный пользователь

    С нами с:
    8 фев 2015
    Сообщения:
    109
    Симпатии:
    1
    Ну не лучший вывод результата. Без переноса строки, запятых...
    Я понимаю почему. Но не понимаю, как вывести значения массива по отдельности... Запутался уже, месяц по 14 часов у компа маюсь, видимо пипец пришел.

    [​IMG]
     
  8. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Хорошо, давай по очереди, ты хочешь вывести массив по своему усмотрению.
    Покажи какой массив с какими данными (var_dump поможет) и как ты его хочешь вывести.
    Или может массив ещё не сформирован и нужно придумать как это сделать?
     
  9. Alexnewaro

    Alexnewaro Активный пользователь

    С нами с:
    8 фев 2015
    Сообщения:
    109
    Симпатии:
    1
    Массив у меня такого вида (при выбранных пользователем соответствующих экскурсий)

    Код (Text):
    1. array ( 65 => 'Тисо-самшитовая роща в Сочи', 66 => 'Рафтинг на горных реках', )
    Настраиваемый бы вывод еще... В частности хотел, чтобы запятая в конце названия и перенос строки...

    Спасибо за желание помочь!

    Добавлено спустя 1 минуту 24 секунды:
    На данный момент список экскурсий формируется в финале вот так:

    Код (Text):
    1. <td><span style="font-size:15px;color:#333; line-height: 18px;">';
    2. //id выбранных экскурсий
    3. if( count($_GET['exc']) > 0 )
    4. {$exc = implode(',',$_GET['exc']);
    5.  $str3.= ' IN('.$exc.')';
    6. $connect = connectDB();
    7. {                  
    8. //Делаем третий запрос
    9. $query3 = "SELECT * FROM puk WHERE category=9 AND `id` $str3";
    10. $res3 = mysql_query($query3) or die(mysql_error());
    11. while($row=mysql_fetch_assoc($res3))  { echo $output[$row['id']] = $row['title']; }
    12. }
    13. closeDB ($connect);
    14. }
    15. else
    16. {
    17.     echo 'не выбраны';
    18. }
    19.                    
    20.                    
    21.                     echo '</span></td>
    Если что - не копипастил, я сам себе подписываю действия в комментах )))))))))
     
  10. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.250
    Адрес:
    там-сям
    перенос строки это тег <br> или <p>. в HTML буквально перевод строки работает как простой пробел.

    запятые тебе нужны не в конце названия, а МЕЖДУ названиями.
    обратная к explode() функция называется implode() — implode(',<br>', $array)

    Добавлено спустя 28 секунд:
    и отдыхай. от долгого втыкания в экран только проблемы.
     
  11. Alexnewaro

    Alexnewaro Активный пользователь

    С нами с:
    8 фев 2015
    Сообщения:
    109
    Симпатии:
    1
    Нет, ну вы что ))) про <br> я в курсе )))))))))))))))))))) Просто с массивами плаваю и поэтому как его впихнуть - не очень понимаю...
    А еще раз implode сделать мне в голову не приходило... Сейчас попробую, спасибо!

     
  12. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Код (PHP):
    1. $arr = array ( 65 => 'Тисо-самшитовая роща в Сочи', 66 => 'Рафтинг на горных реках', );
    2. echo '<b>'.implode('</b>, <br><b>', $arr).'</b>';
     
  13. Alexnewaro

    Alexnewaro Активный пользователь

    С нами с:
    8 фев 2015
    Сообщения:
    109
    Симпатии:
    1
    Код (Text):
    1.  
    2.  
    3. if( count($_GET['exc']) > 0 )
    4. {$exc = implode(',',$_GET['exc']);
    5.  $str3.= ' IN('.$exc.')';}
    6.  
    7. $connect = connectDB();
    8. {                  
    9.        //Делаем третий запрос
    10.            $query3 = "SELECT `title` FROM puk WHERE category=9 AND `id` $str3";
    11.            echo $query3;
    12.            $res3 = mysql_query($query3) or die(mysql_error());
    13.            while($row=mysql_fetch_assoc($res3))
    14.                  {
    15.                     $output[$row['id']] = $row['title'];
    16.                  }
    17.            var_export($output);
    18. }
    19. closeDB ($connect);
    echo запроса:
    Код (Text):
    1. SELECT `title` FROM puk WHERE category=9 AND `id` IN(65,66,73,74)
    echo массива:
    Код (Text):
    1. array ( '' => 'Ахун', )
    Что за хрень с массивом, рррррр...
    UPDATE: стормозил, запрос только титл поставил.
    вот echo массива:
    Код (Text):
    1. array ( 65 => 'Тисо-самшитовая роща в Сочи', 66 => 'Рафтинг на горных реках', 73 => 'Морские прогулки', 74 => 'Ахун', )

    Прочитать прочитаю, но уже на отдохнувший ум... домучить бы этот момент сегодня, потом неделя отпуска.

    Добавлено спустя 4 минуты 18 секунд:
    Гениально, друзья.
    Все завелось.
    Спасибо огромное Денис01 и Артудету!!!!!

    Добавлено спустя 2 минуты 5 секунд:
    Лучший учитель - опыт. Теперь дочитать про массивы, но в целом - все понял.
    Спасибо еще раз!!!