Архив рассылки -программирование на PHP




И не сами по себе, а в каком-то более сложном выражении


И не сами по себе, а в каком-то более сложном выражении.
Отличие же этих двух выражений состоит в том, что в первом случае значение переменной учитывается в выражении, а затем уже производится прибавление единицы, а во втором все наоборот -- сначала происходит увеличение значения переменной, а затем уже получившееся значение используется в выражении. На примере станет понятно:
$a=1;
echo $a++;
echo ++$a;
Первое echo распечатает нам "1", а второе распечатает?.. а вот не правильно! Не 2 оно распечатает, а "3". Почему? Догадайтесь сами.

Еще я сегодня хочу разложить для вас один фрагмент кода, который мы будем часто использовать в нашей программе. Да и вообще в любой программе, где данные черпаются из SQL-базы.

Речь идет, конечно же, о получении данных посредством select-а.

Вы уже знаете, как сделать запрос в базу, но мы толком не говорили о том, как разбирать полученные данные. А между тем, это можно делать различными способами.

Давайте сразу на примере. Предположим, мы выбираем из базы видеокассет наименования видеофильмов, выпущенных в 2000 году, и хотим распечатать их в виде таблицы (с ID кассеты, конечно).

Вот, можно было бы оформить процедуру так (во многих учебниках вы и найдете нечто похожее):
$this->sql_query="select * from film where f_date between '2000-01-01 00:00:00' and '2000-12-31 23:59:59 order by f_id'"; $this->sql_execute(); $str=""; $row_count=mysql_num_rows($this->sql_res); for($i=0;$isql_res); $str=$str."\n"; } $str=$str."
".$film['f_id']."".$film['f_name']."
"; Поясняю.

Мы делаем запрос в базу (кстати, обратите внимание на новое для нас условие в запросе: between date and date, такая форма часто используется для указания диапазона дат).

Инициируем текстовую переменную для занесения в нее html-кода, добавив первый фрагмент текста -- начало таблицы.

Далее выясняем: сколько же строк(записей) из базы мы должны получить.









Начало    Назад    Вперед




Книжный магазин