Не понятное сообщение выдает система при заведении нового сотрудника
Версия 1.9.1
Column count doesn't match value count at row 1
INSERT INTO cb_users VALUES ('', 'Эдинер Анна Михайловна', '', 'ediner', '698d51a19d8a121ce581499d7b701668', '', curdate(), 0, '11')
Что это значит
И еще:
Завел нового сотрудника. Раньше данные из этой таблицы автоматически попадали в "Пользователи", сейчас - нет, почему?
Не понятное сообщение выдает система
Автор Rezo, 16 нояб. 2010 11:28
В теме одно сообщение
#1
Отправлено 16 Ноябрь 2010 - 11:28
#2
Отправлено 02 Декабрь 2010 - 11:00
Для решения данной проблемы необходимо вручную заменить вычисление в таблице "Наши сотрудники" на следующий код:
Для замены необходимо зайти в Настройки -> Конфигурация -> таблицы категории Сотрудники -> вычисления таблицы Наши сотрудники
// Автообновление пользователей
$table = data_table("Наши сотрудники","id={ID}");
if ($table['Логин']) {
// Определяем id группы
$sqlQuery = "SELECT id FROM ".GROUPS_TABLE." WHERE name='".$table['Группа доступа']."'";
$result = mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
if ($row = mysql_fetch_array($result)) // если нашли - сохраняем
{
$group_id = $row['id'];
}
else // иначе возвращаем старую по возможности
{
$sqlQuery = "SELECT * FROM ".USERS_TABLE." WHERE login='".$table['Логин']."'";
$result = mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
if ($row = mysql_fetch_array($result))
{
echo "<script>alert('Выбранной группы доступа не существует. Будет сохранена текущая группа.')</script>";
$group_id = $row['group_id'];
$sqlQuery = "SELECT name FROM ".GROUPS_TABLE." WHERE id='".$row['group_id']."'";
$result = mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
if ($row = mysql_fetch_array($result)) $table['Группа доступа'] = $row['name'];
update_table($table,"Наши сотрудники","id={ID}");
}
else
{
echo "<script>alert('Выбранной группы доступа не существует. Пользователь не будет добавлен. Введите существующую группу.')</script>";
$group_id = 0;
}
}
if ($group_id)
{
$sqlQuery = "SELECT * FROM ".USERS_TABLE." WHERE login='".$table['Логин']."'";
$result = mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
if ($row = mysql_fetch_array($result))
{
$sqlQuery = "UPDATE ".USERS_TABLE." SET fio='".$table['ФИО']."', e_mail='".$table['E-mail']."', login='".$table['Логин']."', ".(($table['Пароль']!="******")?("password='".md5($table['Пароль'])."', "):"")."group_id='".$group_id."' WHERE id='".$row['id']."'";
mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
}
else
{
// Предупреждение об ограничении числа пользователей
$sqlQuery = "SELECT * FROM ".USERS_TABLE." WHERE arc=0 ORDER BY id";
$result = mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
if (mysql_num_rows($result)>=$config['max_users'])
{
echo "<script>alert('Вы можете добавить в программу не более ".$config['max_users']." пользователей. Новый пользователь не будет добавлен.')</script>";
$group_id = 0;
}
else
{
$sqlQuery = "INSERT INTO ".USERS_TABLE." VALUES ('', '".$table['ФИО']."', '".$table['E-mail']."', '".$table['Логин']."', '".md5($table['Пароль'])."', '', curdate(), 0, '".$group_id."', 'russian')";
mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
$new_user_id = mysql_insert_id();
// добавляем поля для информации о непрочитанных записях и активности напоминаний
$sqlQuery = "SELECT id FROM ".TABLES_TABLE;
$result = mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
while ($row = mysql_fetch_array($result))
{
$table_id = $row['id'];
$sqlQuery = "ALTER TABLE ".DATA_TABLE.$table_id." ADD u".$new_user_id." TINYINT(1)";
mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
$sqlQuery = "UPDATE ".DATA_TABLE.$table_id." SET u".$new_user_id."=0";
mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
$sqlQuery = "SELECT id FROM ".TIPS_TABLE." WHERE table_id=".$table_id;
$result2 = mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
while ($row2 = mysql_fetch_array($result2))
{
$sqlQuery = "ALTER TABLE ".DATA_TABLE.$table_id." ADD r".$row2['id']."_u".$new_user_id." INT(11)";
mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
$sqlQuery = "UPDATE ".DATA_TABLE.$table_id." SET r".$row2['id']."_u".$new_user_id."=0";
mysql_query($sqlQuery) or user_error(mysql_error()."<br>".$sqlQuery."<br>", E_USER_ERROR);
}
}
}
}
$table['Пароль'] = "******";
update_table($table,"Наши сотрудники","id={ID}");
}
}
elseif ($table['Пароль'] or $table['Группа доступа'])
{
echo "<script>alert('Не введен логин. Пользователь не будет добавлен.')</script>";
$group_id = 0;
}
if (!$group_id) {
$table['Логин'] = "";
$table['Пароль'] = "";
$table['Группа доступа'] = "";
update_table($table,"Наши сотрудники","id={ID}");
}
Для замены необходимо зайти в Настройки -> Конфигурация -> таблицы категории Сотрудники -> вычисления таблицы Наши сотрудники
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных













