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 :: Увеличение значения переменной в БД

 PHP.SU

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


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

> Без описания
gadalov
Отправлено: 16 Декабря, 2013 - 10:13:47
Post Id


Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Июнь 2013  


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




Здравствуйте, прошу о помощи. Не знаю как сделать так, чтобы через PHP увеличить значение переменной в таблице БД. Дело в том, что мне нужно изменить это значение у пользователя который запустил этот PHP в столбце (Например rating). Как это реализовать?
 
 Top
makbeth
Отправлено: 16 Декабря, 2013 - 10:40:05
Post Id


Новичок


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


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




Напишите более развернуто о проблеме. Желательно добавить список полей в Вашей таблице и указать на то поле, значение которого вы собираетесь менять. Еще было бы здорово, если Вы укажете по какому условию это значение должно меняться (что должен сделать пользователь что бы поменялось значение определенной строки).
 
 Top
gadalov
Отправлено: 16 Декабря, 2013 - 11:49:54
Post Id


Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Июнь 2013  


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




makbeth пишет:
Напишите более развернуто о проблеме. Желательно добавить список полей в Вашей таблице и указать на то поле, значение которого вы собираетесь менять. Еще было бы здорово, если Вы укажете по какому условию это значение должно меняться (что должен сделать пользователь что бы поменялось значение определенной строки).


Понял вас. Итак, мне нужно прибавить к целочисленному значению переменной в таблице например 1, с помощью php (т.е. считать её в переменную, прибавить к ней 1 и поместить обратно в бд, но уже новое число), это значение находится в столбце rating, но я не могу определить в какой оно строке. Т.е. у меня есть 30 пользователей. У каждого своя строка со значениями. Мне нужно определить как-то строку в которой я должен внести изменения. Я предположил, что можно как-то определить какой из пользователей запустил скрипт (без авторизации эта страница недоступна). Как это сделать?

(Отредактировано автором: 16 Декабря, 2013 - 11:51:09)

 
 Top
Panoptik
Отправлено: 16 Декабря, 2013 - 11:57:08
Post Id



Постоянный участник


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


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




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

ну и соответственно ваше задание решится само собой. будете облновлять таблицу и в условии укажите тот самый id


-----
Just do it
 
 Top
gadalov
Отправлено: 16 Декабря, 2013 - 12:02:21
Post Id


Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Июнь 2013  


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




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

ну и соответственно ваше задание решится само собой. будете облновлять таблицу и в условии укажите тот самый id


Да да, у каждого пользователя есть свой id. Но как мне определить с помощью PHP, пользователь с каким id запустил скрипт?? Или как его считать из сессии??
 
 Top
Panoptik
Отправлено: 16 Декабря, 2013 - 12:06:43
Post Id



Постоянный участник


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


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




а как у вас пользователь авторизируется? я же не умею угадывать код

если у вас при авторизации id пользователя назначается как-то так

то соответственно получать его нужно с точностью до наоборот
PHP:
скопировать код в буфер обмена
  1. $currentUserId = $_SESSION['userId'];


-----
Just do it
 
 Top
gadalov
Отправлено: 16 Декабря, 2013 - 12:09:32
Post Id


Новичок


Покинул форум
Сообщений всего: 15
Дата рег-ции: Июнь 2013  


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




Panoptik пишет:
а как у вас пользователь авторизируется? я же не умею угадывать код

если у вас при авторизации id пользователя назначается как-то так

то соответственно получать его нужно с точностью до наоборот
PHP:
скопировать код в буфер обмена
  1. $currentUserId = $_SESSION['userId'];


Да, да, забыл добавить.. Всё работает на Moodle.. Сейчас буду искать в коде что-то похожее.
(Добавление)
Panoptik пишет:
а как у вас пользователь авторизируется? я же не умею угадывать код

если у вас при авторизации id пользователя назначается как-то так

то соответственно получать его нужно с точностью до наоборот
PHP:
скопировать код в буфер обмена
  1. $currentUserId = $_SESSION['userId'];


Вот код блока авторизации.. Что посоветуете???

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. class block_login extends block_base {
  4.     function init() {
  5.         $this->title = get_string('pluginname', 'block_login');
  6.     }
  7.  
  8.     function applicable_formats() {
  9.         return array('site' => true);
  10.     }
  11.  
  12.     function get_content () {
  13.         global $USER, $CFG, $SESSION;
  14.         $wwwroot = '';
  15.         $signup = '';
  16.  
  17.         if ($this->content !== NULL) {
  18.             return $this->content;
  19.         }
  20.  
  21.         if (empty($CFG->loginhttps)) {
  22.             $wwwroot = $CFG->wwwroot;
  23.         } else {
  24.             // This actually is not so secure ;-), 'cause we're
  25.             // in unencrypted connection...
  26.             $wwwroot = str_replace("http://", "https://", $CFG->wwwroot);
  27.         }
  28.  
  29.         if (!empty($CFG->registerauth)) {
  30.             $authplugin = get_auth_plugin($CFG->registerauth);
  31.             if ($authplugin->can_signup()) {
  32.                 $signup = $wwwroot . '/login/signup.php';
  33.             }
  34.         }
  35.         // TODO: now that we have multiauth it is hard to find out if there is a way to change password
  36.         $forgot = $wwwroot . '/login/forgot_password.php';
  37.  
  38.         if (empty($CFG->xmlstrictheaders) and !empty($CFG->loginpasswordautocomplete)) {
  39.             $autocomplete = 'autocomplete="off"';
  40.         } else {
  41.             $autocomplete = '';
  42.         }
  43.  
  44.         $username = get_moodle_cookie();
  45.  
  46.         $this->content->footer = '';
  47.         $this->content->text = '';
  48.  
  49.         if (!isloggedin() or isguestuser()) {   // Show the block
  50.  
  51.             $this->content->text .= "\n".'<form class="loginform" id="login" method="post" action="'.get_login_url().'" '.$autocomplete.'>';
  52.  
  53.             $this->content->text .= '<div class="c1 fld username"><label for="login_username">'.get_string('username').'</label>';
  54.             $this->content->text .= '<input type="text" name="username" id="login_username" value="'.s($username).'" /></div>';
  55.  
  56.             $this->content->text .= '<div class="c1 fld password"><label for="login_password">'.get_string('password').'</label>';
  57.  
  58.             $this->content->text .= '<input type="password" name="password" id="login_password" value="" '.$autocomplete.' /></div>';
  59.  
  60.             $this->content->text .= '<div class="c1 btn"><input type="submit" value="'.get_string('login').'" /></div>';
  61.  
  62.             $this->content->text .= "</form>\n";
  63.  
  64.             if (!empty($signup)) {
  65.                 $this->content->footer .= '<div><a href="'.$signup.'">'.get_string('startsignup').'</a></div>';
  66.             }
  67.             if (!empty($forgot)) {
  68.                 $this->content->footer .= '<div><a href="'.$forgot.'">'.get_string('forgotaccount').'</a></div>';
  69.             }
  70.         }
  71.  
  72.         return $this->content;
  73.     }
  74. }
  75.  
  76.  
  77.  
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB