powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Совсем запутался... Помогите!
2 сообщений из 2, страница 1 из 1
Совсем запутался... Помогите!
    #32338659
King Araya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем!
У меня есть следующая таблица (registr) с данными:
id | code | lastname | firstname | card

Для добавления данных используется следующая форма:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<tr>
<td align= "right" >
<form action= "lisa.php"  method= "post" >Code:</td>
<td><input type= "text"  name= "code"  size= "30 " maxlength= "11 "></td>
</tr>
<tr>
<td align= "right" >Last name:</td>
<td><input type= "text"  name= "lastname"  size= "30 " maxlength= "40 "></td>
</tr>
<tr>
<td align= "right" >First name:</td>
<td><input type= "text"  name= "firstname"  size= "30 " maxlength= "40 "></td>
</tr>
<tr>
<td colspan= "2 " align= "center" ><input type= "submit"  name= "submit"  value= "Add" > <input type= "reset"  value= "Cansel" ></form></td>
</tr>

Задача в том, чтобы при добавлении данных в зависимости от того, на какую букву начинается фамилия (lastname), автоматически поставить следующий по порядку номер карты (card) - то есть у фамилий, начинающихся с буквы "А", карты начинаются с 1 и т.д., с буквы "В" снова с 1 и т.д....
Скрипт должен выбрать максимальное имеющееся значение карты из карт фамилий, начинающихся на первую введенную в форме букву фамилии, увеличить это значение на 1 и поставить введенные данные и получившийся номер карты в базу данных.
Скрипт такой:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
if ($submit)
{
echo '<tr><td colspan="2" align="center">';
$mustbe = array('code', 'lastname', 'firstname'); 
$error= ""; 
for($i=0 ; $i<sizeof($mustbe);$i++) 
	{  
    if (!strlen($HTTP_POST_VARS[$mustbe[$i]]))  
    $error = $mustbe[$i];  
	}  
if(strlen($error)) 
	{ 
    echo '<p class="error">Error!</p>Please fill all form fields.';  
	} 
else 
	{  
$lastname = addslashes($_POST['lastname']);
$firstname = addslashes($_POST['firstname']);
$code = addslashes($_POST['code']);
$number_q = mysql_query("SELECT MAX(card) AS number FROM registr WHERE LEFT(lastname, 1 ) = LEFT(\ "$lastname\" , 1 ) AND lastname < \ "$lastname\"  ") or die();
if(!mysql_num_rows($number_q)) 
{
$number = 1 ;
}
else {
    $rida = mysql_fetch_array($number_q);
    $number = $rida["number "] + 1 ;
}
mysql_query("INSERT INTO registr (id, code, lastname, firstname, card) VALUES ( 0 ,\ "$code\" ,\ "$lastname\" ,\ "$firstname\" ,\ "$number\" )") or die();
	echo 'Data added successfully. Card number is &number.';
	}
echo '</td></tr>';
}

При использовании этого скрипта данные добавляются, но номер карты ставится всегда 1 и не увеличивается :(
Помогите, пожалуйста, разобраться.
Извините за спутанность изложения :)
...
Рейтинг: 0 / 0
Совсем запутался... Помогите!
    #32339971
King Araya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проблема решена!
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Совсем запутался... Помогите!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]