GrandMasterX
Новичок
Доброго всем времени суток!
Такое дело, не могу никак настроить запрос. Обьясню в кратце:
я выбераю данные с таблиц турфирмы, мне нужно выбрать те фирмы, в которых оплата(paystatus)=1 И название страны которое выбрал пользователь. Что бы выбра название страны сначала нужно джойнить список id которые записаны в поле типа text, через запятую. С этой задачкой справился, все выберает четко, джойнит супер. Проблема в другом. Когда я запихиваю все в php на сайт что бы работало предварительно проверил в SQL запросах на phpMyAdmin где все работает как часы швейцарские то оно в тупую не работает, уже неделю бьюсь и не могу понять почему не пашет. Ниже код:
Если убрать
то выводит страны где пейстатус = 1
Если запихнуть весь этот код в SQL без экранированных кавычек))) то все пашет.
А вот почему не пашет именно в использовании php? проверив данные через
Оно показало результат NULL.
Как он может быть NULL если данные в SQL выбераются? Кто знает в чем может быть дело?
Могу даже дамп скинуть базы и поисковик, лишь бы помогли))) Я уже неделю мучаю... чесслово, столько всего прочитал и перерыл а в чем дело так и не нашел.
Заранее благодарен!
Такое дело, не могу никак настроить запрос. Обьясню в кратце:
я выбераю данные с таблиц турфирмы, мне нужно выбрать те фирмы, в которых оплата(paystatus)=1 И название страны которое выбрал пользователь. Что бы выбра название страны сначала нужно джойнить список id которые записаны в поле типа text, через запятую. С этой задачкой справился, все выберает четко, джойнит супер. Проблема в другом. Когда я запихиваю все в php на сайт что бы работало предварительно проверил в SQL запросах на phpMyAdmin где все работает как часы швейцарские то оно в тупую не работает, уже неделю бьюсь и не могу понять почему не пашет. Ниже код:
PHP:
<?
include("../admin/config/db.conf.php");
$link = mysql_pconnect($CONFIG['DB']['local']['mysql']['host'], $CONFIG['DB']['local']['mysql']['user'], $CONFIG['DB']['local']['mysql']['password']);
mysql_select_db($CONFIG['DB']['local']['mysql']['db_name'], $link);
$SQL = "SELECT t.title as title,
t.email as email,
c.name as city_name,
c.city_id as id,
co.CName AS cityname,
co.country_id,
f.countries
FROM ua_cities c
LEFT JOIN tourfirm_offices t ON t.city_id = c.city_id
LEFT JOIN tourfirms f ON t.firm_id = f.firm_id
LEFT JOIN countries co ON f.countries LIKE CONCAT( co.country_id, \",%\" )
OR f.countries LIKE CONCAT( \"%,\", co.country_id )
OR f.countries LIKE CONCAT( \"%,\", co.country_id, \",%\" )
WHERE t.pay_status = 1
AND co.CName = \"Турция\"
GROUP BY city_name";
$res = mysql_query($SQL);
$out_city = "";
while ($info = mysql_fetch_array($res)) {
$city_array[] = $info["id"];
$out_city .= "<option value='".$info["id"]."'>".iconv("windows-1251", "utf-8", $info["city_name"])."</option>";
}
$SQL = "
SELECT t.title as title,
t.email as email,
c.name as city_name,
c.city_id as id,
co.CName AS cityname,
co.country_id,
f.countries
FROM ua_cities c
LEFT JOIN tourfirm_offices t ON t.city_id = c.city_id
LEFT JOIN tourfirms f ON t.firm_id = f.firm_id
LEFT JOIN countries co ON f.countries LIKE CONCAT( co.country_id, \",%\" )
OR f.countries LIKE CONCAT( \"%,\", co.country_id )
OR f.countries LIKE CONCAT( \"%,\", co.country_id, \",%\" )
WHERE t.pay_status = 1
GROUP BY t.title
";
$res = mysql_query($SQL);
while ($info = mysql_fetch_array($res)) {
$agancy_array[] = $info;
}
// if (!$res = mysql_query($SQL)) exit(mysql_error());
// var_dump($agancy_array);
// echo iconv("windows-1251", "utf-8", $data[0]["name"]);
?>
PHP:
AND co.CName = \"Турция\"
Если запихнуть весь этот код в SQL без экранированных кавычек))) то все пашет.
А вот почему не пашет именно в использовании php? проверив данные через
PHP:
// var_dump($agancy_array);
// echo iconv("windows-1251", "utf-8", $data[0]["name"]);
Как он может быть NULL если данные в SQL выбераются? Кто знает в чем может быть дело?
Могу даже дамп скинуть базы и поисковик, лишь бы помогли))) Я уже неделю мучаю... чесслово, столько всего прочитал и перерыл а в чем дело так и не нашел.
Заранее благодарен!