Оптимизация количества файлов
Сегодня мы поговорим об оптимизации, а точнее уменьшении количества файлов скрипта php.
Для примера возьмем исходные файлы из урока про Обновление данных MYSQL
Как вы видите, там 3 файла (не считая файл подключения к базу данных). Все они отвечают за выполнение одной и той же задачи, а именно, за обновление данных в базе.
В связи с большим количеством файлов, для выполнения такой простой задачи, было решено написать урок про Оптимизацию количества файлов.
Итак, давайте откроем файл update.php и удалим из него весь код.
Один большой общий код:
include ("db.php"); if (isset($_GET["id"])) {$id = $_GET["id"];} if (isset($_GET["mode"])) {$mode = $_GET["mode"];} if ($mode == '') { $query = mysql_query ("SELECT id, title FROM news"); while ($row = mysql_fetch_array ($query)) { printf ("<a href=\"update.php?mode=edit&id=%s\">%s</a><br>", $row["id"], $row["title"]); } } if ($mode == 'edit' and isset($id)) { $query = mysql_query ("SELECT * FROM news WHERE id='$id'"); $row = mysql_fetch_array ($query); echo "<form method=\"POST\" action=\"update.php?mode=update&id=".$row["id"]."\"> Название новости:<br> <input type=\"text\" name=\"title\" value=\"".$row['title']."\"><br> Текст новости:<br> <textarea name=\"text\" cols=\"20\" rows=\"5\">".$row['text']."</textarea><br> <input type=\"submit\" value=\"Добавить\"> </form>"; } if ($mode == 'update' and isset($id)) { if (isset($_POST["title"])) {$title = $_POST["title"];} if (isset($_POST["text"])) {$text = $_POST["text"];} $title = htmlspecialchars($title); $text = htmlspecialchars($text); $title = stripslashes($title); $text = stripslashes($text); $query = mysql_query ("UPDATE news SET title='$title', text='$text' WHERE id='$id'"); if ($query) { echo "Новость успешно обновлена"; } else { echo "Ошибка обновления новости"; } }
Что мы сделали? Подключили базу данных. Проверили $id, $mode на существование. Если $mode пуста, вывести в цикле список всех новостей. Если $mode равная edit и $id существует, вывести форму для редактирования данных.
Если $mode равная update и существует $id, Обновить данных в базе.

…
Хм …