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

Комбинация от търсене в полета с помощта на PHP и MYSQL

Вместо всички тези условни условия за това дали да добавите AND когато конкатенирате към заявката, използвайте масив и implode .

$fields = array('sport' => 'sport',
                'gender' => 'gender', 
                'fname' => 'firstName',
                'lname' => 'lastName',
                'country' => 'country');
$wheres = array();
foreach ($fields as $postfield => $dbfield) {
    if ($_POST[$postfield] != 'showAll') {
        $wheres[] = "$dbfield = '" . mysql_real_escape_string($_POST[$postfield]) . "'";
    }
}
$selectString = "SELECT t2ath.lastName, t2ath.firstName, t2ath.image, t2ath.sport, t2ath.gender, t2ath.country, t2country.flag 
                 FROM t2ath LEFT JOIN t2country
                 ON t2ath.country = t2country.name";
if (count($wheres) > 0) {
    $selectString .= " WHERE " . implode(" AND ", $wheres);
}
$result = mysql_query($selectString);

За да видите как да го направите по подобен начин, като използвате подготвени изявления за PDO, вижте моя отговор тук:Какъв кодов подход би позволил на потребителите да прилагат три незадължителни променливи в PHP/MySQL?



  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 от .myd, .myi, .frm файлове

  2. Качете изображение на сървъра и съхранете пътя на изображението в базата данни на mysql

  3. AVG() – Изчислете средната стойност на колона в MySQL

  4. Как да поправя сериализиран низ, който е повреден от неправилна дължина на броя на байтовете?

  5. следене на mysql за промени