Как правильно пройтись по массиву?

Zaval

Новичок
Как правильно пройтись по массиву?

Функция получает имена полей таблицы и их значения:
PHP:
function SelectValueFromDB($TblName)
{
  $res = mysql_query("SELECT * FROM ".$TblName." LIMIT 0,1");
	$i = 0;
	while ($i < mysql_num_fields($res))
{
  	$meta = mysql_fetch_field($res);
   	if($i != 0)$koma = ",";
 $ArrayField[] = array ($meta->name => array (mysql_result($res,0,$meta->name)));
   	$i++;
}
  return $ArrayField;
}
$ArrayField = SelectValueFromDB('table');

print_r ($ArrayField);
// выводит:

Array ( [0] => Array ( [Name] => Array ( [0] => Название ) ) [1] => Array ( [FullName] => Array ( [0] => Полное Название ) ) [2] => Array ( [ik] => Array ( [0] => Идетнтификационный код ) ) [3] => Array ( [ipn] => Array ( [0] => Индивид. налоговый № ) ) [4] => Array ( [sv_pdv] => Array ( [0] => № свидетельства НДС ) ) [5] => Array ( [Note] => Array ( [0] => Примечание ) ) [6] => Array ( [Adres] => Array ( [0] => Адрес ) ) )
Вопрос:
Как мне правильно пройтись по массиву, чтобы получить что-то типа:
PHP:
echo "
<TR>
 <TD>Name</TD>
 <TD>Название</TD>
</TR>
";
Спасибо за внимание.
 

maxx

слип-стримом в поворот
while ($row=mysql_fetch_array($result))
{
$name=$row['name'];
......................................
echo "<td>Name</td><td>$name</td>";
}
 

tony2001

TeaM PHPClub
возможно, я не понимаю чего-то, но [m]mysql_list_fields[/m] именно этим и занимается.
почти тот же результат можно получить при [m]mysql_fetch_assoc[/m], но другим путем.
 

Zaval

Новичок
maxx
<td>Name</TD> - Есть значение массива
PHP:
Array ( [0] => Array ( [Name] => Array ( [0] => Название ) )
ручками я и так вывести могу.
Но дальше предполагается использовать это значение как $_POST['Name'] и т.д.
 

RomikChef

Guest
"сделать echo" массиву можно с помощью функции [m]foreach[/m]
Но то, как ты получаешь список полей - варварство.
 

Demiurg

Guest
тони, я бы объяснил, но сам ничего не понимаю :(
 

Zaval

Новичок
tony не придирайся, ты прекрасно понял, что я имею ввиду, но хочеш, чтобы я сам додумал - наверно не тот случай.

Как пройтись по $ArrayField?
если я правильно понимаю, $ArrayField имеет вид: $ArrayField[0][Name][Название] - НЕ ДОПРУ
 

Zaval

Новичок
Автор оригинала: RomikChef
"сделать echo" массиву можно с помощью функции [m]foreach[/m]
Но то, как ты получаешь список полей - варварство.
И я думаю, что варварство, но другого способа пока не вижу.
И если это
foreach($a as $v1) {
foreach ($v1 as $v2) {
print "$v2\n";
}
}
то что мне нужно, то наверно у меня ничего не выйдет :(
 

tony2001

TeaM PHPClub
>И я думаю, что варварство, но другого способа пока не вижу.
ответ в самом первом моем постинге.
 

Zaval

Новичок
$i = 0;
while ($i < count($ArrayField))
{
echo $ArrayField[$i] ЧТО ДАЛЬШЕ ? [Name][Название];
$i++;
}
 

Zaval

Новичок
tony
Значения УЖЕ в массиве КАК их вывести, но не сразу NameНазвание, а <B>Name (то что мне нужно) Название</B>
 

RomikChef

Guest
Короче, как правильно - ты делать не хочешь.
Почему же мы должны помогать тебе извращаться?
Хочешь быть хитрее всех? Пожалуйста! Но мы-то здесь причем?!

Нормальные люди достают имена не из меты какой-то там, а функцией, которую Тони привел в самом начале.
Нормальные люди никогда не используют mysql_result.
Зачем плодить кучу вложенных циклов, если можно обойтись вообще без массивов? Зачем вообще эта твоя замороченная функция?
 

Zaval

Новичок
Не спорю на счет замороченной функции, но намекни если не сложно, каким образом получить из запроса к БД
(таблица имеет вид):

: Name : FullName
---------------------------------------
: Имя_ : Полное наимен. и т.д.

Нужно каким то образом вывести строку
echo $str;
Результат:
то что мне нужно.<b>Имя_</b>.то что мне нужно.<b>Name</b>.то что мне нужно

И ето все в цикле.
Так у меня (хочу) должна генериться страница.
Извращение это или нет, но лучшего пока ничего не придумал, почитать чего не нашел, а темплейты помойму еще заморочливее...

ЗЫ А как правильно?
 

leosha

Старожил PHPCLub
Ты что, тормоз? Или, как сейчас модно на форуме - "медленный газ"?
PHP:
$sql = "SELECT field1,field2 FROM...";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result)) {
         ++$i;
         echo "строка ".$i."<b>".$row["field1"]."</b> текст ".$row["field2"]." <br>\n";  
}
По моему, это сказали постов 10-15 назад.
 

RomikChef

Guest
[f]newbie[/f] - в первой статье пример работы с базой данных.
Если ты хочешь выводить в браузер имя поля из таблицы, то
Тони дал тебе ссылку на функцию
 
Сверху