Ru-MaNGOS

Вернуться   Ru-MaNGOS > Документация > Новичкам

Важная информация

Новичкам Информация для всех новичков, новичкам рекомендуется задавать свои вопросы здесь

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.10.2011, 23:33   #41
NarkoHeal
Гость
 
Сообщений: n/a
По умолчанию

Я так понял нужно удалить строки в которых id меньше чем число 'a' но больше чем 'b' ведь так я понял?
Код:
delete from users WHERE id<'a' and id>'b';
  Ответить с цитированием
Старый 07.10.2011, 00:12   #42
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от blizzpvp Посмотреть сообщение
Я так понял нужно удалить строки в которых id меньше чем число 'a' но больше чем 'b' ведь так я понял?
Код:
delete from users WHERE id<'a' and id>'b';
нее а и б это массивы
для пхп используем array_intersect
$result = implode(",", array_intersect($a,$b));
и запрос DELETE FROM TABLE WHERE id NOT IN ($result)
только сначала проверь на SELECT * FROM TABLE WHERE id NOT IN ($result)
  Ответить с цитированием
Старый 21.10.2011, 16:39   #43
lovepsone
Ученый
 
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
lovepsone Хрен знает что...lovepsone Хрен знает что...
По умолчанию

Вот еще вопрос! Пишу форум и наткнулся на одну проблему которую решить не могу.
Структура одной таблицы
Код:
CREATE TABLE `wcf_forums_threads` (
  `forum_id` int(11) default NULL,
  `thread_id` int(11) unsigned NOT NULL auto_increment,
  `user_id` int(11) default NULL,
  `thread_name` longtext,
  `thread_postcount` smallint(5) unsigned NOT NULL default '0',
  PRIMARY KEY  (`thread_id`),
  KEY `thread_postcount` (`thread_postcount`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
структура другой таблицы
Код:
CREATE TABLE `wcf_forums_posts` (
  `forum_id` int(11) default NULL,
  `thread_id` int(11) default NULL,
  `posts_id` int(11) unsigned NOT NULL auto_increment,
  `user_id` int(11) default NULL,
  `posts_text` longtext,
  PRIMARY KEY  (`posts_id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

Я выполняю запрос
Код:
$add_thread = mysql_query("INSERT INTO `wcf_forums_threads` 
(`forum_id`,`user_id`,`thread_name`,`thread_postcount`)
VALUES 
('$forum_id','".$_SESSION['user_id']."','".$_POST['name_thread']."','1')");
Затем я выполняю запрос
Код:
$add_post = mysql_query("INSERT INTO `wcf_forums_posts` 
(`forum_id`,`thread_id`,`user_id`,`posts_text`) 
VALUES 
('$forum_id','Вот здесь должен быть ид с прошлого запроса!Как мне его определить не вызывая команду Select?','".$_SESSION['user_id']."','".$_POST['thread']."')");
Или может как то под запрос написать ?
__________________
sql-language.ru

Последний раз редактировалось lovepsone; 21.10.2011 в 16:42.
lovepsone вне форума   Ответить с цитированием
Старый 21.10.2011, 16:44   #44
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

http://php.net/manual/ru/function.mysql-insert-id.php
  Ответить с цитированием
Старый 21.10.2011, 16:58   #45
lovepsone
Ученый
 
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
lovepsone Хрен знает что...lovepsone Хрен знает что...
По умолчанию

Цитата:
Сообщение от Minimajack Посмотреть сообщение
Спасибо буду знать что это функция
Код:
mysql_insert_id();
__________________
sql-language.ru
lovepsone вне форума   Ответить с цитированием
Старый 28.10.2011, 14:41   #46
lovepsone
Ученый
 
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
lovepsone Хрен знает что...lovepsone Хрен знает что...
По умолчанию

вот еще такой вопрос!
Тут на форуме реализована такая фишка
допустим в разделе коммиты мангоса [11623] Implement...
То есть я хочу сделать запрос на базу который будет извлекать не все символы а только часть. У меня получилось вот что:
Код:
SELECT SUBSTRING(thread_subject,0,5) FROM `forums_threads` WHERE `thread_lastpostid`='".$section['forum_lastpostid']."' LIMIT 1
сам запрос 100% проходит, так как он мне показывает другие данные правильно, но вот название самой темы нет, то есть не показывает значения колонки
Код:
thread_subject
!
Использую такой скрипт
Код:
$query_lastpost = mysql_query("SELECT SUBSTRING(thread_subject,0,5) FROM `forums_threads` WHERE `thread_lastpostid`='".$section['forum_lastpostid']."' LIMIT 1") or trigger_error(mysql_error());
$lastpost = mysql_fetch_assoc($query_lastpost);

echo"<td width='21%' class='page'>&nbsp;&nbsp;".$lastpost['thread_subject']."</td>";
структура таблицы
Код:
CREATE TABLE `forums_threads` (
  `forum_id` int(11) default NULL,
  `thread_id` int(11) unsigned NOT NULL auto_increment,
  `thread_subject` longtext,
  `thread_author` int(11) default NULL,
  `thread_views` int(11) default NULL,
  `thread_lastpostid` int(11) unsigned NOT NULL default '0',
  `thread_lastuser` int(11) unsigned NOT NULL default '0',
  `thread_postcount` int(11) unsigned NOT NULL default '0',
  PRIMARY KEY  (`thread_id`),
  KEY `thread_postcount` (`thread_postcount`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
В чем проблема?Я думаю что нужна функция mysq или php. Если так то подскажите.

Альтернативный вариант работает на php
Код:
substr(текст,с какого символа начинать,каким символом закончить)
но все же как обойтись запросам?
__________________
sql-language.ru

Последний раз редактировалось lovepsone; 28.10.2011 в 15:58.
lovepsone вне форума   Ответить с цитированием
Старый 28.10.2011, 16:27   #47
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

Код:
$query_lastpost = mysql_query("SELECT SUBSTRING(thread_subject,0,5)  AS thread_subject FROM `forums_threads` WHERE `thread_lastpostid`='".$section['forum_lastpostid']."' LIMIT 1") or trigger_error(mysql_error());
  Ответить с цитированием
Старый 31.01.2012, 17:17   #48
lovepsone
Ученый
 
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
lovepsone Хрен знает что...lovepsone Хрен знает что...
По умолчанию

Буду очень благодарен если вы мне все объясните!
Есть вот такой запрос
Код:
$resul = mysql_query('SELECT `colum1` FROM `table` WHERE `colum2`= ?d',  $a);
Объясните что тут делают символы ?d и к чему тут переменная $a
__________________
sql-language.ru
lovepsone вне форума   Ответить с цитированием
Старый 31.01.2012, 17:25   #49
Lordronn
Умный
 
Регистрация: 17.06.2010
Сообщений: 397
Сказал(а) спасибо: 58
Поблагодарили 55 раз(а) в 38 сообщениях
Lordronn Скоро придёт к известности
По умолчанию

это форматирование строки
Lordronn вне форума   Ответить с цитированием
Старый 31.01.2012, 17:28   #50
ghostpast
Пользователь
 
Регистрация: 07.03.2010
Сообщений: 46
Сказал(а) спасибо: 11
Поблагодарили 17 раз(а) в 11 сообщениях
ghostpast На верном пути
По умолчанию

Цитата:
Сообщение от lovepsone Посмотреть сообщение
Буду очень благодарен если вы мне все объясните!
Есть вот такой запрос
Код:
$resul = mysql_query('SELECT `colum1` FROM `table` WHERE `colum2`= ?d',  $a);
Объясните что тут делают символы ?d и к чему тут переменная $a
значение переменной $a подставляется в параметр ?d
ghostpast вне форума   Ответить с цитированием
Старый 31.01.2012, 18:29   #51
lovepsone
Ученый
 
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
lovepsone Хрен знает что...lovepsone Хрен знает что...
По умолчанию

Цитата:
Сообщение от ghostpast Посмотреть сообщение
значение переменной $a подставляется в параметр ?d
Большое спасибо!
__________________
sql-language.ru
lovepsone вне форума   Ответить с цитированием
Старый 31.01.2012, 22:28   #52
Evgeniy
Пользователь
 
Регистрация: 06.01.2012
Сообщений: 98
Сказал(а) спасибо: 12
Поблагодарили 33 раз(а) в 21 сообщениях
Evgeniy На верном пути
По умолчанию

Цитата:
Сообщение от ghostpast Посмотреть сообщение
значение переменной $a подставляется в параметр ?d
не полностью. Значение подставляется и интерпретируется как целое число.
если дбсимпл конечно
Evgeniy вне форума   Ответить с цитированием
Старый 01.02.2012, 04:15   #53
Кот ДаWINчи
Умный
 
Аватар для Кот ДаWINчи
 
Регистрация: 07.03.2010
Адрес: Северный Урал (60°сш, 60°вд)
Сообщений: 330
Сказал(а) спасибо: 82
Поблагодарили 399 раз(а) в 120 сообщениях
Записей в дневнике: 30
Кот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человек
Отправить сообщение для Кот ДаWINчи с помощью ICQ Отправить сообщение для Кот ДаWINчи с помощью Skype™
По умолчанию

Цитата:
Сообщение от Evgeniy Посмотреть сообщение
не полностью. Значение подставляется и интерпретируется как целое число.
если дбсимпл конечно
и где вы увидели дбсимпл? я вижу стандартную функцию пхп - mysql_query()
Кот ДаWINчи вне форума   Ответить с цитированием
Старый 01.02.2012, 09:24   #54
Evgeniy
Пользователь
 
Регистрация: 06.01.2012
Сообщений: 98
Сказал(а) спасибо: 12
Поблагодарили 33 раз(а) в 21 сообщениях
Evgeniy На верном пути
По умолчанию

Цитата:
Сообщение от Кот ДаWINчи Посмотреть сообщение
и где вы увидели дбсимпл? я вижу стандартную функцию пхп - mysql_query()
ну название ни о чем не говорит...проверьте по параметрам. Явно что обертка над чем то...
так коректней: как и дбсимпл возможно использует ?d - для подстановки целого числа.
Evgeniy вне форума   Ответить с цитированием
Старый 01.02.2012, 10:05   #55
lovepsone
Ученый
 
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
lovepsone Хрен знает что...lovepsone Хрен знает что...
По умолчанию

Цитата:
Сообщение от Кот ДаWINчи Посмотреть сообщение
и где вы увидели дбсимпл? я вижу стандартную функцию пхп - mysql_query()
Вы правы тут php + mysql!
__________________
sql-language.ru
lovepsone вне форума   Ответить с цитированием
Старый 01.02.2012, 14:37   #56
Evgeniy
Пользователь
 
Регистрация: 06.01.2012
Сообщений: 98
Сказал(а) спасибо: 12
Поблагодарили 33 раз(а) в 21 сообщениях
Evgeniy На верном пути
По умолчанию

Цитата:
Сообщение от lovepsone Посмотреть сообщение
Вы правы тут php + mysql!
Зачем кричать? ООП - и уже не пхп?
Вот описание стандартной функции:
Код:
resource mysql_query ( string $query [, resource $link_identifier ] )
если фукцию mysql_query не переопределить - приведенный код не адекватный( значение ?d - воспринимается как строка, $a - ресурс БД).
Evgeniy вне форума   Ответить с цитированием
Старый 01.02.2012, 15:39   #57
KiriX
Умный
Старожил
 
Аватар для KiriX
 
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
KiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человек
По умолчанию

А между тем Evgeniy прав...
KiriX вне форума   Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрос на мозг DeusModus Корзина 11 25.07.2010 02:24
[запрос] Баланс на БГ Nordway Запросы 4 09.05.2010 18:49
[Запрос] Рандом БГ GriffonHeart Запросы 4 25.04.2010 08:58


Текущее время: 01:15. Часовой пояс GMT +3.


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot