Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Kombinasi pencarian lapangan menggunakan PHP &MYSQL

Alih-alih semua persyaratan tentang apakah akan menambahkan AND saat menggabungkan ke kueri, gunakan array dan 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);

Untuk melihat cara melakukannya dengan cara yang sama menggunakan pernyataan yang disiapkan PDO, lihat jawaban saya di sini:Pendekatan kode apa yang memungkinkan pengguna menerapkan tiga variabel opsional di 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. penggabungan koneksi php mysql

  2. SQL:Bagaimana memilih satu record per hari, dengan asumsi bahwa setiap hari mengandung lebih dari 1 nilai MySQL

  3. Apakah Urutan Bidang Indeks Multi-Kolom di MySQL Penting?

  4. MySQL:fulltext indeks komposit + btree?

  5. mysql jumlah baris per jam