Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.05.2009, 10:08   #1
viscas
 
Регистрация: 15.03.2009
Сообщений: 3
По умолчанию Оптимизация кода

Перед тем как начать, спасибо Dirt, Spein, Greblin, __STDC__ за их ответы на мои предыдущие вопросы.

Я написал код обработки формы...

PHP код:
<?php

if(!$a|| !$b|| !$c|| !$d|| !$e|| !$f|| !$g|| !$h) die("...");

$a trim($a);
$b trim($b);
$c trim($c);
$d trim($d);
$e trim($e);
$f trim($f);
$g trim($g);
$h trim($h);

$a ucwords($a);
$b ucwords($b);
$c ucwords($c);
$d ucwords($d);
$e ucwords($e);
$f ucwords($f);
$g ucwords($g);
$h ucwords($h);

$a addslashes($a);
$b addslashes($b);
$c addslashes($c);
$d addslashes($d);
$e addslashes($e);
$f addslashes($f);
$g addslashes($g);
$h addslashes($h);

$connect mysql_connect("localhost"'root');

if (!
$connect) die("...");

mysql_select_db("db"$connect) or die("...");

$query "SELECT count(*) FROM db_table WHERE a = '$a'";

if (
mysql_result(mysql_query($query), 0) > 0) {

echo 
'В таблице уже есть такое поле';

};

$query "INSERT INTO db_table VALUES ('".$a."','".$b."','".$c."','".$d."','".$e."','".$f."','".$g."','".$h."')";

$result mysql_query($query);

mysql_close($connect);

header("Location: http://localhost/");

exit;

?>
Он не совсем удобный.
Когда я его писал, для каждой переменной мне отдельно приходилось указывать три разные функции.
Как сделать, чтобы весь блок переменных обрабатывался сразу тремя функциями?

Так же не совсем удобно было добавлять каждое значение поля по отдельности в:
PHP код:
"INSERT INTO db_table VALUES ('".$a."','".$b."','".$c."','".$d."','".$e."','".$f."','".$g."','".$h."')"
Посоветуйте с оптимизацией.
viscas вне форума Ответить с цитированием
Старый 30.05.2009, 11:37   #2
Linel
Форумчанин
 
Аватар для Linel
 
Регистрация: 21.02.2009
Сообщений: 372
По умолчанию

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

Например, значения массива "$array" будут твои переменные $a, $b и т.д. Тогда, вместо:

Цитата:
$a = trim($a);
$b = trim($b);
$c = trim($c);
$d = trim($d);
$e = trim($e);
$f = trim($f);
$g = trim($g);
$h = trim($h);

$a = ucwords($a);
$b = ucwords($b);
$c = ucwords($c);
$d = ucwords($d);
$e = ucwords($e);
$f = ucwords($f);
$g = ucwords($g);
$h = ucwords($h);

$a = addslashes($a);
$b = addslashes($b);
$c = addslashes($c);
$d = addslashes($d);
$e = addslashes($e);
$f = addslashes($f);
$g = addslashes($g);
$h = addslashes($h);
можно написать:

foreach ($array as $value)
{
$value = trim($value);
$value = ucwords($value);
$value = addslashes($value)
}

ну и так далее. Тоесть Это действие будет выполняться с каждым элементом массива.
No name. Just Linel.
Linel вне форума Ответить с цитированием
Старый 31.05.2009, 11:38   #3
iankov
Форумчанин
 
Регистрация: 04.01.2009
Сообщений: 188
По умолчанию

$a = addslashes(ucwords(trim($a)));
можно и так замутить
iankov вне форума Ответить с цитированием
Старый 31.05.2009, 16:04   #4
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

Вариант третий (если по какой-либо причине не хочется загонять в массив)
Код:
for ($l = 'a'; $l <= 'h'; $l++)
  $$l = addslashes(ucwords(trim($$l)));
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оптимизация кода nusik Общие вопросы Delphi 2 21.05.2009 17:55
Оптимизация кода Terran Общие вопросы Delphi 6 01.11.2008 16:57
Оптимизация кода [Smarik] Gamedev - cоздание игр: Unity, OpenGL, DirectX 9 20.08.2008 15:00
Оптимизация кода. MAKTECYMA Общие вопросы C/C++ 2 05.06.2008 16:48
Оптимизация кода программы insi Фриланс 2 17.05.2008 18:30