Mysql
 sql >> база данни >  >> RDS >> Mysql

Функция за търсене с множество критерии - PHP/MySQL

Можете да проверите дали публикацията за определено поле е празна, ако не е, тогава добавете съответната клауза WHERE към заявката. Нещо под формата на следното:

$mysqli = new mysqli(...);
$sql = 'SELECT * FROM table WHERE ';
$where = array();
$values = array();
$types = '';

if (!empty($_POST['name'])) {
    $where[] = 'name = ?';
    $values[] = $_POST['name'];
    $types .= 's';
}

if (!empty($_POST['sex'])) {
    $where[] = 'sex = ?';
    $values[] = $_POST['sex'];
    $types .= 's';
}
...
$sql .= implode(' AND ',$where);
$values = array_unshift($values, $types);

$statement = $mysqli->prepare($sql);
call_user_func_array(array($statement, 'bind_param'), $values);
...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL заявка за намиране на теглото на ръбовете в графика

  2. Сортиране на нули последно

  3. пренапишете ?id=__ към заглавието на страницата, съхранено в реда на db

  4. Комбинирайте две колони в SQL за клауза WHERE

  5. SQLAlchemy JSON колона - как да изпълните заявка за съдържание