Задать вопрос

Как сформировать вывод из MySQL, когда запросов более одного?

Имеется несколько таблиц в БД. В данный момент одним запросом вынимаю из 2х таблиц и вывожу вот так:
while($row = mysql_fetch_array($result))
{
	echo "ID: ".$row['id_product']." ";
	echo "Имя: ".$row['name']."<br>";
	echo "Цена закупочная: ".$row['wholesale_price']."<br>";
	echo "Цена продажи: ".$row['price']."<br>";
        $list = array ($name.$wholesale_price.';'.$price.';'.$profit);
	foreach ($list as $line) {
		fputcsv($fp, explode(';', $line));
	}
}


Ну а потом я еще ввожу все полученное добро в .csv файл.

Хотелось бы получить несколько массивов по нескольким запросам из БД(один запрос - один массив).
А потом выводить все это счастье в браузер и в .csv файлик
  • Вопрос задан
  • 2489 просмотров
Подписаться 4 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
evsmusic
@evsmusic
$queries = [
    'cars'=>'SELECT some FROM cars',
    'users'=>'SELECT some FROM users'
];

$results = [
    'cars'=>[],
    'users'=>[],
];

foreach($queries AS $name=>$query) {
    //тут выполнение запроса и далее как у Вас:
    while($row = mysql_fetch_array($result)) {
        $results[$name][] = $row;
    }
}


P.S.: и заканчивайте пользоваться MySQL API, используйте PDO
Ответ написан
$list = array();
while($row = mysql_fetch_array($result))
{
	echo "ID: ".$row['id_product']." ";
	echo "Имя: ".$row['name']."<br>";
	echo "Цена закупочная: ".$row['wholesale_price']."<br>";
	echo "Цена продажи: ".$row['price']."<br>";
        $list[] = $name.$wholesale_price.';'.$price.';'.$profit;
}
while (another_query) {
        // ...
        $list[] = '...';
}
// ...
foreach ($list as $line) {
        fputcsv($fp, explode(';', $line));
}
Ответ написан
evnuh
@evnuh
Поиск Гугл помог мне, впусти и ты его в свой дом
Ну так делайте 2 запроса и для каждого сохраняйте результат в свой массив, что не так?
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы