Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 14.09.2014
Сообщений: 10

Перебор двух массивов циклом while не работает

19.10.2015, 14:57. Показов 1435. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите разобраться! Задача следующая, вытянуть из одной бд данные и записать их в индексированный массив, таких массивов будет столько сколько записей в таблице, аналогичную операцию сделать со второй базой данных. Все это выполняется в двух циклах while вложенных один в другой. В теле цикла идет сравнение и замена данных в массивах. Помогите найти ошибку, не срабатывает первый цикл, в чем может быть причина?
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
$result = mysql_query("SELECT id,date,alt_name,title FROM dle_post",$myConnect_new); //вывод всех дат через цикл
$result_old = mysql_query("SELECT id,title,publish_up,alias FROM gwert_content",$myConnect_old); //вывод всех дат через цикл
 
 
$n=0;
$m=0;
$search_date = '2014-07-08 00:04:46';
while($row[] = mysql_fetch_array($result)){
    
    while($row_old[] = mysql_fetch_array($result_old)) {
        if ($search_date==$row[$n]["date"]){
             $i++;
                if ($row[$n]["title"]==$row_old[$m]["title"] && ($row[$n]["category"]==1 || $row[$n]["category"]==10 || $row[$n]["category"]==6 || $row[$n]["category"]==3 || $row[$n]["category"]==5 || $row[$n]["category"]==5)) {
            $row[$n]["alt_name"]=$row_old[$m]["alias"];
            $row[$n]["date"]=$row_old[$m]["publish_up"];
            $file_name = "fdocs.txt";
            $zapis_v_file = fopen($file_name, "a");
            fwrite($zapis_v_file, $row_old[$m]["alias"]);
            fclose($zapis_v_file);
            }
        }
        
        $m++;
    }
 
    $n++;   
 
    }
    echo  "Общее количество совпадений - $i";
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.10.2015, 14:57
Ответы с готовыми решениями:

Перебор двух массивов с повторяющимися значениями
У меня есть таблица со строками, в строках выпадающий список и поле с именем "count". У всех полей уникальное имя типа массива. ...

Перебор массива циклом
Добрый день. Столкнулся с такой проблемой как перебор массива циклом. Долгое время не могу правильно сделать. Есть массив $massiv =...

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

1
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
19.10.2015, 15:14
Конструкция
PHP
1
2
3
while($row[] = mysql_fetch_array($result)){
    
    while($row_old[] = mysql_fetch_array($result_old)) {
Неверна. Так как при пером
PHP
1
$row[] = ...
сработают все
PHP
1
$row_old[] = ...
, а при втором
PHP
1
$row[] = ...
mysql_fetch_array($result_old) всегда будет возвращать фолс, так как он отработал полностью.
Надо сперва $row собрать полностью, а затем уже фетчить row_old

P.S.
PHP
1
($row[$n]["category"]==1 || $row[$n]["category"]==10 || $row[$n]["category"]==6 || $row[$n]["category"]==3 || $row[$n]["category"]==5 || $row[$n]["category"]==5)
Откуда?
PHP
1
$result = mysql_query("SELECT id,date,alt_name,title FROM dle_post",$myConnect_new); //вывод всех дат через цикл
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.10.2015, 15:14
Помогаю со студенческими работами здесь

Возможно ли циклом заполнить hash из двух массивов?
Допустим есть два массива: 1: pat = 2: owner = Как получить hash в котором эллементы массива owner были бы ключами, а pat -...

Рекурсивный перебор всех пар двух массивов
Здравствуйте, для задачи нужно реализовать рекурсивный перебор всех пар двух массивов. Есть массив M и массив N, нужно получить все...

Перебор циклом while
Добрый вечер.Условие моей задачи таково Построить сплайн параболический. Построить график и отметить на нём узлы интерполяции. Моя...

Перебор коллекции объектов циклом for each
Есть разные объекты на форме. Нужно перебрать в цикле for each Добавлено через 18 минут уже неактуально))) Добавлено через 21...

Перебор циклом файлов в каталоге
Доброго времени суток. Как пройтись циклом по файлам в папке?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru