Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.74/19: Рейтинг темы: голосов - 19, средняя оценка - 4.74
59 / 59 / 16
Регистрация: 14.06.2010
Сообщений: 1,190
Записей в блоге: 5
1

Вывод таблицы с функцией printf

05.02.2011, 14:49. Показов 3939. Ответов 6
Метки нет (Все метки)

Вывожу таблицу с помощью printf:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
printf("
    
        <table width='100%' border='0'>
  <tr>
    <td colspan='2'>%s</td>
  </tr>
  <tr>
    <td>%s</td>
    <td>%s</td>
  </tr>
</table>
    ",$myrow['name'],$myrow['des'],$myrow['link']);
Браузер ругается:
Warning: printf() [function.printf]: Too few arguments in W:\home\localhost\www\view_file.php on line 46

В чем это может быть проблема, я же делаю всё правильно!!
Подскажите пожалуйста где я допускаю ошибку!?!?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.02.2011, 14:49
Ответы с готовыми решениями:

Отрисовка таблицы функцией
Здравствуйте дошел до функций, скажите, где неправильное оформление кода? Все работает, таблица...

Ошибка - Warning: printf() [function.printf]: Too few arguments
привет всем. создал форму вывода данных из таблицы: &lt;?php $result3 = mysql_query(&quot;select img,...

Вывод из базы то, что ранее обработал функцией mysql_real_escape_string()
Собственно при выводе в тег, это все выводится в кавычках почему-то.... Скриншот: Обьясните...

Вывод всей таблицы из БД в виде таблицы
Доброго времени суток, уважаемые обитатели cyberforum. Столкнулся с такой проблемой : нужно...

6
112 / 55 / 13
Регистрация: 26.12.2010
Сообщений: 205
05.02.2011, 19:10 2
PHP
1
2
3
4
5
6
7
8
9
10
11
12
printf("
        
                <table width='100\%' border='0'>
  <tr>
    <td colspan='2'>%s</td>
  </tr>
  <tr>
    <td>%s</td>
    <td>%s</td>
  </tr>
</table>
        ",$myrow['name'],$myrow['des'],$myrow['link']);
или
PHP
1
2
3
4
5
6
7
8
9
10
 <table width='100%' border='0'><?
 printf("
  <tr>
    <td colspan='2'>%s</td>
  </tr>
  <tr>
    <td>%s</td>
    <td>%s</td>
  </tr>
",$myrow['name'],$myrow['des'],$myrow['link']);?></table>
Добавлено через 1 минуту
Экланируйте символы ...
1
1 / 1 / 0
Регистрация: 09.02.2011
Сообщений: 21
12.06.2011, 03:32 3
Цитата Сообщение от Sanu0074 Посмотреть сообщение
<table width='100%' border='0'>
Самое простое решение проблемы: (добавление второго символа % для вывода символа "%"

PHP
1
2
3
4
5
6
7
8
9
10
11
12
printf("
    
        <table width='100%%' border='0'>
  <tr>
    <td colspan='2'>%s</td>
  </tr>
  <tr>
    <td>%s</td>
    <td>%s</td>
  </tr>
</table>
    ",$myrow['name'],$myrow['des'],$myrow['link']);
Это второе решение проблемы, которое является благоразумным... на первом месте вместо
PHP
1
"%%"
используют
PHP
1
"\%"
0
13195 / 6582 / 1040
Регистрация: 10.01.2008
Сообщений: 15,069
12.06.2011, 04:45 4
printf - это форматированный вывод. Если никакого форматирования нет, то и смысла в ней нет. Используйте echo.
PHP
1
2
3
4
5
6
7
8
9
echo '<table width="100%" border="0">
  <tr>
    <td colspan="2">', $myrow['name'], '</td>
  </tr>
  <tr>
    <td>', $myrow['des'], '</td>
    <td>', $myrow['link'], '</td>
  </tr>
</table>';
См. http://www.cyberguru.ru/web/ph... page2.html
0
1 / 1 / 0
Регистрация: 09.02.2011
Сообщений: 21
12.06.2011, 11:46 5
Ну да, или ещё вроде
PHP
1
print "...";
А там где было echo по-моему ставиться конкатенация точкой? если я не прав, поправьте:

PHP
1
2
3
4
5
6
7
8
9
echo "<table width=\"100%\" border=\"0\">
  <tr>
    <td colspan=\"2\">'. $myrow['name']. '</td>
  </tr>
  <tr>
    <td>'. $myrow['des']. '</td>
    <td>'. $myrow['link']. '</td>
  </tr>
</table>";
PHP
1
2
3
4
5
6
7
8
9
echo "<table width=\"100%\" border=\"0\">
  <tr>
    <td colspan=\"2\"> $myrow['name'] </td>
  </tr>
  <tr>
    <td> $myrow['des'] </td>
    <td> $myrow['link'] </td>
  </tr>
</table>";
0
13195 / 6582 / 1040
Регистрация: 10.01.2008
Сообщений: 15,069
12.06.2011, 11:59 6
echo сам по себе работает быстрее, чем print. echo умеет принимать любое количество аргументов, поэтому оптимальнее будет echo через запятую, чем print и/или конкатенация.
1
1 / 1 / 0
Регистрация: 09.02.2011
Сообщений: 21
12.06.2011, 13:57 7
Полезно, спасибо)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.06.2011, 13:57

Почему функция printf несовместима с функцией AllocConsole?
То есть ситуация: процесс x создаёт процесс y (x-&gt;y), в y для создания консоли используется функция...

Вывод printf
Привет всем, я тут начал изучать язык си и вот столкнулся с проблемой. Программа преобразует массив...

Вывод printf
Здравствуйте! Почему не выводится средний столбец? #include &lt;conio.h&gt; #include &lt;stdio.h&gt; ...

Вывод символов printf
Не могу понять, почему когда я значения переменных заключаю в двойные кавычки, то у меня выводится...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.