php
  • mysql
  • 2011-01-05 4 views 0 likes 
    0

    Я пытаюсь вернуть счетчик из mysql. Мой код нижеВозврат результата Mysql с помощью COUNT (*)

    $number_of_options_sql = tep_db_query("SELECT COUNT(*) FROM 
    (select sum(options_id) as total from products_attributes 
    where products_id='".$products_id."' group by options_id) as total"); 
    $number_of_options_result = tep_db_fetch_array($number_of_options_sql); 
    

    Когда я запускаю этот запрос в PhpMyAdmin, он показывает результат с COUNT(*) в заголовке таблицы. Я получаю правильный результат, запрос работает для меня, я просто не могу его распечатать на экране.

    Я попытался возвращения значения следующие пути и ни печати ничего на экране:

    echo $number_of_options_result[COUNT(*)]; 
    echo $number_of_options_result[total]; 
    
    +0

    Отсутствующие котировки? – Bobby

    ответ

    0

    Ваш запрос присваивает псевдоним таблице/запросу, а не столбцу. использовать это ниже:

    $number_of_options_sql = tep_db_query("SELECT COUNT(*) as total FROM (select sum(options_id) as total from products_attributes where products_id='".$products_id."' group by options_id) a"); 
    $number_of_options_result = tep_db_fetch_array($number_of_options_sql); 
    

    выглядит также, как вы хотите знать количество несовпадающих вариантов идентификатора для product_id, я бы переписать запрос следующим образом:

    $number_of_options_sql = tep_db_query("SELECT COUNT(DISTINCT options_id) as total FROM products_attributes WHERE products_id='".$products_id."'"); 
    
    +0

    Переписывание запроса отлично сработало для меня. Благодаря! – Ryan

    2

    Использование AS field_name после COUNT(*)

    $number_of_options_sql = tep_db_query("SELECT COUNT(*) AS field_name FROM (select sum(options_id) as total from products_attributes where products_id='".$products_id."' group by options_id) as total"); 
    

    Для печати:

    echo $number_of_options_result['field_name']; 
    

    (Замените "field_name" на любое соответствующее имя вашего choi в.п.)

    0

    Просто измените ваш запрос

    SELECT COUNT(*) as count FROM .... 
    

    тогда он будет храниться как «кол», и вы можете распечатать его в $ number_of_options_result [число]; путь.

    0

    положить в переменную «общей»

    $number_of_options_sql = tep_db_query("SELECT COUNT(*) as total 
    

    затем он работает

    echo $number_of_options_result['total']; 
    
    Смежные вопросы