@maxdit

Как выгрузить лишь один столбец в Mysql?

Здравствуйте, как выгрузить из базы MySQL в EXEL ?
Все вроде как работает, но выгружает целую таблицу
Как реализовать, чтоб выгружало лишь один столбец?
Имею во такой код
<?PHP
function cleanData(&$str)
{
$str = preg_replace("/\t/", "\\t", $str);
$str = preg_replace("/\r?\n/", "\\n", $str);
if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"';
}
 // Имя загружаемого файла файла. 
 //В моём примере получится otched_20150331.xls
$filename = "otchet_" . date('Ymd') . ".xls";

header("Content-Disposition: attachment; filename=\"$filename\"");
header("Content-Type: application/vnd.ms-excel");

// Подключение к бд
mysql_connect ("Localhost","log","pass");// Хост юзер и пароль
mysql_select_db("log") or die (mysql_error());// Имя базы данных

//Указать кодировку выводимых данных
mysql_query('SET character_set_database = cp1251_general_ci'); 
mysql_query ("SET NAMES 'cp1251'");

//запрос и вывод данных
$flag = false;
 $result = mysql_query("SELECT * FROM users WHERE login") 
 or die('Запрос не выполнен!');
 while(false !== ($row = mysql_fetch_assoc($result))) {
   if(!$flag) {
     // Вывод заголовков
     echo implode("\t", array_keys($row)) . "\r\n";
     $flag = true;
    }
    //Вывод данных столбцов    
     array_walk($row, 'cleanData');
     echo implode("\t", array_values($row)) . "\r\n";
  }
  exit;
?>
  • Вопрос задан
  • 753 просмотра
Пригласить эксперта
Ответы на вопрос 1
@alexthor
Укажи имя столбца в запросе вместо * ( * - это выбрать все), например
SELECT login FROM users выведет только столбец login

В остальном согласен с предыдущим ответом Camaro67
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы