Dla kodu
$exportQuery = tep_db_query($exportSQL);
if (tep_db_num_rows($exportQuery) > 1) {
while ($exportList = tep_db_fetch_array($exportQuery)) {
// print_r($exportList);
var_dump($exportList);
// fputcsv($output, $exportList, ";");
}
}
Posiadam
array(3) { ["categories_id"]=> string(2) "51" ["pi"]=> string(2) "43" ["cn"]=> string(14) "All Purpose AP" }
array(3) { ["categories_id"]=> string(2) "49" ["pi"]=> string(2) "43" ["cn"]=> string(16) "Pro Sea Diver 1K" }
array(3) { ["categories_id"]=> string(2) "45" ["pi"]=> string(2) "43" ["cn"]=> string(17) "Jugg V / NOWOĹÄ" }
Każdy klucz 'pi' posiada wartość "43"
Zmieniam kod, aby podmienić wartość 'pi' z liczby na nazwę kategorii
$exportQuery = tep_db_query($exportSQL);
$exportQuery1 = tep_db_query($exportSQL);
if (tep_db_num_rows($exportQuery) > 1) {
while ($exportList = tep_db_fetch_array($exportQuery)) {
while ($exportList1 = tep_db_fetch_array($exportQuery1)) {
if ($exportList['pi'] == $exportList1['categories_id']) {
$exportList['pi'] = $exportList1['cn'];
// break;
// print_r($exportList1);
}
}
// print_r($exportList).PHP_EOL;
var_dump($exportList);
// fputcsv($output, $exportList, ";");
}
}
i posiadam
array(3) { ["categories_id"]=> string(2) "51" ["pi"]=> string(9) "DEEP BLUE" ["cn"]=> string(14) "All Purpose AP" }
array(3) { ["categories_id"]=> string(2) "49" ["pi"]=> string(2) "43" ["cn"]=> string(16) "Pro Sea Diver 1K" }
array(3) { ["categories_id"]=> string(2) "45" ["pi"]=> string(2) "43" ["cn"]=> string(17) "Jugg V / NOWOĹÄ" }
Nie wiem dlaczego zagnieżdżona pętla wykonuje się tylko na jednym cyklu, jeśli druga i trzecia tablica również spełnia warunek tj. klucz 'pi' posiada wartość '43'.
Całość mam do zapytania SQL
$exportSQL = "SELECT c.categories_id, c.parent_id AS pi, cd.categories_name AS cn
FROM categories c
LEFT JOIN categories_description cd
ON c.categories_id = cd.categories_id
WHERE cd.language_id = 2";