<?php
if ($traning=='TRAINING'){
if ($date=='07/07/2010(12_00)') {
$link = mysql_connect("localhost", "root", "") or die("Could not connect: " . mysql_error());
mysql_select_db("hh") or die ("Could not select hh db".mysql_error());
$id="select count(id) from tranings_new where traning like 'TRAINING' AND date LIKE '07/07/2010(12_00)' ";
$res=mysql_query($id) or die("error1". mysql_error());
$j=mysql_result($res,0);
if ($j<25){
$link = mysql_connect("localhost", "root", "") or die("Could not connect: " . mysql_error());
mysql_select_db("hh") or die ("Could not select hh db".mysql_error());
$id="select max(id) from tranings_new ";
$res=mysql_query($id) or die("error1". mysql_error());
$j=mysql_result($res,0);
$j=$j+1;
$in='insert into tranings_new values ('.'"'.$j.'",'.'"'.$fio.'",'.'"'.$depart.'",'.'"'.$chef.'",'.'"'.$email_chef.'",'.'"'.$job.'",'.
'"'.$traning.'",'.'"'.$date.'",'.'"'.$tel.'",'.'"'.$email.'",'.'"'.$hope.'",'.'"'.$questions.'")';
$insert_db=mysql_query($in) or die("can't insert into table".mysql_error());
// выводится запись что вы зарегестрированы и формируется письмо
} else
{ // выводится запись типа извините
}
}
}
вот здесь if ($traning=='TRAINING') меняется 'TRAINING'
вот здесь if ($date=='07/07/2010(12_00)') меняется '07/07/2010(12_00)'
вот здесь if ($j<25) меняется 25
Мне приходится для каждого тренинга писать этот кусок кода и эти три параметра печатать в ручную. Как сделать чтобы этот кусок был функцией в которую только подставлять эти три параметра. Ух, надеюсь объяснил понятно. За код прошу палкой не бить, ногами не пинать. Я только начинающий, пытался разобраться, но что-то с функциями тяжко... Прошу объяснить, чтоб запомнить и научиться и более глупых вопросов не задавать. Спасибо!
Спустя 25 минут, 1 секунда (14.09.2010 - 10:11) silius написал(а):
function name_function ($traning, $date, $j)
{
echo $traning;
echo $date;
echo $j;
}
// Вызываем функцию где надо
name_function('TRAINING', '07/07/2010(12_00)', '25');
// Входные данные меняешь и всё
Спустя 48 минут, 50 секунд (14.09.2010 - 11:00) fredrsf написал(а):
Я наверное неправильно объяснил. Вот этот весь кусок кода + добавление в бд + отправка письма это одинаковый код для каждого тренинга. меняются только эти три параметра. Вот как сделать так, чтобы каждый раз не писать этот большой кусок кода, а как бы указывать, что должен исполнится этот код но с параметрами, которые я сам задам.
Спустя 6 минут, 52 секунды (14.09.2010 - 11:07) amazing написал(а):
Сама функция:
Вызов функции
function yourFunction ($training , $date, $fio, $depart, $chef, $email_chef, $job, $tel, $email, $hope, $questions, $training_get, $date_get, $j_get)
{
if ($traning==$training_get)
{
if ($date==$date_get)
{
$link = mysql_connect("localhost", "root", "") or die("Could not connect: " . mysql_error());
mysql_select_db("hh") or die ("Could not select hh db".mysql_error());
$id="select count(id) from tranings_new where traning like $training_get AND date LIKE $date_get ";
$res=mysql_query($id) or die("error1". mysql_error());
$j=mysql_result($res,0);
if ($j<$j_get)
{
$link = mysql_connect("localhost", "root", "") or die("Could not connect: " . mysql_error());
mysql_select_db("hh") or die ("Could not select hh db".mysql_error());
$id="select max(id) from tranings_new ";
$res=mysql_query($id) or die("error1". mysql_error());
$j=mysql_result($res,0);
$j=$j+1;
$in='insert into tranings_new values ('.'"'.$j.'",'.'"'.$fio.'",'.'"'.$depart.'",'.'"'.$chef.'",'.'"'.$email_chef.'",'.'"'.$job.'",'.'"'.$traning.'",'.'"'.$date.'",'.'"'.$tel.'",'.'"'.$email.'",'.'"'.$hope.'",'.'"'.$questions.'")';
$insert_db=mysql_query($in) or die("can't insert into table".mysql_error());
// выводится запись что вы зарегестрированы и формируется письмо
}
else
{ // выводится запись типа извините
}
}
}
}
Вызов функции
yourFunction ($training, $date, $fio, $depart, $chef, $email_chef, $job, $tel, $email, $hope, $questions, 'TRAINING', '07/07/2010(12_00)', '25');
Спустя 12 минут, 15 секунд (14.09.2010 - 11:19) drouZ написал(а):
простите, теперь у меня возник вопрос: как понять
нет инициализации переменной
if ($traning==$training_get)
нет инициализации переменной
$traning
а функция её по-идее пошлет лесом, если её проинициализировали не в её теле и не передали ей, или я ошибаюсь? Спустя 17 минут, 50 секунд (14.09.2010 - 11:37) amazing написал(а):
Выпустил из виду...Отредактировал
Не на всем же готовом всегда жить
Не на всем же готовом всегда жить

Спустя 42 минуты, 59 секунд (14.09.2010 - 12:20) fredrsf написал(а):
А если все эти переменные кроме $j берутся в самом начале отсюда
$traning=$_POST['traning'];
$date=$_POST['date'];
$tel=$_POST['tel'];
это не поможет?
$traning=$_POST['traning'];
$date=$_POST['date'];
$tel=$_POST['tel'];
это не поможет?
Спустя 15 минут, 10 секунд (14.09.2010 - 12:35) inpost написал(а):
fredrsf
Какая разница? Функция - независимая операция, ей пофиг на весь код на странице. Ты указываешь, что попадет в функцию (какие переменные):
Какая разница? Функция - независимая операция, ей пофиг на весь код на странице. Ты указываешь, что попадет в функцию (какие переменные):
yourFunction ($training, $date, $fio, $depart, $chef, $email_chef, $job, $tel, $email, $hope, $questions, 'TRAINING', '07/07/2010(12_00)', '25');И что из неё выйдет:
return $text;
_____________
Фриланс-студия webthrust. Создание, поддержка и продвижение сайтов.