#php #mysql #sql #mysqli
#php #mysql #sql #mysqli
Вопрос:
у меня есть 2 массива из mysqli_fetch_assoc из 2 разных БД с 2 разных серверов. мой основной вторичный сервер отключен от объединения и отключен root в моем офисе, поэтому я решаю вызвать manualall через php fetch assoc .. вот мой результат в таблице
NO. USERID USERNAME USERSTATUS other NAME
1 1 daffa 1 2 Sugeng
2 2 meito 1 4 Sugeng lagi
НЕТ. ИДЕНТИФИКАТОР ПОЛЬЗОВАТЕЛЯ ИМЯ ПОЛЬЗОВАТЕЛЯ Строка USERSTATUS из $new_array1
другое ИМЯ из $ new_array2
тогда вот мой код
$i = 1;
while(($new_array1 = mysqli_fetch_assoc( $result1)) amp;amp; ($new_array2 = mysqli_fetch_assoc( $result2))){
echo '
<tr>
<td>'.$i.'</td>
<td>'.$new_array1['userid'].'</td>
<td>'.$new_array1['username'].'</td>
<td>'.$new_array1['userstatus'].'</td>
<td>'.$new_array2['other'].'</td>
<td>'.$new_array2['NAME'].'</td>
</tr>
';
$i ;
}
но есть еще 2 массива, как объединить 2 массива из выборки assoc? я хочу сделать его единым массивом, а затем отобразить данные
Комментарии:
1. Это звучит как
JOIN
, если эти данные связаны. Если нет, вам нужно объединить их с помощью PHP.2. Примечание: Объектно-ориентированный интерфейс to
mysqli
значительно менее подробный, что упрощает чтение и аудит кода, и его нелегко спутать с устаревшимmysql_query
интерфейсом, где отсутствие одногоi
может вызвать проблемы. Пример:$db = new mysqli(…)
и$db->prepare("…")
процедурный интерфейс является артефактом эпохи PHP 4 и не должен использоваться в новом коде. Кроме того, процедурный интерфейс имеет менее строгую проверку ошибок и отчеты, что затрудняет усилия по отладке.3. это разные базы данных на разных серверах, объединение не может быть выполнено. кроме того, федеративный движок отключен office, в любом случае, чтобы объединить эти массивы?
4. Вы должны извлечь все строки в обоих наборах, а затем соединить их вместе с помощью какого-либо сопоставления. Дешевый способ сделать это — преобразовать его в ассоциативный массив с ключом, который вы сопоставляете, чтобы вы могли это сделать
$a[$key]
,$b[$key]
и они будут связаны.5. кстати, каковы ваши критерии объединения двух разных таблиц, поступающих из двух разных источников в любом случае? просто выровнять их по номерам строк? ну, вы не можете сделать это таким образом с помощью приведенного выше кода, вам нужно будет извлекать оба по отдельности и комбинировать результаты с помощью php.