$where = array();
if (isset($_GET['manufacturer']))
$where[] = "`manufacturer` = '".$mysqli->escape_string($_GET['manufacturer'])."'";
if (isset($_GET['madeIn']))
$where[] = "`madeIn` = '".$mysqli->escape_string($_GET['madeIn'])."'";
$query = "SELECT * FROM `table` WHERE ".implode(" AND ", $where);
$result = $mysqli->query($query);
$manufacturer = '';
$byManufacturer = 0;
$madeIn = '';
$byMadeIn = 0;
if (isset($_GET['manufacturer'])) {
$manufacturer = $_GET['manufacturer'];
$byManufacturer = 1;
}
if (isset($_GET['madeIn'])) {
$madeIn = $_GET['madeIn']";
$byMadeIn = 1;
}
$query = $mysqli->prepare(
"SELECT * FROM `table` ".
"WHERE (? = 0 OR `manufacturer` = ?) ".
"AND (? = 0 OR `madeIn` = ?)");
$query->bind_param('isis', $byManufacturer, $manufacturer, $byMadeIn, $madeIn);
$query->execute();
Не совсем понятно, что имеется в виду под термином "совмесТная работа".
Изменение структуры? Это делается миграциями. Один решил, что нужно в БД добавить таблицу, делает миграцию, пушит в гит. Остальным придется это изменение принять перед своими пушами, ну и после pull-a они увидят, что добавилась новая миграция и должны будут ее накатить на свою БД.
Другого пока ничего не придумали.