За последние 24 часа нас посетили 38590 программистов и 8127 роботов. Сейчас ищут 1736 программистов ...

нужен совет по созданию файла из двух таблиц

Тема в разделе "PHP для новичков", создана пользователем l_2001, 7 дек 2023.

  1. l_2001

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

    С нами с:
    9 дек 2014
    Сообщения:
    85
    Симпатии:
    3
    здравствуйте, уважаемые! не могу никак сообразить, обращаюсь к ВАМ! есть две таблички, одна вида
    123456|123456
    654321|654321
    и вторая вида
    333333|333333
    444444|444444
    555555|555555
    666666|666666
    очень нужно создать табличку вида
    123456|123456
    123456|333333
    123456|444444
    654321|654321
    654321|555555
    654321|666666
    не важно, какой будет вывод - в файл, в другую таблицу, нужна просто логика создания! по хорошему обе таблички в MySQL, выхлоп можно либо в файл, либо в другую табличку... сегодня ломал мозг, но мозг не сломался...
    Заранее очень большое спасибо за помощь!
     
  2. Drunkenmunky

    Drunkenmunky Старожил

    С нами с:
    12 авг 2020
    Сообщения:
    1.511
    Симпатии:
    284
    Нет ясности для чего это надо.
    Поэтому решение буквально
    PHP:
    1. <pre>
    2. <?php
    3. $arr1 = array (
    4.                array( 123456, 123456),
    5.                array( 654321, 654321)
    6.               );
    7.  
    8. $arr2 = array (
    9.               array( 333333, 333333),
    10.               array( 444444, 444444),
    11.               array( 555555, 555555),
    12.               array( 666666, 666666)
    13.               );
    14.  
    15. $out    = array ();
    16. $length = ceil(count($arr2) / count($arr1));
    17.  
    18. foreach (array_chunk($arr2, $length) as $key => $chunk)
    19. {
    20.     $out[] = $arr1[$key];
    21.  
    22.     foreach ($chunk as $row)
    23.     {
    24.         $out[] = array ($arr1[$key][0], $row[1]);
    25.     }
    26. }
    27.  
    28. print_r($out);
    29. ?>
     
  3. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.971
    Симпатии:
    753
    Сначала запрашиваешь из БД:
    Код (Text):
    1. SELECT перечисляем, поля, которые, нужны FROM название_первой_таблицы LEFT JOIN название_второй_таблицы ON (условия объединения таблиц. обычно по какому то ID) WHERE (условия отбора)
    Потом записываешь в файл, как надо
    Если тупо в текстовый или csv, то встроенными средствами PHP.
    Если эксель или типа того, то придется либу подключить и разобраться как ей пользоваться.
    --- Добавлено ---
    Если напишешь, что у тебя хранится в таблицах и по какому принципу ты отбираешь данные - будет легче дать ответ.
    Сейчас ты предлагаешь участникам самим вникнуть в циферки которые ты написал и уловить в них некую структуру )
     
  4. l_2001

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

    С нами с:
    9 дек 2014
    Сообщения:
    85
    Симпатии:
    3
    здравствуйте, уважаемый TeslaFeo! прошу не кидать в меня тапками, но тема была "нужен совет"... ситуация след., нарисовал юзерам вебморду обработчика... протестировал... на парах десятках записей - всё ок! но дошло до боевого испытания и апач выдаёт 404 в процессе отработки, записей около 300 и больше! в консоли - всё ок! процесс такой - загружаем файл, удаляем прежние записи, отрабатываем данные из файла... процесс (тот и другой) длятся около 5 минут... на удаление - всё норм, на вставку - получаю 404 от апача! надо искать! с рабочими записями мне никто не даст работать, надо с тестовыми... но и там нужно смоделировать нечто, похожее на боевую задачу... вот потому и обратился к МОЗГУ, т.е. к вам! в итоге решил так - перебрал циклом for (там можно указать кол-во повторов), вылил в файл, потом в libreoffice calc сделал формулу и заполнил пустые поля данными, получил исходный файл! всё заняло 20 минут...
    --- Добавлено ---
    спасибо Вам, ув. Drunkenmunky! Ваш вариант не пригодился, но решение прекрасное (сохранил его в закладочки)! я тему решил несколько иначе и минут за 20 общего времени! ещё раз - спасибо за помощь! Вы меня натолкнули на быстрое решение...
     
  5. Vladimir Kheifets

    Vladimir Kheifets Новичок

    С нами с:
    23 сен 2023
    Сообщения:
    485
    Симпатии:
    97
    Адрес:
    Бавария, Германия
    "Веб-серверы обычно имеют свои настройки времени ожидания, по превышении которого сами завершают выполнение скрипта PHP.
    В Apache есть директива Timeout, в IIS есть функция CGI timeout. В обоих случаях по умолчанию установлено 300 секунд. Точные значения можно узнать из документации к веб-серверу."
    https://www.php.net/manual/ru/info.configuration.php#ini.max-execution-time
     
  6. l_2001

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

    С нами с:
    9 дек 2014
    Сообщения:
    85
    Симпатии:
    3
    это я в курсе... буду общаться с админом апача, но весь прикол был в том, что на удаление - всё гут, а вот на проливку - бока в виде 404 ответа... при чём на проливку скрипт рубится, а на удаление - нет! он чётенько дорабатывает до конца! я в ахуе, поскольку всё крутится на одном сервере! барабашка какая-то... жду начала недели - а там "пионэр всегда готов"! будем разбираться...
     
  7. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.874
    Симпатии:
    753
    Адрес:
    Татарстан
    а я бы кинул тапку ... за несоблюдение правил форума, в частности - новый вопрос - новая тема должно быть... а не писать вопросы не связанные с предыдущим вопросом в продолжении.... тут вам не чатГПТ
     
  8. l_2001

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

    С нами с:
    9 дек 2014
    Сообщения:
    85
    Симпатии:
    3
    и где был второй вопрос? я не против критики, но с Вашей стороны (на пацанском) это называется "до@баться"... я задал вопрос, мне ребята ответили, но для людей были непонятки, я объяснил! ну, и где вторая тема?
     
  9. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.874
    Симпатии:
    753
    Адрес:
    Татарстан
    первая тема - нужен совет по созданию файла из двух таблиц
    вторая тема - получение 404 от Апача.... ну никак не связано с первой логически... возможно связано у вас в одном проекте... но тема другая
     
  10. don.bidon

    don.bidon Активный пользователь

    С нами с:
    28 мар 2021
    Сообщения:
    947
    Симпатии:
    147
    Вообще странно на тайм-аут 404-ой реагировать, но кто бы знал, что там на сервере...