Сегодня мы поговорим об оптимизации, а точнее уменьшении количества файлов скрипта 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, Обновить данных в базе.