обновить ячейку в базе
08.05.2015: Закрыта свободная регистрация на форуме из-за спама. Теперь новые аккаунты утверждает администрация.
Добро пожаловать, Гость. Пожалуйста, Войти или Регистрация.


Сейчас Воскресенье23 November 2024г, 07:23:56 °C

На главную Войти Регистрация
  iNsk.ru - Форум
  Программирование
  Форум по Web-программированию

  обновить ячейку в базе
« предыдущая следующая »
Страницы: [1] Ответ
   Автор  Тема: обновить ячейку в базе (Прочитано 6026 раз(а))
RAMMSTEIN
Администратор
обновить ячейку в базе
« Время отправления: Воскресенье11 February 2006г, 14:41:14  »
Ответить с цитатой Ответ

что-то не получается (знаний ооочень мало) написать строчку, чтобы при обработке скрипта в базе mysql (таблице users, ячейке clicks) обновлялись данные!
сам скрипт уже добавляет новые строки в таблицу click.
$result = MYSQL_QUERY("insert into click (ads_id,site_id,startdate,referal,user) values ('$id','$site','$startdate','$HTTP_REFERER','$user')");
как написать, чтобы при обработке, скрипт считывал данные из ячейки clicks, определённого user_id и прибавлял к нему единицу.
user_id скрипту известен!
вот сам код скрипта:
<?
if (isset($id) && is_numeric($id) && isset($site) && is_numeric($site))
{
/*
$myhost = "localhost";      // host for mysql
$myuser = "root";          // user for mysql
$mypass = "";        // password for mysql
$mydbName = "bb"; // mysql name database
*/
  $check=0;
//  include "myconfig.php";
  MYSQL_CONNECT("localhost","root","") OR DIE("can't connect to database");
  @mysql_select_db("runline") or die("can't select database");
  $result = MYSQL_QUERY("select ads_id from ads where ads_id='$id' limit 1");
  $num = MYSQL_NUMROWS($result);
  $result = MYSQL_QUERY("select site_id from sites where site_id='$site' limit 1");
  if (($num>0 && MYSQL_NUMROWS($result)>0) || $id==0)
  {
    $startdate = date("Y-m-d H:i:s");
    $result = MYSQL_QUERY("insert into click (ads_id,site_id,startdate,referal,user) values ('$id','$site','$startdate','$HTTP_REFERER','$user')");
$result = MYSQL_QUERY("update into users (clicks) set clicks='$clicks+1' where user='$user_id'");
  }
  MYSQL_CLOSE();
}
  if (isset($fwd))
  {
    header("Location: http://".$fwd);
    exit;
  }else{
    header("Location: http://".getenv("SERVER_NAME"));
    exit;
  }
?>
красным, это я пытался что-то сделать, но ничего не получается, не пинайте
можно тут вообще что-нибудь сделать?


Авторизован


[Toyota Carina AT211, 7A-FE, 1997г, зелёный хамелеон] - продана
[Toyota Camry Touring ACV30, 2AZ-FE, 2003г, белый перламутр] - в наличии
Ласка
Модератор форума
Re:обновить ячейку в базе
« Ответ #1 Время отправления: Воскресенье12 February 2006г, 16:46:08  »
Ответить с цитатой Ответ

Паш, да ты в общем всё правильно делал, только в синтаксисе немного ошибся:

$result = MYSQL_QUERY("update users set clicks=clicks+1 where user='$user_id'");

Т.е. не надо писать INTO - просто обновить таблицу, сделать то-то и то-то + условие... И с переменными ты перемудрил...

Наслаждайся, В.А.С...


Авторизован
RAMMSTEIN
Администратор
Re:обновить ячейку в базе
« Ответ #2 Время отправления: Воскресенье13 February 2006г, 22:12:43  »
Ответить с цитатой Ответ

это победил...
спасибо!
ещё вопрос: есть таблица "ads", в ней поля "ads_id" и "user_id"...
каждому "ads_id" может соответствовать свой "user_id"...
как зная "ads_id" узнать "user_id" и придать ему переменную, например, "ref_id"?
пытался с помощью select, но руки кривоваты


Авторизован


[Toyota Carina AT211, 7A-FE, 1997г, зелёный хамелеон] - продана
[Toyota Camry Touring ACV30, 2AZ-FE, 2003г, белый перламутр] - в наличии
raindrop
something alive
Профи
Re:обновить ячейку в базе
« Ответ #3 Время отправления: Воскресенье14 February 2006г, 05:16:13  »
Ответить с цитатой Ответ

Цитата: RAMMSTEIN на Воскресенье13 February 2006г, 22:12:43 
это победил...
спасибо!
ещё вопрос: есть таблица "ads", в ней поля "ads_id" и "user_id"...
каждому "ads_id" может соответствовать свой "user_id"...
как зная "ads_id" узнать "user_id" и придать ему переменную, например, "ref_id"?
пытался с помощью select, но руки кривоваты

Паш, ниччего не понял... SELECT может практически всё... Более того, кроме него инструментов в ощем-то и нету... Так что давай задачу подробнее...


Авторизован

...possible a last drop!
RAMMSTEIN
Администратор
Re:обновить ячейку в базе
« Ответ #4 Время отправления: Воскресенье14 February 2006г, 18:55:04  »
Ответить с цитатой Ответ

Цитата: raindrop на Воскресенье14 February 2006г, 05:16:13 
Паш, ниччего не понял... SELECT может практически всё... Более того, кроме него инструментов в ощем-то и нету... Так что давай задачу подробнее...
есть таблица "ads", в ней поля "ads_id" и "user_id"...
например "ads_id=1 user_id=1", следующая строка базы "ads_id=2 user_id=1", потом "ads_id=3 user_id=2"...
в скрипте фигурирует только "ads_id"!
в общем надо узнать "user_id" и придать ему переменную!
познаний ооочень мало, поэтому не получается!
может тебе образец скрипта приложить?
он у меня в папке "rl", что я тебе показывал, называется ads_show.php


Авторизован


[Toyota Carina AT211, 7A-FE, 1997г, зелёный хамелеон] - продана
[Toyota Camry Touring ACV30, 2AZ-FE, 2003г, белый перламутр] - в наличии
RAMMSTEIN
Администратор
Re:обновить ячейку в базе
« Ответ #5 Время отправления: Воскресенье30 April 2006г, 01:25:41  »
Ответить с цитатой Ответ

снова о этом скрипте:
как сделать, чтобы вот эти действия происходили только тогда, когда в базе уже есть ip и сопоставленный ему id ссылки?
в общем так: при открытии скрипт должен узнать ip кликающего, проверить нет ли такого в таблице, если есть, то сопоставить его с id ссылки, если они совпадают, не производить никаких действий, если не совпадают, то произвести их...
общий вид таблицы: ads_id,ip
например ads_id=1 а ip=127.0.0.1, то для ссылки "1" никаких действий не нужно, для других ads_id необходимо!
$result = MYSQL_QUERY("update users set clicks=clicks-1 where user_id='$u'");
$result = MYSQL_QUERY("update users set clicks=clicks+0.5 where user_id='$r'");


Авторизован


[Toyota Carina AT211, 7A-FE, 1997г, зелёный хамелеон] - продана
[Toyota Camry Touring ACV30, 2AZ-FE, 2003г, белый перламутр] - в наличии
raindrop
something alive
Профи
Re:обновить ячейку в базе
« Ответ #6 Время отправления: Воскресенье30 April 2006г, 10:07:29  »
Ответить с цитатой Ответ

Для того, что бы определить наличие данного ip в БД сначала сделай запрос вида:

SELECT id FROM твоя_таблица WHERE user_ip = $твой_ip

потом просто проверь наличие результата. если таковой имеет место быть, значит запись с таким ip существует, тогда выполняй тедействия, кторые требуеются в этом случае, если результата запроса нет (0 записей), то выполняй другой набор действий.
т.е. по сути всё сведется к условной конструкции

if (есть записи)
{ ... }
else
{ ... }



Авторизован

...possible a last drop!
Страницы: [1] Ответ 
« предыдущая следующая »
Перейти на форум: 



Друзья: iNsk.ru, MyAutoGames.RU - дрифт, челленджи, гонки, драг, мотокросс, ралли

iNsk.ru - Форум | Powered by YaBB SE Rus
© 2002-2024, Интернет Новосибирск.


Rambler's Top100