Wladim
Новичок
Здравствуйте.
Помогите разобраться с проблемой.
Есть таблица в MySQL : date
Вспомогательные файлы:
Файл options.php
Файл functions.php
Проблема в следующем: сколько бы раз не регистрировался пользователь - loc_num всегда получается с "id" = 1 (как видно из дампа данных таблицы `date`). А должно бы вместо 20120327000001 при "id" = 2 быть 20120327000002
Помогите разобраться с проблемой.
Есть таблица в MySQL : date
При регистрации пользователя он заполняет стандартную форму и файл-обработчик должен создать Location Number (используя вспомогательные файлы options.php И functions.php) из "data" и "id":Структура таблицы `date`
CREATE TABLE IF NOT EXISTS `date` (
`id` mediumint(11) NOT NULL AUTO_INCREMENT,
`data` date NOT NULL,
`loc_num` varchar(15) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=301 ;
--
-- Дамп данных таблицы `date`
--
INSERT INTO `date` (`id`, `data`, `loc_num`) VALUES
(1, '2011-04-09', '20120327000001'),
(2, '2011-04-09', '20120327000001');
PHP:
<?php
if (isset ($_GET['ID'])) {$id = $_GET['id'];}
if (!isset ($id)) {$id = 1;}
if (!preg_match("|^[\d]+$|", $id))
{
exit ("<p>Неверный формат запроса! Проверьте URL!</p>");
}
// Подсоединяем файл соединения с БД
include './blocks/db.php';
if (isset($_GET['cat'])) {$cat = $_GET['cat'];}
if (!isset($cat)) {$cat = 1;}
// ПОДКЛЮЧИТЬ ВСПОМОГАТЕЛЬНЫЕ ФАЙЛЫ options.php И functions.php для создания Location Number
include './libs/options.php';
include './libs/functions.php';
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Результат регистрации</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="98%" border="0" align="center" class="main_border">
<!--Подключаем шапку сайта-->
<tr><td align="center">
<?php include './blocks/header.php'; ?>
</td></tr>
<tr><td>
<table width="100%" border="0">
<tr>
<!--Подключаем левый блок сайта-->
<?php include './blocks/lefttd.php'; ?>
<td width="709" valign="top" bgcolor="#ffffff">
<!--Подключаем центральный блок сайта-->
<p>
<h3 align="center">Результат</h3>
</p>
<?php
// СОЗДАНИЕ Location Number
$zapros1="SELECT `id` FROM `date` WHERE `id` = '$id'";
$result1=mysql_query($zapros1);
if (!$result1) die('Invalid query: '.mysql_error());
$id = mysql_result($result1, 0);
// set_zero_avto - из functions.php, $DLIN_KEY - из options.php
$data = date("Ymd");
$id = set_zero_avto($id,$DLIN_KEY); // Дополнить цифру нулями слева
$loc_num = $data.$id;
// ЗАНЕСТИ Location Number В БАЗУ
// Если существуют переменные
if (isset($loc_num))
{
// то можно модифицировать(UPDATE) информацию в БД.
$result1 = mysql_query ("UPDATE `date` SET `loc_num` = '$loc_num' WHERE `id` = '$id'");
if ($result1 == 'true')
{
echo "<p>Ваша заявка отправлена</p>";
}
else
{
echo "<p>Вы не зарегистрировались - найди ошибку.</p>";
}
}
else
{
echo "<p>Вы ввели не всю инфомацию";
}
// Записываем в базу
mysql_query("INSERT INTO `date` (`data`, `loc_num`) VALUES ('$data', '$loc_num')", $db);}
Файл options.php
PHP:
<?PHP
$SERVER="localhost";
$USER="wladifom";
$PASSWD="123456789";
$DB="service";
$DLIN_KEY = 6;
?>
PHP:
<?PHP
function set_zero_avto($wrem1,$wrem2) // Дополнить цифру нулями слева
{
$len_wrem = strlen($wrem1);
for($i=$len_wrem; $i<$wrem2; $i++)
{
$wrem1 = "0".$wrem1;
}
return $wrem1;
}
?>