Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: SQL запросы

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Описание: помощь по запросам в бд.
Mr.KreDo
Отправлено: 18 Апреля, 2011 - 18:13:55
Post Id



Гость


Покинул форум
Сообщений всего: 65
Дата рег-ции: Апр. 2011  
Откуда: Старый Оскол, Россия


Помог: 0 раз(а)




Всем Привет.

Возможно ли в одной строке выполнить несколько SQL запросов ?

Например есть в базе данных строка ( balance ) то есть Баланс, и эта строка находится в другой таблице.
Нужно что бы данные заказа заносились в базу, и отнималась нужная сумма при заказе,

пример кода, который заносит в базу данные при заказе.
Возможно ли добавить что бы отнималась нужная сумма при заказе ?

PHP:
скопировать код в буфер обмена
  1. if(isset($_POST[goorder])){
  2. $query=mysql_query("INSERT INTO order_adm (date, time, id_user, type, zakaz, spok) VALUES ('$_POST[date]', '$_POST[time]', '$_SESSION[user_admin_sp]', '$_POST[type]', '$_POST[zakaz]', '$_POST[spok]')",$db);
  3. $mess="<center>Заявка добавлена!</center>";
  4. }else
  5. {
  6. $mess="";
  7. }


На многих сайтах это осуществлено, например сайт www.forteam.ru и т.д.

Мне не лень это самому сделать но я нуждаюсь в вашей помощи.
 
 Top
Jampire
Отправлено: 18 Апреля, 2011 - 18:44:48
Post Id



Гость


Покинул форум
Сообщений всего: 106
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




_POST заноси в переменную и до запроса отнимай


-----
не будите во мне зверя!!! он и так не высыпается...
 
 Top
Mr.KreDo
Отправлено: 18 Апреля, 2011 - 18:50:31
Post Id



Гость


Покинул форум
Сообщений всего: 65
Дата рег-ции: Апр. 2011  
Откуда: Старый Оскол, Россия


Помог: 0 раз(а)




Jampire пишет:
_POST заноси в переменную и до запроса отнимай


Можешь пример написать ? Закатив глазки
 
 Top
Mr.KreDo
Отправлено: 18 Апреля, 2011 - 22:05:54
Post Id



Гость


Покинул форум
Сообщений всего: 65
Дата рег-ции: Апр. 2011  
Откуда: Старый Оскол, Россия


Помог: 0 раз(а)




кто нибудь знает, как сделать данную идею ?
 
 Top
VokpAllk
Отправлено: 19 Апреля, 2011 - 00:45:48
Post Id


Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Апр. 2011  


Помог: 0 раз(а)




Можешь в транзакцию заключить свой апдейт и инсерт последующий.
А так:
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. $sql = mysql_query("SELECT `balance` FROM `balance` WHERE `chto_to tam` = '' ");
  4.  
  5. // достаем и обрабатываем - получаем новый баланс = $balance // апдейтим
  6.  
  7. $upd = mysql_query("UPDATE `tab` SET `balance` = '".$balance."' WHERE `chto_to_tam` = '' LIMIT 1 ");
  8.  
  9. // вносишь свой инсерт
  10. {
  11.  
  12.    $value1 = mysql_real_escape_string(trim($_POST['value1']));
  13.    $inquiry = mysql_query("INSERT INTO `tab` SET `value1` = '".$value1."' ");
  14. }
  15. // Остальное уже лень писать - сам доработай
  16.  


Кстати, подсказка: никогда так не делай $mess="<center>Заявка добавлена!</center>";
Во-первых, запрос может и не выполниться, а у тебя сразу показывает, что добавлена, безапелляционно.
Во-вторых, выходи через header(Location: 'http://www.sait.ru'); exit(); а там уже показывай.
Это так.. к слову. И не принимай мой код за готовый Подмигивание

(Отредактировано автором: 19 Апреля, 2011 - 00:57:47)

 
 Top
Shtorm_sai
Отправлено: 19 Апреля, 2011 - 00:56:22
Post Id



Частый гость


Покинул форум
Сообщений всего: 135
Дата рег-ции: Янв. 2011  
Откуда: Новосибирск, Россия


Помог: 0 раз(а)




На сколько я понимаю тебе нужно в один sql запрос объеденить несколько. И на сколько я знаю это возможно если запросы делают одно действие. SELECT, UPDATE,INSERT...
Хотя могу ошибаться. Почитай про JOIN.
 
 Top
VokpAllk
Отправлено: 19 Апреля, 2011 - 00:59:40
Post Id


Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Апр. 2011  


Помог: 0 раз(а)




На сколько я помню, select и insert одновременно не выполнить....
А JOIN, тоже на сколько помню, используется только для объединения таблиц при выборке, т.е. SELECT запросе...

(Отредактировано автором: 19 Апреля, 2011 - 01:00:49)

 
 Top
Shtorm_sai
Отправлено: 19 Апреля, 2011 - 01:05:41
Post Id



Частый гость


Покинул форум
Сообщений всего: 135
Дата рег-ции: Янв. 2011  
Откуда: Новосибирск, Россия


Помог: 0 раз(а)




Вот и я про тоже. Что не выполнить. На счёт JOIN тоже точно не скажу. Сам пользовал его только в SELECT. Но факт что, из INSERT к примеру можно сделать сложный запрос, так же как и из DELETE. Но это всё теория, практики практически 0, так что сори если ошибаюсь.
 
 Top
OrmaJever
Отправлено: 19 Апреля, 2011 - 01:06:02
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Mr.KreDo отправь 2 запроса и не парься.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Mr.KreDo
Отправлено: 19 Апреля, 2011 - 12:28:16
Post Id



Гость


Покинул форум
Сообщений всего: 65
Дата рег-ции: Апр. 2011  
Откуда: Старый Оскол, Россия


Помог: 0 раз(а)




OrmaJever пишет:
Mr.KreDo отправь 2 запроса и не парься.


OrmaJever, под скажешь , есть ссылка где можно почитать про это ?
 
 Top
VokpAllk
Отправлено: 19 Апреля, 2011 - 13:27:42
Post Id


Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Апр. 2011  


Помог: 0 раз(а)




 
 Top
Mr.KreDo
Отправлено: 23 Апреля, 2011 - 16:59:45
Post Id



Гость


Покинул форум
Сообщений всего: 65
Дата рег-ции: Апр. 2011  
Откуда: Старый Оскол, Россия


Помог: 0 раз(а)




Есть запрос который должен редактировать нужную строку в базе

CODE (SQL):
скопировать код в буфер обмена
  1. $result2 = mysql_query("UPDATE FROM users_adm (balance) VALUES ('$_POST[balance]')",$db);


$_POST[spok] - передается число посредством _POST
$_POST[balance] - баланс пользователя

как правильно сделать что бы отнималась нужная цифра ?
 
 Top
OrmaJever
Отправлено: 23 Апреля, 2011 - 17:10:41
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Mr.KreDo вы при написании сткриптов выводите ошибки? Вам не кто не говорил что индексы масивов нужно писать в кавычках? А теперь по делу
Mr.KreDo пишет:
как правильно сделать что бы отнималась нужная цифра ?

какая цыфра и от чего отнималась?


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Mr.KreDo
Отправлено: 23 Апреля, 2011 - 17:49:53
Post Id



Гость


Покинул форум
Сообщений всего: 65
Дата рег-ции: Апр. 2011  
Откуда: Старый Оскол, Россия


Помог: 0 раз(а)




OrmaJever пишет:
Mr.KreDo вы при написании сткриптов выводите ошибки? Вам не кто не говорил что индексы масивов нужно писать в кавычках? А теперь по делу


OrmaJever

В $_POST[spok] находится сумма, пример ниже

PHP:
скопировать код в буфер обмена
  1. echo "<tr>";
  2. echo "<td class='tbl'>Период:<span style='color: #FF0000'>*</span></td>";
  3. echo "<td class='tbl'><select name='spok' size=1>";
  4. echo "<option value='100' selected>15 дней (100 руб )</option>";
  5. echo "<option value='200'>1 Месяц (200 руб )</option>";
  6. echo "<option value='400'>2 Месяц (400 руб )</option>";
  7. echo "<option value='800'>3 Месяц (800 руб )</option>";
  8. echo "</select></td>";
  9. echo "</tr>";


а $_POST[balance] - баланс пользователя

берется это отсуда

PHP:
скопировать код в буфер обмена
  1.  
  2. $query_search=mysql_query("SELECT * FROM users_adm WHERE login='$_SESSION[user_admin_sp]' ORDER BY id ASC");
  3. $query_list=mysql_fetch_array($query_search);
  4.  
  5. echo "<input type='hidden' name='balance' value='$query_list[balance]'/>";

(Отредактировано автором: 24 Апреля, 2011 - 19:24:56)

 
 Top
Mr.KreDo
Отправлено: 24 Апреля, 2011 - 19:25:06
Post Id



Гость


Покинул форум
Сообщений всего: 65
Дата рег-ции: Апр. 2011  
Откуда: Старый Оскол, Россия


Помог: 0 раз(а)




Нужно что бы от баланса пользователя отнималась цифра которая выбрана в select
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB