Очевидно, хорошо, первый забрать его отдельно так что есть чему поучиться:
while($row2 = mysql_fetch_array($result))
{
...
}
Эта часть выглядеть в порядке, давайте посмотрим внутри цикла:
$myarray = array("id"=>$theid, "name"=>name($id), "text"=>$row2[text]);
Существует несколько пунктов. Наверное, самое главное, так как это внутри цикла, вы перезаписываете $myarray
на каждой итерации. Вместо этого вы хотите добавить в массив. Давайте сделаем так:
$myarray = array(); # initialize the array first!
while($row2 = mysql_fetch_array($result))
{
$myarray[] = $row2; # add the row
}
После этого вы можете вывести его на доказательство того, что он в основном работает:
var_dump($myarray);
Это показывает вам массив, содержащий все строки. . После этого нужно всего лишь изменить запрос к базе данных, так что он возвращает только поля, которые вы заинтересованы в
В случае, если вы не можете сделать это с базой данных, вы можете управлять массивом, а также:
$myarray = array(); # initialize the array first!
while($row2 = mysql_fetch_array($result))
{
$myarray[] = array(
"id" => $theid,
"name" => name($id),
"text" => $row2['text']
);
}
var_dump($myarray);
Теперь результат должен выглядеть так, как вы хотите. Для вывода $myarray
:
foreach ($myarray as $number => $row)
{
echo '<div>Number ', $number, ':<dl>';
foreach ($row as $k => $v)
{
printf("<dt>%s</dt><dd>%s</dd>\n", $k, htmlspecialchars($v));
}
echo '</dl></div>'
}
У меня есть два массива, и я хочу поместить их в одну переменную. Я использую эту строку кода $ finalarray = $ _SESSION ['SESS_ARRAY'] + $ myarray ;. Но он возвращает мне фатальную ошибку. Вы можете мне помочь? – anna
Я решил его использовать array_merge(). – anna