|
|
|
| можно ли так как нибудь сделать.
Например один запрос записывает в таблицу в определенные столбцы.
$query="insert into addgruz(date, dateoff) values(now(),now()+interval 2 day)";
|
Другой запрос записывает данные в эту же строку в другие столбцы
$query="insert into 'addgruz'(gruz_id, gruz, ves, v, adr, ot, do, tam, tip_kuz, zagr, kolmash, note, kontakt) values('',
'$gruz',
'$ves',
'$v',
'$adr',
'$ot',
'$do',
'$tam',
'$tip_kuz',
'$zagr',
'$kolmash',
'$note',
'$kontakt')";
|
| |
|
|
|
|
|
|
|
для: dina
(28.02.2006 в 09:39)
| | второй запрос должен делать не insert, а update (т.к. строка уже существует). id строки,
вставленной первым запросом, можно узнать функцией LAST_INSERT_ID(). | |
|
|
|
|
|
|
|
для: elenaki
(28.02.2006 в 09:49)
| | пыталась, но не получается
куда писать LAST_INSERT_ID()
if ($date==0) $query="insert into addgruz(gruz_id,date, dateoff) values(last_insert_id(), now(),now()+interval 2 day)";
if ($date==1) $query="insert into addgruz(date, dateoff) values('".date('Y-m-d h:i:s',$_POST['DD_Month'])."','$t'+interval $addday day)";
if ($date==2) $query="insert into addgruz(date, dateoff) values(now(),now()+interval 2 month)";
$query="update into addgruz(gruz_id, gruz, ves, v, adr, ot, do, tam, tip_kuz, zagr, kolmash, note, kontakt) values( 'LAST_INSERT_ID()',
'$gruz',
'$ves',
'$v',
'$adr',
'$ot',
'$do',
'$tam',
'$tip_kuz',
'$zagr',
'$kolmash',
'$note',
'$kontakt')";
mysql_query($query);
echo mysql_error();
|
выдает ошибку
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'into addgruz(gruz_id, gruz, ves, v, adr, ot, do, tam, tip_kuz, | |
|
|
|
|
|
|
|
для: dina
(28.02.2006 в 10:52)
| |
$find_trans_query = mysql_query("select LAST_INSERT_ID()") or die(mysql_error());
$find_trans = mysql_fetch_row($find_trans_query);
$last_id = $find_trans[0];
|
сначала узнаем последний id, потом сделаем update строки с этим id
$query="update into addgruz(gruz_id, gruz, ves, v, adr, ot, do, tam, tip_kuz, zagr, kolmash, note, kontakt) values(
'',
'$gruz',
'$ves',
'$v',
'$adr',
'$ot',
'$do',
'$tam',
'$tip_kuz',
'$zagr',
'$kolmash',
'$note',
'$kontakt')
WHERE id = ".$last_id;
mysql_query($query);
echo mysql_error();
|
| |
|
|
|
|
|
|
|
для: elenaki
(28.02.2006 в 10:56)
| | а функция update так пишется update into ?
или по другому?
UPDATE table_name SET field_name1='var1', field_name2='var2',... WHERE (выражение) | |
|
|
|
|
|
|
|
для: dina
(28.02.2006 в 11:02)
| | ох. не заметила. вот так, конечно, надо:
UPDATE table_name SET field_name1='var1', field_name2='var2',... WHERE (выражение)
|
| |
|
|
|
|
|
|
|
для: elenaki
(28.02.2006 в 11:06)
| | не записывается в таблицу ни чего
$query="insert into addgruz(gruz_id, gruz, ves, v, adr, ot, do, tam, tip_kuz, zagr, kolmash, note, kontakt) values('',
'$gruz',
'$ves',
'$v',
'$adr',
'$ot',
'$do',
'$tam',
'$tip_kuz',
'$zagr',
'$kolmash',
'$note',
'$kontakt')";
$find_trans_query = mysql_query("select LAST_INSERT_ID()") or die(mysql_error());
$find_trans = mysql_fetch_row($find_trans_query);
$last_id = $find_trans[0];
$t=date('Y-m-d h:i:s',$_POST['DD_Month']);
if ($date==0) $query="update addgruz set date=now(), dateoff=now()+interval 2 day where (gruz_id='.$last_id')";
|
| |
|
|
|
|
|
|
|
для: dina
(28.02.2006 в 11:34)
| | первый запрос не выполняется. вы только присваиваете переменной значение, а кто MySQL
команду даст на исполнение запроса? поэтому нет и последнего id и второй запрос не
выполняется, т.к. для него нет нужного условия. второй запрос тоже неплохо бы выполнить :)
mysql_query($query) or die (mysql_error()); - выполнение запроса или выдача ошибки | |
|
|
|
|
|
|
|
для: elenaki
(28.02.2006 в 11:52)
| | Извините, дала не полность код.
Теперь так, но в колонку date и dateoff ничего кроме нулей не пишется
$query="insert into addgruz(gruz_id, gruz, ves, v, adr, ot, do, tam, tip_kuz, zagr, kolmash, note, kontakt) values('',
'$gruz',
'$ves',
'$v',
'$adr',
'$ot',
'$do',
'$tam',
'$tip_kuz',
'$zagr',
'$kolmash',
'$note',
'$kontakt')";
mysql_query($query);
$find_trans_query = mysql_query("select LAST_INSERT_ID()") or die(mysql_error());
$find_trans = mysql_fetch_row($find_trans_query);
$last_id = $find_trans[0];
$t=date('Y-m-d h:i:s',$_POST['DD_Month']);
if ($date==0) $query1="update addgruz set date=now(), dateoff=now()+interval 2 day where (gruz_id='.$last_id')";
if ($date==1) $query1="insert into addgruz(date, dateoff) values('".date('Y-m-d h:i:s',$_POST['DD_Month'])."','$t'+interval $addday day)";
if ($date==2) $query1="insert into addgruz(date, dateoff) values(now(),now()+interval 2 month)";
mysql_query($query1);
echo mysql_error();
|
| |
|
|
|
|
|
|
|
для: dina
(28.02.2006 в 12:19)
| | Записалось, убрала точку
С этими точками, кавычками замучалась, где можно почитать о них. Где и при каких случаях ставить. | |
|
|
|
|
|
|
|
для: dina
(28.02.2006 в 12:23)
| | gruz_id='.$last_id.' - тоже верно. точка тут - символ конкатенации (склеивания) строк. | |
|
|
|
|
|
|
|
для: elenaki
(28.02.2006 в 12:30)
| | Подскажите как тут правильно написать
[code]
dateoff='".$t."'+interval $addday day
[/code
все это работает] | |
|
|
|
|
|
|
|
для: dina
(28.02.2006 в 12:46)
| | dateoff=$t." interval ".$addday." day "; | |
|
|
|
|