Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Цикл в функции printf.


Автор: Kex 11.3.2009, 01:10
Суть проблемы: необходимо взять из базы название и число скачиваний файла, а затем возле файла вставить 50 изображений.
Далее опять выбрать следующее значение из базы и опять вставить 30 изображений и т.д. Но вот проблема - думал, сделать это через функцию printf:
Код

do
{
printf ("%s %s", $myrow["name"], $myrow["author"]);

$n1=$myrow["kol_skachivaniy"];
echo "$n1";
for ($i=0; $i < $n1; $i++){
echo "<img src="1.gif">"
}

}
while ($myrow = mysql_fetch_array($result));

но код не работает, буду благодарен за помощь!

Автор: XupyprMV 11.3.2009, 09:44
Во-первых было бы неплохо если бы вы описали возвращаемую ошибку:

Вот что заметил я:

1) 
Цитата

echo "<img src="1.gif">"


я бы заменил на 

Цитата

echo '<img src="1.gif">'


(я поставил одинарные кавычки, хотя тут можно и обойтись экранированием внутренних двойных кавычек)


2) Цикл с постусловием я бы заменил на цикл с пред условием (то есть поднял бы while вверх), $myrow то у вас в начале не инициализирован, поэтому толка от цикла с постусловием нет.

3) Если код выполняется без ошибок но ничего не выдаёт - проверить сколько строк возвращается в результате запроса к БД.

Пы. Сы. Так и не понял где здесь вы нашли цикл в функции printf... скорее наоборот, функция в цикле... и всё с ней на первый взгляд нормально...

Автор: Kex 11.3.2009, 22:49
Цитата(XupyprMV @  11.3.2009,  09:44 Найти цитируемый пост)
Вот что заметил я:1) echo "<img src="1.gif">"я бы заменил на echo '<img src="1.gif">'(я поставил одинарные кавычки, хотя тут можно и обойтись экранированием внутренних двойных кавычек)


Вы конечно же правы. 

Проблема решилась - ошибка была в лишней скобке при выборке из базы, пришлось все построчно пройти еще раз. Спасибо за внимание!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)