[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проверка введённого в форме текста с текстом в баз
Страницы: 1, 2
nevai
Такой вопрос.
Существует таблица в мускуле юзер профиль
В таблице есть столбец баннер, в настройках профиля юзер может вставить код.
За вставку нового кода нужно вычесть с рейтинга баллы.
Баллы вычитает, но вот только за каждым сохранением.
Нужно вычесть только тогда когда текст в введённом поле код баннера не соответствует тексту в таблице базы данных.

Как это реализовать подскажите пожалуйста!
Игорь_Vasinsky
кога юзер добавляет код или меняет - ты делаешь UPDATE - поверяй - если изменение прошло т.е. http://php.net/manual/ru/function.mysql-affected-rows.php - то убавляй в БД баллы - тем же UPDATE

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
nevai
Обновляю конечно упдатом но как проверить? если пользователь ввел другойкод
Игорь_Vasinsky

если будет тот же код - то обновления не будет уже на уровне mysql

Цитата
http://php.net/manual/ru/function.mysql-affected-rows.php

если будет обновление - она покажет.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
nevai
Вот пример кода выполняющего функции

public function getRate($id)
{
$sql = "SELECT rating FROM cms_users WHERE id = $id";
$result = $this->inDB->query($sql);

if(!$this->inDB->num_rows($result))
{
return FALSE;
}

$object = $this->inDB->fetch_assoc($result);
return $object['rating'];
}


public function updateRate($id,$user_id,$sum)
{
$squm = -$sum;
$ip = $_SERVER['HTTP_X_REAL_IP'];
$sql = "INSERT INTO cms_ratings (`item_id`,`points`,`ip`,`target`,`user_id`,`pubdate`)
VALUES ('
$id','$squm','$ip','promo','$user_id',NOW())";
$result = $this->inDB->query($sql);
$sql = "UPDATE cms_users SET `rating` = `rating`$squm WHERE id = $user_id";
$result = $this->inDB->query($sql);
}



Этоо проверка;


$deys = 30;
$sum = $deys;
$rate = $model->getRate($inUser->id);


if($rate < $sum)
{
cmsCore::addSessionMessage('Недостаточно рейтинга вы не можете разместить баннер!', 'error');
}
else if(mb_strlen($banner) != $banner)
{
cmsCore::addSessionMessage('Материал уже размешён!', 'error');
}

else
{
if($id)
{

$model->updateRate($id,$inUser->id,$sum);
}
else
{
cmsCore::addSessionMessage('Ошибка БД:'.mysql_error(), 'error');
}
}


Уже не знаю что делать.
Быстрый ответ:

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