Уроки PHP, веб-студия
LIDERIT.ru
Вывод информации циклом PRINTF (функцией PRINTF)
Напишем код, который выведет всю информацию в цикле за один заход. Будут выведены все сотрудники с их именами, фамилиями, должностями. И в этом поможет нам цикл!
<?
$db = mysql_connect("u79183.mysql.masterhost.ru", "u79183", "000000000000");
mysql_select_db("u79183_firstbd", $db);
$result = mysql_query ('SELECT * FROM firma', $db);
$myrow = mysql_fetch_array ($result);
do
{
printf ("Сотрудник N - %s< br> %s< br> %s< br> %s" , $myrow ['id'], $myrow ['name'], $myrow ['lastname'], $myrow ['dol']);
}
while ($myrow = mysql_fetch_array ($result));
?>
Код выведет:
Сотрудник N - 1Алексей
Алексеев
Директор
Сотрудник N - 2
Иван
Иванов
Заместитель
Сотрудник N - 3
Александр
Александров
Программист
Комментарии:
<?$db = mysql_connect("u79183.mysql.masterhost.ru", "u79183", "000000000000");
mysql_select_db("u79183_firstbd", $db);
$result = mysql_query ('SELECT * FROM firma', $db); - вытаскиваем данные из всей таблицы firma
$myrow = mysql_fetch_array ($result); - заносим переменную $result в $myrow
do - начинаем вывод
{
printf ("Сотрудник N - %s< br> %s< br> %s< br> %s< br>< br> " , $myrow ['id'], $myrow ['name'], $myrow ['lastname'], $myrow ['dol']); - вывод данных по методу (функции) printf: где %s - специальный маркер. Их у нас 4 по количеству полей. Во второй части после запятой указываем, что на их место нужно поставить: $myrow ['id'], $myrow ['name'], $myrow ['lastname'], $myrow ['dol']
}
while ($myrow = mysql_fetch_array ($result)); - здесь начинается цикл do....... while, когда, выведя на экран данные первого сотрудника по id=1, цикл начинает вывод второго сотрудника по id=2 и так далее до окончания цикла по полю id. У нас в данном случае есть id=1, id=2, id=3 (см. схему). Как только цикл выполнит все операции - закончится выполнение самого скрипта.
?>
Примечание:
1. на практике будем часто применять! Об этом позже...2. на следующем уроке рассмотрим другой способ, более проще...