1. Клиент
id
name
lastname
add_date
2. Список проэктов
id
id_client
name_project
add_date
Вопрос, как автоматически заставить при добавлении нового проэкта клиенту поле id_client быть равным полю id клиента ?
Если у кого-то был подобный опыт пожалуйста не сочтите за труд оставить коментарий или пример такого запроса. Спасибо.
Спустя 20 минут, 4 секунды (6.10.2008 - 19:35) Ghost написал(а):
mysql_query('insert into tab ....')
mysql_query('select LAST_INSERT_ID() from tab')
mysql_query('select LAST_INSERT_ID() from tab')
Спустя 8 минут, 9 секунд (6.10.2008 - 19:44) ratatue написал(а):
Цитата(Ghost @ 6.10.2008, 20:35) [snapback]50549[/snapback]
mysql_query('insert into tab ....')
mysql_query('select LAST_INSERT_ID() from tab')
mysql_query('select LAST_INSERT_ID() from tab')
Спасибо.

Спустя 2 месяца, 16 дней, 10 часов, 57 минут (23.12.2008 - 07:41) novice написал(а):
Есть 2 таблицы
users и shinobi_info, в юзерс создаётся имя, пароль а в шиноби_инфо доплнительные параметры такие как сила, атака и.т.д.
как сделать что бы при регистрации между этими таблицами была связь, т.е. после того как регистрируется юзер в таблице шиноби_инфо к нему по id вбивались сразу определённые значение сила 1, атака 1 и.т.д.
users и shinobi_info, в юзерс создаётся имя, пароль а в шиноби_инфо доплнительные параметры такие как сила, атака и.т.д.
как сделать что бы при регистрации между этими таблицами была связь, т.е. после того как регистрируется юзер в таблице шиноби_инфо к нему по id вбивались сразу определённые значение сила 1, атака 1 и.т.д.
PHP |
<? |
Спустя 1 час, 9 минут, 50 секунд (23.12.2008 - 08:50) kirik написал(а):
PHP |
$query = "INSERT INTO users |
Спустя 10 минут, 35 секунд (23.12.2008 - 09:01) novice написал(а):
Не записывает, выдаёт ошибку
Warning: mysql_insert_id(): supplied argument is not a valid MySQL-Link resource in
в этой строке
(".mysql_insert_id($result).",'1000','100','1000','100','1','1','1','1','1','1','1','1')");
Warning: mysql_insert_id(): supplied argument is not a valid MySQL-Link resource in
в этой строке
(".mysql_insert_id($result).",'1000','100','1000','100','1','1','1','1','1','1','1','1')");
Спустя 1 минута, 29 секунд (23.12.2008 - 09:02) kirik написал(а):
сори.. просто mysql_insert_id()
Спустя 16 минут, 28 секунд (23.12.2008 - 09:19) novice написал(а):
Да, помогло, спасибо : )
Теперь слеудющии запрос я могу аналогично сделать т.е. есть таблица госпиталь, но в неё уже не нужно добавлять параметры, значит я просто делаю их пустыми '', кроме первого значения ".mysql_insert_id()." Правильно???
$query = mysql_query("INSERT INTO hospital
(id, lifemax, life, chakramax, chakra, time_beg, time_end )
VALUES
(".mysql_insert_id().",'','','','','')");
Теперь слеудющии запрос я могу аналогично сделать т.е. есть таблица госпиталь, но в неё уже не нужно добавлять параметры, значит я просто делаю их пустыми '', кроме первого значения ".mysql_insert_id()." Правильно???
$query = mysql_query("INSERT INTO hospital
(id, lifemax, life, chakramax, chakra, time_beg, time_end )
VALUES
(".mysql_insert_id().",'','','','','')");
Спустя 20 минут, 33 секунды (23.12.2008 - 09:40) novice написал(а):
Цитата (novice @ 23.12.2008 - 06:19) |
Да, помогло, спасибо : ) Теперь слеудющии запрос я могу аналогично сделать т.е. есть таблица госпиталь, но в неё уже не нужно добавлять параметры, значит я просто делаю их пустыми '', кроме первого значения ".mysql_insert_id()." Правильно??? $query = mysql_query("INSERT INTO hospital (id, lifemax, life, chakramax, chakra, time_beg, time_end ) VALUES (".mysql_insert_id().",'','','','','')"); |
Этот вопрос можно проигноривать.
Спустя 3 часа, 22 минуты, 46 секунд (23.12.2008 - 13:02) novice написал(а):
Сделал ещё одну таблицу
SQL |
CREATE TABLE `shinobi_stat` ( `id` int(10) default NULL, `fight` smallint(5) default '0', `win` smallint(5) default '0', `lose` smallint(5) default '0', `money` int(11) default '0', `exp` tinyint(5) unsigned default '0' ) ENGINE=MyISAM DEFAULT CHARSET=cp1251; |
Добавил снизу ещё один запрос
PHP |
$query = mysql_query("INSERT INTO shinobi_info |
Регистрация проходит нормально, данные добавляет, но в таблице shinobi_stat id ставит всё время 0.
Спустя 1 час, 50 минут, 42 секунды (23.12.2008 - 14:53) novice написал(а):
И попутно, сделал в форме авторизации, что бы когда успешно входил, заносил сразу своё имя и ip в отдельную таблицу shinobi_online, что бы в дальнеишем можно было вывести сколько людей в онлайне.
PHP |
if (session_is_registered("valid_user")) |
Всё прекрасно заносится, теперь следующии шаг, надо же что бы при выходе теперь удалялись эти строки с ником. Что бы потом в онлайне не отображался.
У меня есть файл logout.php c такими данными. Добавляю в конец запрос на удаление, не знаю правильно так будет или нет и что прописать под id, WHERE id = '".$_GET['id']."????
<?
// session start в другом файле у меня отрабатывается, так что не обращаите //внимания
session_unregister("valid_user");
session_destroy() ;
mysql_query("DELETE FROM shinobi_online WHERE id = здес id не знаю как прописать");
echo "<html><head> <meta http-equiv='Refresh' content='0; URL=index.php'> </head></html>";
?>
Спустя 4 часа, 10 минут, 14 секунд (23.12.2008 - 19:03) kirik написал(а):
Цитата (novice @ 23.12.2008 - 05:02) |
Регистрация проходит нормально, данные добавляет, но в таблице shinobi_stat id ставит всё время 0. |
Если у тебя несколько INSERT запросов подряд, а IDшник нужен от первого, то записывай его в переменную, чтобы потом юзать в следующих запросах-
PHP |
INSERT .... |
Цитата (novice @ 23.12.2008 - 06:53) |
не знаю правильно так будет или нет |
У тебя юзер из онлайн листа удаляется по id?
Впринципе верно.. только перед тем как вставить переменную ГЕТ в запрос, проверь ее, является-ли она числом..
PHP |
if(!empty($_GET['id']) && is_numeric($_GET['id'])) |
Спустя 1 час, 41 минута, 27 секунд (23.12.2008 - 20:45) Sylex написал(а):
p.s. ."" и скобки необязательны 
novice, нужно переходить на работу с массивом $_SESSION

novice, нужно переходить на работу с массивом $_SESSION
Спустя 10 часов, 13 минут (24.12.2008 - 06:58) novice написал(а):
Да, есть отдельная таблица для юзеров онлайн
SQL |
CREATE TABLE `shinobi_online` ( `id` int(255) NOT NULL auto_increment, `login` varchar(255) NOT NULL, `ip` varchar(16) default NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=27 ; |
И только сеичас заметил, что когда в эту таблицу заносит, то id ставит другие, потом когда перезаходишь то id идёт по нарастающей 21, 22, 23 и.т.д.
Потом в logout.php ставлю удаление строки при выходе
PHP |
session_unregister("valid_user"); |
И не удаляет строку, наверное из за того что при входе id изначально неправильно ставится.
C этим не догнал, после того как в первом запросе вызвали id, потом его записываем в переменную и в следующих запросах просто ставим $id?
PHP |
$query = mysql_query("INSERT INTO shinobi_info |
Спустя 1 час, 51 минута, 16 секунд (24.12.2008 - 08:49) kirik написал(а):
В твоем случае это не прокатит, потому как `id` int(255) NOT NULL auto_increment
Нужно убрать инримет автоматический с этого поля =)
ЗЫ. int(255) ???!
INT Minimum Value (Signed/Unsigned): -2147483648/0, Maximum Value (Signed/Unsigned): 2147483647/4294967295. Итого 10 знаков при учете беззнакового значения. Тебе вполне MEDIUMINT Unsigned (до 16777215) хватит =) Если конечно у тебя не миллион юзеров =))
ЗЫ2. `ip` varchar(16) можно ограничится типом INT Unsigned и записывать айпишки через INET_ATON();
Нужно убрать инримет автоматический с этого поля =)
ЗЫ. int(255) ???!
INT Minimum Value (Signed/Unsigned): -2147483648/0, Maximum Value (Signed/Unsigned): 2147483647/4294967295. Итого 10 знаков при учете беззнакового значения. Тебе вполне MEDIUMINT Unsigned (до 16777215) хватит =) Если конечно у тебя не миллион юзеров =))
ЗЫ2. `ip` varchar(16) можно ограничится типом INT Unsigned и записывать айпишки через INET_ATON();
Спустя 7 часов, 59 минут, 3 секунды (24.12.2008 - 16:48) novice написал(а):
To kirik: В общем плюнул на свои заготовки лажовые, взял готовую здесь на форуме форму регистрации, прикрутил к своему каркасу, переделал заново таблицы и вроде как всё ок, получилось, надеюсь не вылезит опять чего нибудь.
To Sylex: там как раз используется массив $_SESSION
Спасибо за оказанную помощь, копаю пока дальше, ждите новых вопросов : )
To Sylex: там как раз используется массив $_SESSION
Спасибо за оказанную помощь, копаю пока дальше, ждите новых вопросов : )