2015-05-14 4 views
1

Я использовал диаграммы столбцов с высокими диаграммами. Я попытался создать динамический запрос.Динамический запрос для высоких диаграмм

$query = mysql_query("SELECT * FROM products WHERE productid IN ".$full); 

Это был запрос и $ полный определяется как:

$que1 = mysql_query("SELECT productid from admin_levels WHERE level>1 AND userid=$UserID ORDER BY productid"); 
$op1=""; 
while($row1 = mysql_fetch_row($que1)) 
{ 
foreach($row1 as $cell1) 
{ 
$op1.="'".$cell1."',"; 
} 
} 
$temp1=strlen($op1)-1; 
$op1=substr($op1,0,$temp1); 
$full = "(".$op1.")"; 
+0

Когда вы выполняете 'echo $ full;' что вы видите? или просто 'echo $ query;'? –

+0

('16', '17', '20', '114', '125'). Я пробовал сделать это (16,17,20,114,125) тоже, но не работает – TheLuck

+0

, если идентификатор продукта int, нет необходимости цитировать их. Наконец, не используйте '()' в '$ full =" (". $ Op1.") ";' Просто сохраните его как '$ full = $ op1;', а затем в конечном запросе '' SELECT * FROM products WHERE productid IN (". $ Full.") ". –

ответ

0

Вы можете вызвать вышеупомянутые запросы в одном запросе, как это:

$query = mysql_query("SELECT * FROM products WHERE productid IN (SELECT productid from admin_levels WHERE level>1 AND userid=$UserID ORDER BY productid)") or die(mysql_error()) ; 

Я предлагаю вам не использовать выражения mysql, потому что они уязвимы. Вместо этого, пожалуйста, попробуйте инструкции mysqli или PDO

+0

did not work i get blank screen –

+0

Попробуйте сейчас ... я забыл добавить «в конце строки. Я отредактировал его. –

+0

Не беспокойтесь, я добавил« вручную! все еще не работал –

Смежные вопросы