Я пытаюсь записать данные из MySQL в PHP-Array (для генерации XML-файла с PHP-библиотекой FluidXML). Когда я возвращаюсь к массиву, я получаю только первое его значение, но когда я повторяю переменную с теми же данными, что и массив, я получаю правильный вывод со всей информацией. Позвольте мне объяснить более точно:Выход массива PHP только первое значение
запрос, чтобы получить данные:
$sql = sprintf("select b.nPosID, b.nAmount, b.sName, .......");
$result = mysql_query($sql);
Тогда я петля корыта результаты:
$msg = "";
$orderArticles = [];
$orderSubArticles = [];
while($data = mysql_fetch_array($result))
{
if($data['sChange'] != null) {
$msg .= ' * ' . $data['sChange'] . ' ' . number_format($data['nAmount'] * $data['nPriceChange'], 2) . "\r\n";
$orderSubArticles[] = ['SubArticle' => [
'ArticleNo' => '0',
'ArticleName' => $data['sChange'],
'Count' => $data['nAmount'],
'Price' => $data['nPriceChange']
],];
}
if ($nPosID != $data['nPosID']) {
$msg .= " \r\n" . $data['nAmount'] . ' x ' . $data['sName'] . ' ' . number_format($data['nAmount'] * $data['nPrice'], 2) . "\r\n";
$orderArticles[] = ['Article' => [
'ArticleNo' => '0',
'ArticleName' => $data['sName'],
'ArticleSize' => '0',
'Count' => $data['nAmount'],
'Price' => $data['nPrice'],
'Tax' => '10',
'SubArticleList' => [
$orderSubArticles
]],];
}
}
Давайте предположим, из запроса SQL я получаю следующий правильный вывод :
Pizza
+ extra cheese
+ extra tonno
Когда я возвращаю переменную $ msg, я получаю тот же правильный результат. Но когда я эхо массив, я получаю только первое значение:
Pizza
+ extra cheese
Чтобы быть точно, вывод, который был сгенерирован со значениями из массива:
<ArticleList>
<Article>
<ArticleName>Pizza</ArticleName>
<Count>1</Count>
<Price>12.9</Price>
<SubArticleList>
<SubArticle>
<ArticleName>Extra cheese</ArticleName>
<Count>1</Count>
<Price>3</Price>
</SubArticle>
</SubArticleList>
</Article>
</ArticleList>
Так второй <SubArticle>
не хватает (дополнительный тонно).
Можете ли вы добавить вывод 'var_dump ($ result)'? – AMartinNo1
Я получаю «ресурс (19) типа (результат mysql)». –