обновление переменных в базе данных

S
На сайте с 14.05.2008
Offline
30
708

Всем здравствуйте, столкнулся я вот с какой проблемой.

С формы данные пересылаются в файл, с которого идёт добавление в базу данных,

к примеры переменные:

$user=shim

$cost=1000

$zakaz=video

по такому коду:

$result = mysql_query ("INSERT INTO zakazy (user,cost,zakaz) VALUES ('$user', '$cost','$zakaz')");


if ($result == 'true') {echo "Добавил";}
else {echo "<p>нет</p>";}

Но мне надо, чтоб в следующий раз когда, с формы пошлют данные и переменная $user будет равнa shim, то чтоб данные не заново записывались, а к перемноый $zakaz, в которой написано video, добавлялась другая надпись, и было примерно так:

$zakaz = video audio.

как так сделать?

Видео тренинги для Всех (http://www.video-trenings.ru) - Большой выбор видео тренгов
topy
На сайте с 28.03.2006
Offline
142
#1

Зачем Вам база данных???

Структурируйте информацию так чтобы одному значению соответствовало одно поле БД... Иначе у вас теряется смысл использования БД....

А по вашему вопросу нужно SELECT`ом считать все что есть в поле zakaz и дописать в эту переменную то, что вам нужно туда записать и сделать обновить информацию оператором UPDATE... Но прежде всего пересмотреть структуру БД.

Новости коротко и ясно (https://subnews.ru)
S
На сайте с 14.05.2008
Offline
30
#2

Я понял что надо Селектом вытащить и прибавить к нему. но я в примере не пойму как это изобразить

Alipapa
На сайте с 01.02.2008
Offline
234
#3

Вы хотите нарушить правила нормализации баз данных. Более корректно как раз будет создание новой записи. Для таких нарушений должны быть веские причины. Они у вас есть?

Биржа фриланса - простая и удобная (http://kwork.ru/ref/2541)
S
На сайте с 27.08.2008
Offline
211
#4

Наверное, так:

UPDATE zakazy SET zakaz=CONCAT(zakaz,'$zakaz') WHERE user='$user'

Alipapa
На сайте с 01.02.2008
Offline
234
#5

Так, конечно, можно. Но все-таки корректнее будет, если в базе будет отдельными строками - любая обработка данных будет проще. Особенно, если программный модуль будет расширяться. А выходные формы уже любые можно делать.

S
На сайте с 14.05.2008
Offline
30
#6

Спасибо всем вам

shimyk добавил 22.11.2008 в 16:19

Вот ещё один вопросик:

я сделал так как вы подсказали, для каждой переменной zakaz сделал отдельные строки.

Всё получилось, всё хорошо работает,

но в каждой их этих строк разное значение переменной cost

в одной строчке она равна 1000, а в другой 2000.

Как сделать чтоб они сплюсовались, и вывелись как 3000

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий