LINUX.ORG.RU

История изменений

Исправление MOPKOBKA, (текущая версия) :

Сделай отдельные поля где можно вводить дату, одно поле поиска это неудобно, и тогда:

$sQuerySelect = "SELECT * FROM `users` WHERE 1=1"
$sQueryFilter = "";
$sQueryOrder = "ORDER BY `users`.`id`";

if (!empty($_GET['birthday'])) {
  $sBirthdaySql = date('Y-m-d H:i:s', strtotime($_GET['birthday'])); 
  $sQueryFilter .= " AND `users`.`birthday` = '$sBirthdaySql'";
}

if (!empty($_GET['user_id'])) {
  $idUserSql = (int)$_GET['user_id'];
  $sQueryFilter .= " AND `users`.`id` = $idUserSql";
}

$rsQuery = pg_query($conndb, "$sQuerySelect $sQueryFilter $sQueryOrder");

Если ты все же хочешь одно поле поиска для всего, то мне подсказать трудно, не имел дела с PostgreSQL, но вроде бы оно делается так:

if (!empty($_GET['search'])) {
  $sSearchSql = pg_escape_string($dbconn, $_GET['search']);
  $sQueryFilter .= " 
    AND to_tsvector(
      `users`.`name` || `users`.`surname` || `users`.`birthday`
    ) @@ to_tsquery('$sSearchSql')
  ";
}

Я думаю информации по MySQL намного больше, может тебе сначала поизучать PHP+MySQL, а потом когда станут понятны базовые операции, перейти к PG?

Ну и лучше сначала проверить твои запросы без PHP, а потом уже программировать. Для MySQL есть удобный phpmyadmin.

Исправление MOPKOBKA, :

Сделай отдельные поля где можно вводить дату, одно поле поиска это неудобно, и тогда:

$sQuerySelect = "SELECT * FROM `users` WHERE 1=1"
$sQueryFilter = "";
$sQueryOrder = "ORDER BY `users`.`id`";

if (!empty($_GET['birthday'])) {
  $sBirthdaySql = date('Y-m-d H:i:s', strtotime($_GET['birthday'])); 
  $sQueryFilter .= " AND `users`.`birthday` = '$sBirthdaySql'";
}

if (!empty($_GET['user_id'])) {
  $nUserIdSql = (int)$_GET['user_id'];
  $sQueryFilter .= " AND `users`.`id` = $nUserIdSql";
}

$rsQuery = pg_query($conndb, "$sQuerySelect $sQueryFilter $sQueryOrder");

Если ты все же хочешь одно поле поиска для всего, то мне подсказать трудно, не имел дела с PostgreSQL, но вроде бы оно делается так:

if (!empty($_GET['search'])) {
  $sSearchSql = pg_escape_string($dbconn, $_GET['search']);
  $sQueryFilter .= " 
    AND to_tsvector(
      `users`.`name` || `users`.`surname` || `users`.`birthday`
    ) @@ to_tsquery('$sSearchSql')
  ";
}

Я думаю информации по MySQL намного больше, может тебе сначала поизучать PHP+MySQL, а потом когда станут понятны базовые операции, перейти к PG?

Ну и лучше сначала проверить твои запросы без PHP, а потом уже программировать. Для MySQL есть удобный phpmyadmin.

Исправление MOPKOBKA, :

Сделай отдельные поля где можно вводить дату, одно поле поиска это неудобно, и тогда:

$sQuerySelect = "SELECT * FROM `users` WHERE 1=1"
$sQueryFilter = "";
$sQueryOrder = "ORDER BY `users`.`id`";

if (!empty($_GET['birthday'])) {
  $sBirthdaySql = date('Y-m-d H:i:s', strtotime($_GET['birthday'])); 
  $sQueryFilter .= " AND `users`.`birthday` = $sBirthdaySql";
}

if (!empty($_GET['user_id'])) {
  $nUserIdSql = (int)$_GET['user_id'];
  $sQueryFilter .= " AND `users`.`id` = $nUserIdSql";
}

$rsQuery = pg_query($conndb, "$sQuerySelect $sQueryFilter $sQueryOrder");

Если ты все же хочешь одно поле поиска для всего, то мне подсказать трудно, не имел дела с PostgreSQL, но вроде бы оно делается так:

if (!empty($_GET['search'])) {
  $sSearchSql = pg_escape_string($dbconn, $_GET['search']);
  $sQueryFilter .= " 
    AND to_tsvector(
      `users`.`name` || `users`.`surname` || `users`.`birthday`
    ) @@ to_tsquery('$sSearchSql')
  ";
}

Я думаю информации по MySQL намного больше, может тебе сначала поизучать PHP+MySQL, а потом когда станут понятны базовые операции, перейти к PG?

Ну и лучше сначала проверить твои запросы без PHP, а потом уже программировать. Для MySQL есть удобный phpmyadmin.

Исправление MOPKOBKA, :

Сделай отдельные поля где можно вводить дату, одно поле поиска это неудобно, и тогда:

$sQuerySelect = "SELECT * FROM `users` WHERE 1=1"
$sQueryFilter = "";
$sQueryOrder = "ORDER BY `users`.`id`";

if (!empty($_GET['birthday'])) {
  $sBirthdaySql = date('Y-m-d H:i:s', strtotime($_GET['birthday'])); 
  $sQueryFilter .= " AND `users`.`birthday` = $sBirthdaySql";
}

if (!empty($_GET['user_id'])) {
  $nUserIdSql = (int)$_GET['user_id'];
  $sQueryFilter .= " AND `users`.`id` = $nUserIdSql";
}

$rsQuery = pg_query($conndb, "$sQuerySelect $sQueryFilter $sQueryOrder");

Если ты все же хочешь одно поле поиска для всего, то мне подсказать трудно, не имел дела с PostgreSQL, но вроде бы оно делается так:

if (!empty($_GET['search'])) {
  $sSearchSql = pg_escape_string($dbconn, $_GET['search']);
  $sQueryFilter .= " 
    AND to_tsvector(
      `users`.`name` || `users`.`surname` || `users`.`birthday`
    ) @@ to_tsquery($sSearchSql)
  ";
}

Я думаю информации по MySQL намного больше, может тебе сначала поизучать PHP+MySQL, а потом когда станут понятны базовые операции, перейти к PG?

Ну и лучше сначала проверить твои запросы без PHP, а потом уже программировать. Для MySQL есть удобный phpmyadmin.

Исправление MOPKOBKA, :

Сделай отдельные поля где можно вводить дату, одно поле поиска это неудобно, и тогда:

$sQuerySelect = "SELECT * FROM `users` WHERE 1=1"
$sQueryFilter = "";
$sQueryOrder = "ORDER BY `users`.`id`";

if (!empty($_GET['birthday'])) {
  $sBirthdaySql = date('Y-m-d H:i:s', strtotime($_GET['birthday'])); 
  $sQueryFilter .= " AND `users`.`birthday` = $sBirthdaySql";
}

if (!empty($_GET['user_id'])) {
  $nUserIdSql = (int)$_GET['user_id'];
  $sQueryFilter .= " AND `users`.`id` = $nUserIdSql";
}

$rsQuery = pg_query($conndb, "$sQuerySelect $sQueryFilter $sQueryOrder");

Если ты все же хочешь одно поле поиска для всего, то мне подсказать трудно, не имел дела с PostgreSQL, но вроде бы оно делается так:

if (!empty($_GET['search'])) {
  $sSearchSql = pg_escape_string($dbconn, $_GET['search']);
  $sQueryFilter .= " 
    AND to_tsvector(
      `users`.`name` || `users`.`surname` || `users`.`birthday`
    ) @@ to_tsquery($sSearchSql)
  ";
}

Я думаю информации по MySQL намного больше, может тебе сначала поизучать PHP+MySQL, а потом когда станут понятны базовые операции, перейти к PG?

Ну и лучше сначала проверить твои запросы без PHP, а потом уже программировать. Для MySQL есть удобный phpmyadmin.

Исправление MOPKOBKA, :

Сделай отдельные поля где можно вводить дату, одно поле поиска это неудобно, и тогда:

$sQuerySelect = "SELECT * FROM `users` WHERE 1=1"
$sQueryFilter = "";
$sQueryOrder = "ORDER BY `users`.`id`";

if (!empty($_GET['birthday'])) {
  $sBirthdaySql = date('Y-m-d H:i:s', strtotime($_GET['birthday'])); 
  $sQueryFilter .= " AND `users`.`birthday` = $sBirthdaySql";
}

if (!empty($_GET['user_id'])) {
  $nUserIdSql = (int)$_GET['user_id'];
  $sQueryFilter .= " AND `users`.`id` = $nUserIdSql";
}

$rsQuery = pg_query($conndb, "$sQuerySelect $sQueryFilter $sQueryOrder");

Если ты все же хочешь одно поле поиска для всего, то мне подсказать трудно, не имел дела с PostgreSQL, но вроде бы оно делается так:

if (!empty($_GET['search'])) {
  $sSearchSql = pg_escape_string($dbconn, $_GET['search']);
  $sQueryFilter .= " 
    AND to_tsvector(
      `users`.`name` || `users`.`surname` || `users`.`birthday`
    ) @@ to_tsquery($sSearchSql)
  ";
}

Я думаю информации по MySQL намного больше, может тебе сначала поизучать PHP+MySQL, а потом когда станут понятны базовые операции, перейти к PG?

Исходная версия MOPKOBKA, :

Сделай отдельные поля где можно вводить дату, одно поле поиска это неудобно, и тогда:

$sQuerySelect = "SELECT * FROM `users` WHERE 1=1"
$sQueryFilter = "";
$sQueryOrder = "ORDER BY `users`.`id`";

if (!empty($_GET['birthday'])) {
  $sBirthdaySql = date('Y-m-d H:i:s', strtotime($_GET['birthday'])); 
  $sQueryFilter .= " AND `users`.`birthday` = $sBirthdaySql";
}

if (!empty($_GET['user_id'])) {
  $nUserIdSql = (int)$_GET['user_id'];
  $sQueryFilter .= " AND `users`.`id` = $nUserIdSql";
}

$rsQuery = pg_query($conndb, "$sQuerySelect $sQueryFilter $sQueryOrder");

Если ты все же хочешь одно поле поиска для всего, то мне подсказать трудно, не имел дела с PostgreSQL, но вроде бы оно делается так:

if (!empty($_GET['search'])) {
  $sSearchSql = pg_escape_string($dbconn, $_GET['search']);
  $sQueryFilter .= " 
    AND to_tsvector(
      `users`.`name` || `users`.`surname` || `users`.`birthday`
    ) @@ to_tsquery($sSearchSql)
  ";
}