У меня есть этот код:SQL Select запрос объединить несколько таблиц
function getPricing() {
$returnarr = array();
$dcid = (isset($_REQUEST['dcid'])) ? "WHERE datacentre_id='" . mysql_real_escape_string($_REQUEST['dcid']) . "'" : '';
$addons = $_REQUEST['addon'];
if ($addons == "true")
$sql = "SELECT * FROM addonprices $dcid ORDER BY addon_desc ASC";
else
$sql = "SELECT l.l_name, p.* FROM pricing p LEFT JOIN locations l ON l.location_id=p.datacentre_id $dcid ORDER BY CASE splitsize WHEN 'f' THEN 0 WHEN 'w' THEN 1 WHEN 'h' THEN 2 WHEN 'q' THEN 3 WHEN '2U' THEN 4 WHEN '1U' THEN 5 ELSE 6 END DESC, amps ASC";
$result = mysql_query($sql);
while ($row = mysql_fetch_assoc($result)) {
$returnarr[] = $row;
}
header('Content-type: application/json');
echo json_encode($returnarr);
}
мне нужно добавить еще одну таблицу в обоих выбранных утверждений, вступив на $dcid
, таблица называется slas
и Колонку currency
Я попробовал несколько вещей, но не повезло.
Я пытаюсь вытащить валюту в яваскрипта файл, чтобы получить цены с помощью этого переключателя заявление:
var currency = "";
switch (row.currency) {
case '1' :
currency = "£";
break;
case '2' :
currency = " $";
break;
case '3' :
currency = "€";
break;
default:
currency = "£";
break;
}
и даже тогда, когда валюта должна быть равна 2 или 3 все еще отображается по умолчанию ... Я не уверен, что это неправильный оператор switch или sql-запрос.
UPDATE
Просто, имеющие проблемы с этим одной строкой:
$sql = "SELECT l.l_name, p.*, slas.currency FROM pricing p LEFT JOIN locations l ON l.location_id=p.datacentre_id LEFT JOIN slas ON slas.datacentre_id = p.datacentre_id $dcid ORDER BY CASE splitsize WHEN 'f' THEN 0 WHEN 'w' THEN 1 WHEN 'h' THEN 2 WHEN 'q' THEN 3 WHEN '2U' THEN 4 WHEN '1U' THEN 5 ELSE 6 END DESC, amps ASC";
Взятые из ответа ниже.
Что вы пытались, чтобы мы могли показать вам, где вы ошибались – Anigel
обновил мой вопрос –