Pok4
Registered
Здравейте,
Имам проблем и не знам как да го реша.. Пробвах с FIND_IN_SET, с LIKE %%, LOCATE и какво ли още не. Четох в нета, търсих, но нищо.
Значи имам 1 колона в таблицата, която съдържа различни неща свързани с детайлите на имотите. Ето пример:
Internet
Security
Furnished
TV
и т.н.
Имам и 1 голям стринг от рода на "Internet, Security, TV" (виждате, че няма Furnished в него)
Този стринг винаги е със запетайките и винаги може да липсва нещо в него или да има нещо допълнително (тоест варира)
Искам този стринг (част от него), ако се засече с mysql колоната да върне резултата със съвпадението.
Ето я функцията:
Нищо не работи, не знам въобще какво да правя.. Зацепил съм и не знам и дали е възможно.. И с REGEXP четох и пробвах, но не ми сработи..
Дайте някакви идеи..
Тази функция се ползва в 1 sql заявка и сетва 1 или нищо, ако е открито съвпадение. Ако няма съвпадение нищо не сетва.
За парсера ми трябва, цял ден се мъча с това ..
Нещо извратено ще е със сигурност и за това питам тук.
Ето и пример:
Имам проблем и не знам как да го реша.. Пробвах с FIND_IN_SET, с LIKE %%, LOCATE и какво ли още не. Четох в нета, търсих, но нищо.
Значи имам 1 колона в таблицата, която съдържа различни неща свързани с детайлите на имотите. Ето пример:
Internet
Security
Furnished
TV
и т.н.
Имам и 1 голям стринг от рода на "Internet, Security, TV" (виждате, че няма Furnished в него)
Този стринг винаги е със запетайките и винаги може да липсва нещо в него или да има нещо допълнително (тоест варира)
Искам този стринг (част от него), ако се засече с mysql колоната да върне резултата със съвпадението.
Ето я функцията:
PHP:
function check_osobenosti($value,$id_field) {
global $dbh;
//proceed
$trim_v = trim($value);
$query2 = $dbh->query("SELECT `field_name` FROM wpls_sw_field_lang WHERE FIND_IN_SET('".$trim_v."',`field_name`) > 0 AND `field_id`='".(int)$id_field."'");
if($query2->rowCount() > 0) {
return 1;
} else {
return '';
}
}
Нищо не работи, не знам въобще какво да правя.. Зацепил съм и не знам и дали е възможно.. И с REGEXP четох и пробвах, но не ми сработи..
Дайте някакви идеи..
Тази функция се ползва в 1 sql заявка и сетва 1 или нищо, ако е открито съвпадение. Ако няма съвпадение нищо не сетва.
За парсера ми трябва, цял ден се мъча с това ..
Ето и пример:
PHP:
//proceed to insert in wpls_sw_listing_field
$query2 = $dbh->prepare("INSERT INTO `wpls_sw_listing_field` (`lang_id`, `listing_id`, `field_id`, `value`, `value_num`) VALUES
(1, ".$listing_id.", 110, '', NULL),
(1, ".$listing_id.", 114, '".$phone_maca."', NULL),
(1, ".$listing_id.", 116, '".$author."', NULL),
(1, ".$listing_id.", 10, '".$title."', NULL),
(1, ".$listing_id.", 13, ?, NULL),
(1, ".$listing_id.", 78, '', NULL),
(1, ".$listing_id.", 8, '', NULL),
(1, ".$listing_id.", 1, '', NULL),
(1, ".$listing_id.", 36, '".$price."',NULL),
(1, ".$listing_id.", 57, '', NULL),
(1, ".$listing_id.", 4, 'For Sale', NULL),
(1, ".$listing_id.", 5, '".$kvadratura."', NULL),
(1, ".$listing_id.", 20, '', NULL),
(1, ".$listing_id.", 19, '', NULL),
(1, ".$listing_id.", 113, '".$etaj."', NULL),
(1, ".$listing_id.", 21, '".check_osobenosti($osobenosti,21)."', NULL),
(1, ".$listing_id.", 22, '".check_osobenosti($osobenosti,22)."',NULL),
(1, ".$listing_id.", 23, '".check_osobenosti($osobenosti,23)."',NULL),
(1, ".$listing_id.", 29, '".check_osobenosti($osobenosti,29)."', NULL),
(1, ".$listing_id.", 31, '".check_osobenosti($osobenosti,31)."', NULL),
(1, ".$listing_id.", 112, '".check_osobenosti($osobenosti,112)."', NULL),
(1, ".$listing_id.", 52, '".check_osobenosti($osobenosti,52)."', NULL),
(1, ".$listing_id.", 32, '".check_osobenosti($osobenosti,32)."', NULL),
(1, ".$listing_id.", 30, '".check_osobenosti($osobenosti,30)."', NULL),
(1, ".$listing_id.", 11, '".check_osobenosti($osobenosti,11)."', NULL),
(1, ".$listing_id.", 27, '".check_osobenosti($osobenosti,27)."', NULL),
(1, ".$listing_id.", 33, '".check_osobenosti($osobenosti,33)."', NULL),
(1, ".$listing_id.", 115, '".check_osobenosti($osobenosti,115)."', NULL),
(1, ".$listing_id.", 18, '', NULL),
(1, ".$listing_id.", 35, '', NULL),
(1, ".$listing_id.", 0, '', NULL);");
$query2->bindParam(1, $description, PDO::PARAM_STR);
$query2->execute();