$sql = "SELECT * FROM `nsp_news`";Выходит, что запрос будет выполнятся столько же раз, сколько и цикл?
foreach ($dbh->query($sql) as $row)
{
echo $row['news_title'] . '<br>';
echo $row['news_text'] . '<br>';
}
Может так правильнее:
$res = $dbh->query("SELECT * FROM `nsp_news`");или так:
foreach ($res as $row)
{
echo $row['news_title'] . '<br>';
echo $row['news_text'] . '<br>';
}
$res = $dbh->query("SELECT * FROM `nsp_news`");Или я что-то не дочитал?
while ($row = $res->fetch(PDO::FETCH_ASSOC))
{
echo $row['news_title'] . '<br>';
echo $row['news_text'] . '<br>';
}
Спустя 2 часа, 49 минут, 48 секунд (10.01.2011 - 13:12) vasa_c написал(а):
Нидачитали в документации про foreach
Спустя 34 минуты, 49 секунд (10.01.2011 - 13:46) AmberLEX написал(а):
Блин, точно!
Внимание: Цикл foreach оперирует не исходным массивом, а его копией. Это означает, что любые изменения, которые вносятся в массив, не могут быть "видны" из тела цикла. Что позволяет, например, в качестве массива использовать не только переменную, но и результат работы какой-нибудь функции, возвращающей массив (в этом случае функция будет вызвана всего один раз - до начала цикла, а затем работа будет производиться с копией возвращенного значения)
Внимание: Цикл foreach оперирует не исходным массивом, а его копией. Это означает, что любые изменения, которые вносятся в массив, не могут быть "видны" из тела цикла. Что позволяет, например, в качестве массива использовать не только переменную, но и результат работы какой-нибудь функции, возвращающей массив (в этом случае функция будет вызвана всего один раз - до начала цикла, а затем работа будет производиться с копией возвращенного значения)
_____________
1. Чудес не бывает.
2. Дерьмо случается.