Помогите написать запрос - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > Полезное / Common > Программирование / Programming > PHP

PHP Форум как для начинающих программистов на PHP так и для профессионалов этого дела. Если нужно создать скрипт, функцию и т.д, но не знаете как, спросите у нас и мы вам подскажем. Здесь вы найдете примеры скриптов которые вы сможете использовать на сайтах своих серверов (онлайн, регистрация, семь печатей, топ игроков). Так же много книг и статей.

Ответ
Опции темы
Непрочитано 09.10.2011, 19:26   #1
Изгнанные

Автор темы (Топик Стартер) Помогите написать запрос

Дана таблица character_subclasses:



Итак смотрим на последнюю колонку "class_index" - здесь идут саб-класы по порядку у одного чара.

Что мне нужно сделать?
Необходимо все единцы("1") в колонки class_index, у повторяющихся charId установить на "+1...". Как сделать такой запрос? Весь день голову уже ломаю)
Gambit_J вне форума Отправить сообщение для Gambit_J с помощью ICQ Отправить сообщение для Gambit_J с помощью Skype™ Ответить с цитированием
Непрочитано 09.10.2011, 19:43   #2
Аватар для L2CCCP

По умолчанию Re: Помогите написать запрос

Думаю легче было за пол дня переписать в ручную.
L2CCCP вне форума Отправить сообщение для L2CCCP с помощью ICQ Отправить сообщение для L2CCCP с помощью MSN Отправить сообщение для L2CCCP с помощью Skype™ Ответить с цитированием
Непрочитано 09.10.2011, 19:53   #3
Эксперт

По умолчанию Re: Помогите написать запрос

тут одним запросом не обойдется

в раздел рынок
быстрее и проще

или http://rutracker.org/forum/viewtopic.php?t=3709220
часть 2 - основы работы с базой
4 и 6 пункт

там как раз в примере циклы
Place вне форума Ответить с цитированием
Непрочитано 09.10.2011, 20:24   #4
Изгнанные

Автор темы (Топик Стартер) Re: Помогите написать запрос

L2CCCP, хех, а если 5к+ записей? Как ты себе это представляеш(сверка)?


Place, Ну я так примерно и предпологал, что без цикла ни как(( Просто думал. мало ли мож чето незнаю)
Gambit_J вне форума Отправить сообщение для Gambit_J с помощью ICQ Отправить сообщение для Gambit_J с помощью Skype™ Ответить с цитированием
Непрочитано 09.10.2011, 20:34   #5
Аватар для DreamCast
Пользователь

По умолчанию Re: Помогите написать запрос

чет типа того

$all = mysql_num_rows(mysql_query("SELECT class_idexp FROM character_subclasses WHERE charid=1111"));
$i = 1;

while ($i <= $all) {
mysql_query('UPDATE character_subclasses SET class_index = $i WHERE charid=111 AND class_index=1');
}
DreamCast вне форума Ответить с цитированием
Непрочитано 09.10.2011, 20:37   #6
Изгнанные

Автор темы (Топик Стартер) Re: Помогите написать запрос

Цитата:
Сообщение от DreamCast Посмотреть сообщение
чет типа того

$all = mysql_num_rows(mysql_query("SELECT class_idexp FROM character_subclasses WHERE charid=1111"));
$i = 1;

while ($i <= $all) {
mysql_query('UPDATE character_subclasses SET class_index = $i WHERE charid=111 AND class_index=1');
}
Проблема в том, что чар не один) Попробуй твой запрос селект развернуть в цикл и задать все это в массив для вхиле. Сообщу об успехах. Спасибо за подсказку.
Gambit_J вне форума Отправить сообщение для Gambit_J с помощью ICQ Отправить сообщение для Gambit_J с помощью Skype™ Ответить с цитированием
Непрочитано 09.10.2011, 20:38   #7
Аватар для DreamCast
Пользователь

По умолчанию Re: Помогите написать запрос

на самом деле можно сделать и средствами SQL.
например многосоставный запрос или переменные в sql.

Добавлено через 55 секунд
Цитата:
Сообщение от php_mysql Посмотреть сообщение
Проблема в том, что чар не один) Попробуй твой запрос селект развернуть в цикл и задать все это в массив для вхиле. Сообщу об успехах. Спасибо за подсказку.
в задании про множество чаров инфы не было)

Последний раз редактировалось DreamCast; 09.10.2011 в 20:38. Причина: Добавлено сообщение
DreamCast вне форума Ответить с цитированием
Непрочитано 09.10.2011, 20:43   #8
Изгнанные

Автор темы (Топик Стартер) Re: Помогите написать запрос

Цитата:
Сообщение от DreamCast Посмотреть сообщение
в задании про множество чаров инфы не было)
Тада я бы пошел по стопам 2 поста в теме )))

Цитата:
Сообщение от DreamCast Посмотреть сообщение
на самом деле можно сделать и средствами SQL.
например многосоставный запрос или переменные в sql.

Добавлено через 55 секунд
да я тоже так думал, но все же учитываю множественность чаром без цикла кажись не обойдеться. В любом случае придеться записывать все в массивы, а тут тока цикл выполнит их полность.
Gambit_J вне форума Отправить сообщение для Gambit_J с помощью ICQ Отправить сообщение для Gambit_J с помощью Skype™ Ответить с цитированием
Непрочитано 09.10.2011, 20:52   #9
Аватар для DreamCast
Пользователь

По умолчанию Re: Помогите написать запрос

нет возможности проверить, возможно, так будет работать тоже:
UPDATE character_subclasses SET class_index=(class_index+1)
WHERE charid=111
AND class_index=1
AND class_idexp=(SELECT class_idexp FROM character_subclasses WHERE charid=1111);

Добавлено через 2 минуты
точнее так)
UPDATE character_subclasses SET class_index=(SELECT MAX(class_index) FROM character_subclasses WHERE charid=1111)+1
WHERE charid=111
AND class_index=1
AND class_idexp=(SELECT class_idexp FROM character_subclasses WHERE charid=1111);

Последний раз редактировалось DreamCast; 09.10.2011 в 20:54. Причина: Добавлено сообщение
DreamCast вне форума Ответить с цитированием
Непрочитано 09.10.2011, 20:58   #10
Изгнанные

Автор темы (Топик Стартер) Re: Помогите написать запрос

У меня наплыв идей проихошел)) ща делаю)
Gambit_J вне форума Отправить сообщение для Gambit_J с помощью ICQ Отправить сообщение для Gambit_J с помощью Skype™ Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запрос в БД cjhrxS Lineage II 12 05.08.2011 23:01
Статья о том как можно написать по русски с цветами без всяких програм FlooderaS Клиент 4 05.07.2010 11:17
помогите написать скрипты на сайт MaRiO Документация 6 24.03.2010 12:39
SQL запрос Xrust Lineage II 5 04.08.2009 14:09
Как правильно написать новый модуль под ребилион? zasov Движки сайтов (CMS) 0 09.12.2008 18:40


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 11:49. Часовой пояс GMT +3.

Вверх