Вывод результата запроса.

TpoM6oH

Новичок
Здравствуйте.
Меня интересует возможностьи вывести весь результат запроса, не знаю сколько столбцов в получившейся таблице. В примерах, которые я нашел в интернете, используются конструкции типа

$res=mysql_query("select * from product");

while($row=mysql_fetch_row($res)) {
echo $row[0]." ".$row[1]." ".$row[2]."<br>\n";
}

Тут, чтобы увидеть результат запроса, состоящий из 3 столбцов, я пишу соответственно row[0],row[1] и row[2]. А можно ли получить тот же результат, не указывая конкретное число столбцов?
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
1. Я бы посоветовал пользоваться mysql_fetch_assoc
2. Можно. Только в этом нет смысла. Что толку от 1 2 234 Вася 2010-12-22 2 123 а?
 

TpoM6oH

Новичок
А если запрос вводится пользователем, то количество столбцов заранее не известно. Как тогда реализовать вывод?
Иными словами нужен какой-то аналог записи echo $row[0]." ".$row[1]." ".$row[2]. ... .$row[max]."<br>\n";
 

Фанат

oncle terrible
Команда форума
если этот пользователь - админ сайта, то проще взять готовую программу
а если посетитель - то НИКАКИХ ЗАПРОСОВ он не вводит.

а так вообще в книге должно бы упоминаться волшебное слово foreach
 

TpoM6oH

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

TpoM6oH

Новичок
Нашел, вот он

print "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
print "\t<tr>\n";
foreach ($line as $col_value) {
print "\t\t<td>$col_value</td>\n";
}
print "\t</tr>\n";
}
print "</table>\n";
 

TpoM6oH

Новичок
Скрипт получился такой, осталось добавить названия столбцов при выводе, не подскажете, как это сделать?

<?php
$q = $_POST['name'];
$server_IP = "localhost";
$login = "root";
$password = "";
$database = "shop";
$link=mysql_connect($server_IP,$login,$password) or die("Not connected");
mysql_select_db($database, $link);
$result=mysql_query($q);

print "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
print "\t<tr>\n";
foreach ($line as $col_value) {
print "\t\t<td>$col_value</td>\n";
}
print "\t</tr>\n";
}
print "</table>\n";

mysql_free_result($result);

mysql_close($link);

?>
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
php.net/foreach - 2-й пример.

Если типа шапка в таблице, то в цикле добавлшяешь
условие (если флаг не горит)
показать шапку
зажечь флаг
конец условия.
 
Сверху