Jump to content
  • 0

Создание массива в цикле


Lionel
 Share

Question

Как записать ряды из цикла в массив, для вывода их дальше по скрипту?

Т.е. мне нужно послу выборки из БД по одному полю (!) каждый ряд вывести echo из цикла не все сразу, а записать в массив, чтобы потом выводить по необходимости.

while($rrr=mysql_fetch_array($result))
{
$mmm = $rrr[0];
}

Естественно, я понимаю, что каждый раз ряд перезаписывается, пока ряды совсем не закончатся. Как сделать, чтобы все ряды впихнулись в массив?

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0
Как записать ряды из цикла в массив, для вывода их дальше по скрипту?

Т.е. мне нужно послу выборки из БД по одному полю (!) каждый ряд вывести echo из цикла не все сразу, а записать в массив, чтобы потом выводить по необходимости.

while($rrr=mysql_fetch_array($result))
{
$mmm = $rrr[0];
}

Естественно, я понимаю, что каждый раз ряд перезаписывается, пока ряды совсем не закончатся. Как сделать, чтобы все ряды впихнулись в массив?

Разве не додуматься?

$mmm = array();
while($rrr=mysql_fetch_array($result))
{
$mmm[] = $rrr;
}
print_r($mmm);

Link to comment
Share on other sites

  • 0
Разве не додуматься?

$mmm = array();
while($rrr=mysql_fetch_array($result))
{
$mmm[] = $rrr;
}
print_r($mmm);

Прошу прощения... Видел ответ на этот вопрос еще в свое время, но на какоето время на работал с php. Счас пришлось вернуться в тему. Многое подзабылось, к сожалению.

Иван Шумов, ваш пример не работает. Но, думаю, вы меня не совсем верно поняли. По вашему коду работает только так:

$mmm = array();
while($rrr=mysql_fetch_array($result))
{
$mmm[] = $rrr[0];
}
print_r($mmm);

Суть в том, что каждая последняя запись затирает предыдущую, и в итоге я всегда имею лишь последнюю запись, а мне нужно выводить все!!! Т.е. запрос извлекает из таблицы все записи из одного поля (к примеру, есть 10 записей), и после того как выполнен запрос к бд, нужно каждую из 10 записей вывести в тексте. По вашему коду, все 10 записей - это запись №10. Наверно, решение моей проблемы слишком очевидна, чтобы я ее увидел. :) :)

Edited by Lionel
Link to comment
Share on other sites

  • 0

ну если 10 записей, то так наверно:

while($rrr=mysql_fetch_row($result))
{
$mmm[0][] = $rrr[0];
$mmm[1][] = $rrr[1];
$mmm[2][] = $rrr[2];
/*и так до 10;) или цикл со счётчиком.*/
}
print_r($mmm);

2Иван Шумов первая строчка вашего кода лишняя (или стиль такой? обозначать массив), или я чего-то не знаю?

Edited by Быколай
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy