Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.07.2010, 23:36   #1
webber9989
dimgunkin
Форумчанин
 
Аватар для webber9989
 
Регистрация: 06.05.2010
Сообщений: 112
По умолчанию Обновление информации [бд mysql]

Суть заключается в следующем:

Есть переменная $server['map'] которая выводит название карты сервера, нужно сделать диаграмму (это часть уже сделана мной, остался php скрипт) которая будет выводить самые популярные карты, 5 штук, так вот, я знаю как организовать обновление инфы в БД, но тут такая проблема, все названия карт в БД я не впишу, очень долго и не все карты я знаю, нужно сделать так:

обновление информации (добавление +1 к имеющемуся числу) должно происходить автоматически, после того, когда в переменной $server['map'] меняется значение, но перед этим значение переменно $server['map'] должно проверяться на совпадение , то есть если есть такое название в бд, то не нужно добавлять, в противно случае, должно происходить добавление названия...

Вот вообщем такая вот штука, помогите плз чем кто сможет.... хотя бы по строчке, плз
mail: dimgunkin@gmail.com
skype: dimgunkin
icq: 684-795-212
webber9989 вне форума Ответить с цитированием
Старый 17.07.2010, 03:17   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Например как-то так:
Есть таблица table_maps с такими полями:
map_id - id карты
map_name - имя карты (UNIQUE) - уникальное значение(!!!)(нужно в БД установить UNIQUE для этого поля)
map_counter - счётчик чего-то,что определяет популярность карты(просмотры,заходы,ets)

Тогда SQL:
PHP код:
$server['map'] = 'some_name';
$query 'INSERT INTO `table_maps` 
             SET `map_name` = ' 
$server['map'] . ', 
                 `map_counter` = 1 
             ON DUPLICATE KEY UPDATE `map_counter` = `map_counter`+1'

Вкратце - если при добавлении нового элемента в таблицу происходит попытка дублирования уникального(!!!) элемента в таблице(т.е. такое значение `map_name` уже есть),тогда добавление не происходит,а происходит увеличение значения счётчика `map_counter` на 1.
Подробнее о запросе INSERT INTO ... ON DUPLICATE KEY UPDATE
Andkorol вне форума Ответить с цитированием
Старый 17.07.2010, 11:36   #3
webber9989
dimgunkin
Форумчанин
 
Аватар для webber9989
 
Регистрация: 06.05.2010
Сообщений: 112
По умолчанию

немного непонятно, просто мне нужно уяснить 2 момента:

1) Автоматическое обновление (то есть добавление +1) когда переменная $server['map'] меняеться....
2) Добавление поле в БД с названием $server['map'] если такого ещё не существует...
mail: dimgunkin@gmail.com
skype: dimgunkin
icq: 684-795-212
webber9989 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обновление и вывод информации из файла в Delphi Николай ПН Помощь студентам 1 26.04.2010 23:04
обновление в блоге - Работа с MySQL в С++ с использованием библиотеки mysql++ Pblog Обсуждение статей 0 16.08.2009 16:00
обновление в блоге - Получение информации о загрузке системы. Pblog Обсуждение статей 0 08.01.2008 18:30