<option value="$m[id]">$m[name]</option>
В при передаче данных скрипту ты уже сможешь получить ID , тебе останется только записать эти данные в таблицу которую ты хотел.
<option value="$m[id]">$m[name]</option>
Цитата (Tapak @ 22.12.2012 - 14:56) |
F_Yuriy, смотри.<option value="$m[id]">$m[name]</option> В при передаче данных скрипту ты уже сможешь получить ID , тебе останется только записать эти данные в таблицу которую ты хотел. |
Цитата (Valick @ 22.12.2012 - 14:38) |
сдаюсь я не знаю как с вами бороться вы упорно не хотите отделять мух от котлет вы упорно не хотите отвечать, что такое $sum1, $sum2, $sum3 и какова сущность этих сумм, если это то что я подозреваю, то бд организована неправильно *опустил руки, глубоко вздохнул, закрыл глаза ладонями, горько заплакал* |
Цитата (Tapak @ 22.12.2012 - 15:16) |
Это же вариант который предложил я?) Через форму было бы правильнее. |
Цитата |
$sum1, $sum2, $sum3 - это введенные значения от пользователя. Которые заносятся в таблицу2 |
Цитата (Valick @ 22.12.2012 - 15:58) | ||
вы определенно издеваетесь я спрашивал сущность этих значений, почему их три, всегда их три или может быть одно, а может быть два. Измениться ли сущность если в поле для ввода Суммы1 ввести число Суммы3. Я хотел услышать что-то типа Сумма1 - это сумма закупки "расходных материалов" на празднование нового года Сумма2 - это сумма годовой прибыли фирмы Сумма3 - это сумма зарплаты сотрудников фирмы и тд. |
<?php
$id='';
$mess=$error=array();
// Функция подключения к БД
function co_to_base(){
$dblocation="localhost";
$dbname="f_yuriy";
$dbuser="root";
$dbpasswd="";
$dbcnx=mysql_connect($dblocation,$dbuser,$dbpasswd);
if(!$dbcnx){echo ("<p>Соединение не установлено</p>"); return false;}
mysql_query ("SET NAMES 'utf8'");
if(!mysql_select_db($dbname,$dbcnx)){echo ("<p>База данных не выбрана</p>"); return false;}
return true;
}
// Функция создания БД
function create_base(){
$dblocation="localhost";
$dbname="f_yuriy";
$dbuser="root";
$dbpasswd="";
$dbcnx=mysql_connect($dblocation,$dbuser,$dbpasswd);
if(!$dbcnx){echo ("<p>Соединение не установлено</p>"); return false;}
mysql_query("CREATE DATABASE IF NOT EXISTS ".$dbname." CHARACTER SET utf8 COLLATE utf8_general_ci");
mysql_query ("SET NAMES 'utf8'");
if(!mysql_select_db($dbname,$dbcnx)){echo ("<p>База данных не выбрана</p>"); return false;}
mysql_query("CREATE TABLE IF NOT EXISTS `firm` (
`f_id` INT(8) NOT NULL AUTO_INCREMENT,
`f_pd` DATETIME NOT NULL,
`f_name` VARCHAR(255) NOT NULL,
PRIMARY KEY (f_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;")
or die ("MySQL error: ".mysql_error());
mysql_query("CREATE TABLE IF NOT EXISTS `sum` (
`s_id` INT(8) NOT NULL AUTO_INCREMENT,
`f_id` INT(8) NOT NULL,
`c_id` INT(8) NULL,
`s_sum` DOUBLE,
`s_pd` DATETIME NOT NULL,
PRIMARY KEY (s_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;")
or die ("MySQL error: ".mysql_error());
mysql_query("CREATE TABLE IF NOT EXISTS `cat` (
`c_id` INT(8) NOT NULL AUTO_INCREMENT,
`c_pd` DATETIME NOT NULL,
`c_name` VARCHAR(255) NOT NULL,
PRIMARY KEY (c_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;")
or die ("MySQL error: ".mysql_error());
return true;
}
// Если требуется создание БД, то создаем её
if(isset($_GET[action])=="crbase"){
if(create_base())
$mess[]="База данных успешно создана";
else
$mess[]="Ошибка создания базы данных";
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Пример страницы</title>
</head>
<body>
<p><a href='?action=crbase'>создать базу данных</a></p>
<?php
// устанавливаем соединение с БД и делаем выборку фирм
if(co_to_base()){
$query="SELECT f_id, f_name FROM `firm` ORDER BY `f_name`";
$res=mysql_query($query);
}else{
exit();
}
// Если форма отправлена, то принимаем и обрабатываем данные
if(isset($_POST[go])){
if(isset($_POST[sum]) && is_array($_POST[sum])){
foreach($_POST[sum] as $key=>$value){
if(!is_numeric($value)) unset($_POST[sum][$key]);
}
}
if(!isset($_POST[sum]) || empty($_POST[sum])) $error[]="Не указана ни одна сумма";
$f_name='';
if(isset($_POST[firm]) && !empty($_POST[firm])){
$f_name=substr(trim($_POST[firm]),0,255);
if(!empty($f_name)){
$query="SELECT `f_id` FROM `firm`
WHERE `f_name` = '".mysql_real_escape_string($f_name)."'";
$res2=mysql_query($query) or die(mysql_error());
if(mysql_num_rows($res2) > 0){
$id=mysql_result($res2, 0);
$error[]="Фирма с данным названием уже содержиться в БД";
}else{
$query="INSERT INTO `firm` (`f_pd`,`f_name`)
VALUES(NOW(),'".mysql_real_escape_string($f_name)."')";
$res2=mysql_query($query) or die(mysql_error());
if($id=mysql_insert_id()){
$mess[]="Фирма добавлена в базу данных";
}else{
$error[]="Ошибка при добавлении фирмы в БД";
}
}
}
}else{
if(isset($_POST[fsel]) && !empty($_POST[fsel])){
$id=$_POST[fsel];
if(!empty($id)){
$query="SELECT `f_id` FROM `firm` WHERE `f_id` = $id";
$res2=mysql_query($query) or die(mysql_error());
if($res2){
if(mysql_num_rows($res2) > 0){
$id=mysql_result($res2, 0);
}else{
$error[]="Указанная фирма отсутствует в БД";
}
}
}
}else{
$error[]="Не введено или не выбрано ни одно название фирмы";
}
}
if(empty($error) && !empty($id)){
if(!empty($_POST[sum])) $sum="$id,NOW(),".implode("),($id,NOW(),",$_POST[sum]);
$query="INSERT INTO `sum` (`f_id`,`s_pd`,`s_sum`)
VALUES($sum)";
$res2=mysql_query($query) or die(mysql_error());
if($id=mysql_insert_id()){
$mess[]="Введенные суммы успешно добавлены в БД";
}else{
$error[]="Ошибка при добавлении суммы в БД";
}
}
}
foreach($mess as $v) echo "<p><font color=green>$v</font></p>";
foreach($error as $v) echo "<p><font color=red>$v</font></p>";
echo "<form action='' method='POST'>
<p>Введите название фирмы или выбирите из списка</p>
<p>Новая фирма: <input type='text' name='firm' value='' /></p>
<p>Фирма из БД: ";
if(mysql_num_rows($res)>0){
echo "<select name='fsel' size='1'>
<option selected value=''>выбирайте</option>";
while($m=mysql_fetch_assoc($res)){
echo "<option value='$m[f_id]'>$m[f_name]</option>";
}
}else{
echo "<select disabled name='fsel' size='1'>
<option selected value=''>Фирмы не найдены</option>";
}
echo "</select></p>
<p>Укажите сумму: <input type='text' name='sum[]' value='' /></p>
<p>Укажите сумму: <input type='text' name='sum[]' value='' /></p>
<p>Укажите сумму: <input type='text' name='sum[]' value='' /></p>
<p><input type='submit' name='go' value='Добавить запись в БД' /></p>
</fopm>";
?>
</body>
</html>