コード例 #1
0
 public function paramFind()
 {
     // Надо определить параметры основные и дополнительные
     // затем исполльзую SQL запросом найти все записи из таблицы CatalogItems
     $paramsTable = $_POST["paramsTable"];
     $paramsTable = str_replace("'", "", $paramsTable);
     //$paramsTable = mysql_real_escape_string( $paramsTable );
     $paramsModel = new $paramsTable();
     $sql = "SELECT i.* FROM catalog_items i, " . $paramsModel->tableName() . " p WHERE i.id = p.item_id ";
     foreach ($_POST as $key => $value) {
         if (!is_array($value)) {
             if (property_exists("CatalogItems", $key) && !empty($value)) {
                 $value = str_replace("'", "", $value);
                 //$value = mysql_real_escape_string( $value );
                 if (!empty($sql)) {
                     $sql .= " AND ";
                 }
                 $sql .= " i.`" . $key . "`='" . $value . "' ";
             }
         } else {
             foreach ($value as $key2 => $value2) {
                 if (property_exists($paramsTable, $key2) && !empty($value2)) {
                     if (!empty($sql)) {
                         $sql .= " AND ";
                     }
                     $sql .= " p.`" . $key2 . "`='" . $value2 . "' ";
                 }
             }
         }
     }
     $items = CatalogItems::sql($sql);
     $itemsModels = array();
     for ($i = 0; $i < sizeof($items); $i++) {
         if ($items[$i]["id"] == 0) {
             continue;
         }
         $newObject = new CatalogItems();
         $itemsModels[] = $newObject->setAttributesFromArray($items[$i]);
     }
     $this->render("params", array("items" => $itemsModels));
 }