Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ассоциативный массив, Как его вывести в таблицу 
:(
    Опции темы
Гость_Марат
Дата 16.9.2005, 15:18 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











После SQL запроса сформировал массив вида:
Array
(
[0] => Array
(
[id_news] => 1
[date] => 2016-09-05
[theme] => newproject
[text] => Программа
)

[1] => Array
(
[id_news] => 2
[date] => 2016-09-05
[theme] => newproject
[text] => Программа
)

[2] => Array
(
[id_news] => 3
[date] => 2016-09-05
[theme] => newproject
[text] => Программа
)
Кто подскажет, как его из него сформировать таблицу? Что-то голова не варит smile
  Вверх
alligator
Дата 16.9.2005, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: 1
Всего: 1



ты иммешь ввиду вывести в таблицу ?
Если да то всё просто:
Код

print $result['id_news'];
print $result['date'];
......

и тд

Это сообщение отредактировал(а) alligator - 16.9.2005, 16:29
PM MAIL   Вверх
Гость_Марат
Дата 16.9.2005, 17:00 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











НЕт не идет. Пишу:
print $data['date'];
// $data - ассоц. массив результатов
Выдает ошибку:
Notice: Undefined index: date in z:\home\test.ru\www\admin\newsadd.php on line 43

  Вверх
alligator
Дата 16.9.2005, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: 1
Всего: 1



покажи код
PM MAIL   Вверх
alligator
Дата 16.9.2005, 19:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: 1
Всего: 1



у тебя еще должен быть ключ ассоциативного массива
вывод осуществляеться
print - ключ - ключевые индексы
вроде так если не ошибаюсь
PM MAIL   Вверх
lina
Дата 16.9.2005, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 25.7.2005
Где: Харьков

Репутация: 1
Всего: 1



если есть массив $array,$key-название индекса массива, $value-значение этого индекса, то вывод осуществляется так:
foreach($array as $key=>$value)
echo $key.'=>'.$value.'<br/>';
PM MAIL   Вверх
Гость_Марат
Дата 17.9.2005, 07:34 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Спасибо за совет. Я дошел до такого варианта:
$r= @mysql_query("select * from ".$_session['table']." order by date")
or die ("Could not select 1");
for ($data=array(); $row=mysql_fetch_assoc($r); $data[]=$row);

echo "<form action=\"../admin/newsadd.php\" method=\"post\"><table border=2><tr><td><INPUT class=text type=submit value=del name=newsdelbut> </td>";
//Выводим шапку таблицы
for ($i=0; $i<mysql_num_fields($r); $i++)
{
echo "<TD><b>".mysql_field_name($r, $i)."</b></td>";
}
echo "</tr>";
//Выводим значения полей
for ($i=mysql_num_rows($r)-1; $i>=0; $i--)
{
echo "<tr>";
for ($j=0; $j<mysql_num_fields($r); $j++)
{
$head=mysql_field_name($r, $j);
if ($j==0) echo "<td><input type=checkbox name=\"newsfielddel[]\" value=".$data[$i][$head]."></td>\n \n";
echo "<td>";
echo $data[$i][$head];
echo "</td>";
}
echo "<tr>";
}
echo "</table></form>";

  Вверх
[xoodo]
Дата 17.9.2005, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 424
Регистрация: 9.3.2003

Репутация: 1
Всего: 4



Код

$r= @mysql_query("select * from ".$_session['table']." order by date") or die ("Could not select 1");

//Твой вариант:
//for ($data=array(); $row=mysql_fetch_assoc($r); $data[]=$row);
//Можно сразу так, без третьей переменной:
while($data[] = mysql_fetch_assoc($r));

echo "<form action=\"../admin/newsadd.php\" method=\"post\"><table border=2><tr><td><INPUT class=text type=submit value=del name=newsdelbut></td>";

//Выводим шапку таблицы
for ($i=0; $i<mysql_num_fields($r); $i++)
{
    echo "<TD><b>".mysql_field_name($r, $i)."</b></td>";
}
echo "</tr>";

//Выводим значения полей
//Предлагаю так (для каждого шага цикла получаем в $row один из рядов $data[]):
foreach($data as $row)
{
    echo "<tr>";
    //В $key будет имя поля, в $val -- значение.
    //У тебя, если правильно понял, использовались только названия полей,
    // поэтому $val вроде не понадобится. Хотя мало ли.
    $j = 0;
    foreach($row as $key=>$val)
    {
        if ($j==0)
        {
               echo "<td><input type=checkbox name=\"newsfielddel[]\" value=".$row[$key]."></td>\n \n";
               ++$j;
        }
        echo "<td>";
        echo $row[$key];
        echo "</td>";
    }
    echo "<tr>";
}
echo "</table></form>";

Вроде ничего не напутал.

Это сообщение отредактировал(а) [xoodo] - 17.9.2005, 11:57
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0748 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.