[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сложение в БД
CitRus
Подскажите пожалуйста,как сложить данные из переменных в php к данным из MySQL.

mysql_query("UPDATE table SET `var` + '{$var}' ");

примерно так?



Спустя 3 минуты, 43 секунды (17.09.2012 - 17:57) TranceIT написал(а):
UPDATE table
SET var = (SELECT var FROM table WHERE ...) + $var

Спустя 8 минут, 34 секунды (17.09.2012 - 18:06) CitRus написал(а):
а если таких операций примерно 5-7 каждый раз так прописывать? ну или хотябы
забить все эти строки в отдельные переменные,примерно так:


<?php

$sql1= (SELECT var1 FROM table WHERE ...) + $var1

$sql2
= (SELECT var2 FROM table WHERE ...) + $var2

//и т.д и потом:

mysql_query("UPDATE table
SET var1 = '
{$sql1}', var2 = '{sql2}', ... ");

?>


?


Спустя 10 часов, 59 минут (18.09.2012 - 05:05) FatCat написал(а):
Цитата (CitRus @ 17.09.2012 - 18:54)
UPDATE table SET `var` + '{$var}'

Вроде бы
UPDATE table SET var =(var+{$var})

Спустя 2 часа, 36 минут, 31 секунда (18.09.2012 - 07:42) Michael написал(а):
Цитата (TranceIT @ 17.09.2012 - 16:57)
UPDATE table
SET var = (SELECT var FROM table WHERE ...) + $var

во дает ... laugh.gif

Цитата (FatCat)
Вроде бы

да, так. ну и WHERE обычно еще в таких запросах фигурирует

Спустя 11 часов, 16 минут, 32 секунды (18.09.2012 - 18:58) CitRus написал(а):
спасибо всем!

Спустя 1 час, 7 минут, 5 секунд (18.09.2012 - 20:05) inpost написал(а):
`var` = `var` + 1

Спустя 10 минут, 21 секунда (18.09.2012 - 20:15) CitRus написал(а):
Цитата (inpost @ 18.09.2012 - 20:05)
`var` = `var` + 1

вроде так намного правильнее

Спустя 23 минуты, 45 секунд (18.09.2012 - 20:39) 123456 написал(а):
Цитата (CitRus @ 18.09.2012 - 17:15)
Цитата (inpost @ 18.09.2012 - 20:05)
`var` = `var` + 1

вроде так намного правильнее

Прокатит, Только если тип столбца `var` будет числовым

Спустя 20 минут, 13 секунд (18.09.2012 - 20:59) inpost написал(а):
123456
И? Если бы спросили соединить строки, то делалось это иначе.
А никто в здравом уме числа не будет пихать в varchar smile.gif

Спустя 15 минут, 27 секунд (18.09.2012 - 21:15) 123456 написал(а):
inpost
У меня был такой случай, не заметил что varchar назначил в место int, а потом думал, чего не прибавляется... wink.gif

Спустя 7 минут, 19 секунд (18.09.2012 - 21:22) TranceIT написал(а):
Цитата (Michael @ 18.09.2012 - 06:42)
во дает ... 

Ну я так понял, что там какие-то специфические условия.
Если все настолько просто, то естественно запрос намного проще =)

Спустя 12 минут, 35 секунд (18.09.2012 - 21:35) inpost написал(а):
123456
Лишь по неопытности, что лишний раз подчеркнуло тебе, что ошибка у тебя в структуре и ты её исправил.

Спустя 19 часов, 52 минуты, 59 секунд (19.09.2012 - 17:28) CitRus написал(а):
извините,но что-то у меня не получилось. попробую объяснить понятнее: в таблице user есть столбец который имеет формат INT и в таблице item_list тоже есть такой столбец. числа из таблицы item_list надо прибавить и к столбцу в user.

я сначала делал вывод инфы через mysql_fetch_array,выводило ошибку про неизвестного операнда, потом вспомнил что массивами нельзя так манипулировать. ну а как быть? как сложить такие данные? mysql_result надо использовать,не?

Спустя 1 минута, 58 секунд (19.09.2012 - 17:30) CitRus написал(а):
поспешил я как-то с благодарностями,не попробовав ваши советы. ну сам виноват,не объяснил сразу подробнее...

Спустя 15 минут, 8 секунд (19.09.2012 - 17:45) inpost написал(а):
CitRus
Может стоит показать код? Если из одной таблице к другой, то выше вариант уже показывали с подзапросом.

Спустя 2 часа, 48 минут, 3 секунды (19.09.2012 - 20:33) CitRus написал(а):
где здесь ошибка? что-то в бд не заносятся строки ...

<?php

session_start();

include 'conf.php';

include 'check_online.php';

$query = "SELECT * FROM `item_list`";

$sql = mysql_query($query);

$name = $_SESSION['name'];

$id = $_SESSION['id'];


?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta
http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>
Искатель</title>
</head>

<body>
<hr />
<H2>
Искатель</H2>
<hr />
<?php


while($data = mysql_fetch_array($sql)) {

echo "<img src='$data[item_img]' /><br />
<a href='iskatel.php?buy="
.$data['il_id']."'>
[купить за "
.$data['i_cost']." железа]</a>
<a href='iskatel.php?info="
.$data['il_id']."'>
[инфо]</a><br /><hr >"
;


if (substr_count($_SERVER['QUERY_STRING'],"buy") != 0) {


$il_id = substr($_SERVER['QUERY_STRING'], 4);

$item_info = mysql_fetch_array(mysql_query("SELECT * FROM `item_list`
WHERE `il_id` = '
{$il_id}'"));

$owner = $_SESSION['name'];

$pos = 1;

$type = $item_info['item_type'];

$it_name = $item_info['item_name'];

$it_img = $item_info['item_img'];

$atk = $item_info['atk'];

$def = $item_info['def'];

$sta = $item_info['sta'];

$mask= $item_info['mask'];

$acc = $item_info['acc'];

$life = $item_info['life'];

mysql_query("INSERT INTO `items`
(`il_id`, `item_owner`, `item_pos`,
`item_type`, `item_name`, `item_img`,
`atk`, `def`, `sta`, `mask`, `acc`, `life`)
VALUES('
{$il_id}', '{$owner}', '{$pos}', '{$type}',
'
{$it_name}', '{$it_img}', '{$atk}', '{$def}',
'
{$sta}', '{$mask}', '{$acc}', '{$life}',");


$r_current = ("SELECT `rubl` FROM `user` WHERE `user_id` = '{$id}'");

$r_cost = ("SELECT `r_cost` FROM `item_list WHERE `il_id` = '{$il_id}'");

$i_current = ("SELECT `iron` FROM `user` WHERE `user_id` = '{$id}'");

$i_cost = ("SELECT `i_cost` FROM `item_list WHERE `il_id` = '{$il_id}'");

mysql_query("UPDATE `user` SET `iron` = '{$i_current}' - '{$i_cost}'
AND `rubl` = '
{$r_current}' - '{$r_cost}'
WHERE `user_id` = '
{$id}'");

}

}


?>

<a
href = "main.php">На базу</a>
</body>
</html>

Спустя 55 минут, 38 секунд (19.09.2012 - 21:29) inpost написал(а):
mysql_query() or die(mysql_error());

Спустя 10 часов, 4 минуты, 23 секунды (20.09.2012 - 07:33) Michael написал(а):
'{$sta}', '{$mask}', '{$acc}', '{$life}')");

И почитай про mysql_real_escape_string
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.