Ayola.net
Новости: В связи с обилием спама, постинг на форуме временно закрыт.

Для связи с поддержкой используйте тикеты в панели управления.
 
*
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь. Март 29, 2017, 00:50:41


Войти


Страниц: [1]
  Печать  
Автор Тема: Как искать в БД  (Прочитано 3527 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Sergiy
Старший Новичёк
**

Карма: 5
Сообщений: 95


Отец Сергий


Просмотр профиля WWW
« : Май 23, 2008, 17:21:17 »

В БД GAME есть таблица FLEETS с полями  [fleet_id], [fleet_end_galaxy], [fleet_end_planet], [fleet_end_time] и т.д.
Как найти в ней строку c полями у которых одновременно выполнябтся условия, например: [fleet_end_galaxy] = $FleetRow['fleet_end_galaxy'] AND [fleet_end_time] < time () и т.д.
И присвоить массиву $Fleet эту строку.
?
Записан

Astraller™
Маэстро
*****

Карма: 151
Сообщений: 1389

Вселенское зло


Просмотр профиля WWW
« Ответ #1 : Май 23, 2008, 17:39:24 »

Код:
<?php
$Fleet
=mysql_fetch_array(mysql_query("SELECT `fleed_id`, `fleet_end_galaxy`, `fleet_end_planet`, `fleet_end_time` FROM `FLEETS` WHERE `fleet_end_galaxy` = '".$FleetRow['fleet_end_galaxy']."' AND `fleet_end_time` < '".time()."'"));
?>
Записан

Гамлета здесь больше нет. Осталась только тень.
Sergiy
Старший Новичёк
**

Карма: 5
Сообщений: 95


Отец Сергий


Просмотр профиля WWW
« Ответ #2 : Май 24, 2008, 13:00:32 »

Спасибо, щас проверю!
Вопрос - после SELECT нужно перечислить все поля таблицы или только те, для которых проверяем условия?
И ещё - что будет, если в таблице окажется несколько строк с полями, удовлетворяющими этим условиям?
Записан

Astraller™
Маэстро
*****

Карма: 151
Сообщений: 1389

Вселенское зло


Просмотр профиля WWW
« Ответ #3 : Май 24, 2008, 13:04:07 »

Вопрос - после SELECT нужно перечислить все поля таблицы или только те, для которых проверяем условия?
После SELECT перечислить только те поля которые нужны.
И ещё - что будет, если в таблице окажется несколько строк с полями, удовлетворяющими этим условиям?
Ничего.
Записан

Гамлета здесь больше нет. Осталась только тень.
Sergiy
Старший Новичёк
**

Карма: 5
Сообщений: 95


Отец Сергий


Просмотр профиля WWW
« Ответ #4 : Май 24, 2008, 13:33:30 »

И ещё - что будет, если в таблице окажется несколько строк с полями, удовлетворяющими этим условиям?
Ничего.
$Fleet будет = какой строке из них ?
Записан

vitaliy75
Новичёк
*

Карма: 0
Сообщений: 26


Просмотр профиля
« Ответ #5 : Май 24, 2008, 14:28:50 »

Первой попавшейся! Если надо перебрать все - можно делать цикл:

Код:
<?php
$qryrez
=mysql_query("SELECT `fleed_id`, `fleet_end_galaxy`, `fleet_end_planet`, `fleet_end_time` FROM `FLEETS` WHERE `fleet_end_galaxy` = '".$FleetRow['fleet_end_galaxy']."' AND `fleet_end_time` < '".time()."'");

while ( (
$Fleet=mysql_fetch_array($qryrez))!=false) {
 
// Что тут с ним надо делать 
}
mysql_free_result($qryrez);
?>

Можно в запрос order by поставить, например такое

Код:
<?php
$Fleet
=mysql_fetch_array(mysql_query("SELECT `fleed_id`, `fleet_end_galaxy`, `fleet_end_planet`, `fleet_end_time` FROM `FLEETS` WHERE `fleet_end_galaxy` = '".$FleetRow['fleet_end_galaxy']."' AND `fleet_end_time` < '".time()."' ORDER BY `fleed_id` DECS"));
?>

даст запись с максимальным fleed_id.
Записан
Страниц: [1]
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.13 | SMF © 2006, Simple Machines LLC

2003-2008 © ООО "Инфотур" - Бесплатный хостинг Ayola.net
Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Страница сгенерирована за 0.058 секунд. Запросов: 17.