1 (изменено: Steam, 2012-10-09 23:49:10)

Тема: php+mysql система бонусов

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

пхп скрипт:

mysql_connect($bd_host,$bd_name,$bd_pass) OR DIE("Не могу создать соединение"); 
if (empty($_POST['usernamefrm']) && empty($_POST['$mnfrst'])) {
  echo "";exit;}   
mysql_select_db($bdicn) OR DIE("Не могу создать соединение");

//получаем из формы введенные данные, usernamefrm - ник; mnfrst - введенные бонусы(money first)
$usernamefrm = $_REQUEST["usernamefrm"]; 
$mnfrst = $_REQUEST["mnfrst"]; 

$query1  = BD("SELECT balance FROM iсonomy WHERE username='$usernamefrm'") or die(mysql_error()); //берём из бд уже существующее значение
$result1 = mysql_fetch_array($query1);// выполняем запрос собственно
$mnscnd = $result1  ['balance']; 
$mnthrd = '"$mnfrst" + "$mnscnd"'; //складываем оба значения

$query2 = BD("UPDATE iconomy SET balance = '".$mnthrd."' WHERE username = '".$usernamefrm."'") or die(mysql_error()); //вставляем в таблицу сумму того что уже было и того, что мы ввели в форму
$result2 = mysql_query($query2) or die(mysql_error()); 
 if ($result !==0){ echo("<div class=\"inform-block\"><div class=\"alert alert-sucsess\">Пользователю $usernamefrm добавлено $mnfrst бонусов</div></div>");} //если результат true то пишем что бонусы добавлены
mysql_close();

таблица имеет вид :
|username  | balance
+--------------+-----------
|   steam     |   123

был бы признателен если вы покажете более рациональные методы добавления значения к уже существующему и указать ошибки если есть, ибо никаких изменений не происходит sad

2

Re: php+mysql система бонусов

Судя по тому что я вижу, ничего работать и не должно. Откуда взята функция BD() мне не понятно.

Пример соединения с БД и получения результатов: http://lv.php.net/manual/ru/function.my … -assoc.php

Лишние пробелы:

$mnscnd = $result1  ['balance'];

В любом случае, при выполнении скрипта вы получаете ошибки, по ним и ориентируйтесь.

3

Re: php+mysql система бонусов

поправил пробел, убрал BD()
но ошибок нету(

4

Re: php+mysql система бонусов

Steam сказал:

поправил пробел, убрал BD()
но ошибок нету(

Так не пойдет. Посмотрите пример по ссылке, которую я дал выше и попробуйте с ее помощью сделать скрипт выбирающий данные из БД. Как только разберетесь - дальше будет проще.

5

Re: php+mysql система бонусов

увидел что не приходит первоначальное значение, думаю что ошибка тут:

        $query1  = "SELECT balance FROM iConomy WHERE username='".$usernamefrm."'";
        $result1 = mysql_fetch_array($query1) or die(mysql_error());

а точнее в написании

 username='".$usernamefrm."'

6

Re: php+mysql система бонусов

всё решил сам проблему, просто загадил код проверками)