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

         

Или t_on


Или t_on. Мне больше нравится t_enable, а вам?

Модифицировать таблицу мы уже умеем, поэтому разжевывать следующий запрос в SQL я не буду:

alter table tbltexts add column t_enable enum("Y","N") not null default "N";

Кто такой enum() и с чем его едят — вы можете прочесть тут: 6.2.3.3 The ENUM Type.

Вот. Теперь каждый добавленный в базу текст будет иметь флаг t_enable, который будет изначально устанавливаться в N (No).

Теперь, о чем вы уже наверняка догадались, надо написать функцию, которая будет включать или выключать текст на сайте.

Назовем эту функцию in_text_enable().

Добавьте в class_in переменную in_text_enable:



$this->in_text_enable;

и приступим к написанию коротенькой функции.
function in_text_enable() { if($this->in_text_enable!='Y') $this->in_text_enable='N'; $this->in_text_id=(int)$this->in_text_id; $this->sql_query="update tbl_texts set t_enable='".$this->in_text_enable."' where t_id='".$this->in_text_id."'"; $this-sql_execute(); if($this->sql_err) return(11); return(0); } Как видите, ничего особенно умного тут придумывать не надо. Достаточно присвоить переменной in_text_id номер текста, переменной in_text_enable статус (Yes/No) и вызвать нашу свежеиспеченную функцию in_text_enable().

Какую проверку на ошибочные данные я не сделал в этой переменной? Правильно, — не сделал проверку на существование текста, которому мы хотим сменить статус.

И ничего страшного, я вам скажу. Это как раз тот случай, когда запрос в БД построен так, что никакого вреда случиться не может.

Посудите сами. Переменная in_text_enable может нести в себе только значение "N" или "Y": все другие значения напрочь отметаются первой строкой тела функции.



Содержание раздела