Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.02.2012, 11:09   #1
BredoZavR
Пользователь
 
Регистрация: 05.06.2009
Сообщений: 27
По умолчанию Таблица или div?

Имеется файл JSON, содержащий описание городов такой структуры

Код:
{
города: 
[ 
{“name”:”Имя внедрения”, “desc”:“Описание внедрения”, “w”: “градусы северной широты расположения внедрения”, “l”: “градусы восточной долготы расположения внедрения”,  “style”: “список внедренных проектов”}
]
}
(Если необходимо для лучшего понимания, могу скинуть реальные данные)
Нужно на одной из страничек представить в таком виде
2012-02-25_165758.jpg

Сейчас это просто табличка, неизменяемая. Необходимо, чтобы в каждую строку в первый столбец подгружался город, во второй - какие проекты в нем внедрены (это все я могу считать из jsona), а в третьей должны находится кнопки Удаления города и Редактирования
Суть проблемы: 1. Я не знаю как реализовать табличный способ представления (можно ли как то изменять размеры таблицы при сохранении верхней шапки и нижней строки с кнопкой Добавить или же надо работать с divами и выравнивать их с помощью стилей)
2. Можно ли при этом в атрибут name или value кнопок определенной строки записывать соответствующие значения?

Заранее спасибо за подсказки.
Программисты... Они спокойные... У них в глазах вечность.
BredoZavR вне форума Ответить с цитированием
Старый 26.02.2012, 13:00   #2
Pingvinenok_Lolo
Пользователь
 
Регистрация: 05.11.2011
Сообщений: 56
По умолчанию

Вообще-то таблицы изначально предназначены хранения информации
Вот здесь я вывожу инфу в таблицу (код php, надеюсь разберетесь что к чему) и здесь же есть ссылки для редактирования, удаления, добавления инфы,
Код:
echo "<table>";
while ($row = mysql_fetch_array($result))
	{
		echo "<tr>";
		echo "<td>".$row['date_dec']."</td>";
		echo "<td>".$row['work']."</td>";
		echo "<td>".$row['country']."</td>";
		echo "<td>".$row['comment']."</td>";
		echo "<td>".$row['pay']."</td>";
		echo '<td><a href="../adm.php?item_menu=work&action=change_job&id='.$row['id'].'">Редакт.</a></td>';
		echo '<td><a href="../adm.php?item_menu=work&action=delete_job&id='.$row['id'].'">Удл.</a></td>';
		echo "</tr>";
	}
	echo "</table>";
	echo '<p align="center"><a href="../adm.php?item_menu=work&action=add_job">Добавить</a></p>';
Чтобы сделать такую табличку как на картинке:
<table border="0">
<tr><td rowspan="2">some_text</td></tr>
т.е. границы таблицы = 0, их не будет видно, rowspan - объединение ячеек по вертикали, будут объединены две ячейки
Pingvinenok_Lolo вне форума Ответить с цитированием
Старый 26.02.2012, 16:53   #3
BredoZavR
Пользователь
 
Регистрация: 05.06.2009
Сообщений: 27
По умолчанию

Насколько я понимаю, у Вас приведен пример с данными, которые берутся из БД, но по идее сделать подобие такого, только с данными из json файла не должно составить труда.
Спасибо!
Программисты... Они спокойные... У них в глазах вечность.
BredoZavR вне форума Ответить с цитированием
Старый 27.02.2012, 11:20   #4
BredoZavR
Пользователь
 
Регистрация: 05.06.2009
Сообщений: 27
По умолчанию

Возникла загвоздка у меня
Вот код
PHP код:
<?php

// читаем данные из файла.
$file fopen('structure.json''r');
$file_data fread($filefilesize('structure.json') );
fclose($file);

// преобразуем данные в формате  json в php объект.
$placemarks json_decode$file_data );

// добавляем в конец новый город.
//$placemarks->cities[] = json_decode( $city );
$num=count($placemark->cities); 



echo 
'<table width="600" border="0" align="center" cellpadding="0" cellspacing="0"><tr>
  <td  class="tab_h" colspan="3" background="images/header.png"><p class="tab_h">Внедрение</p></td>
  </tr>
  <tr>
    <td width="200" height="37"><p>Город</p></td>
    <td><p>Проекты</p>    </td>
    <td width="65"><div align="center"></div></td>
  </tr>'
;
for (
$i=0$i <= $num; ++$i)
    {
        echo 
"<tr>";
        echo 
"<td>"$placemark->cities[$i]->name"</td>";
        if (
strcasecmp($placemark->cities[$i]->style"isamdpar") == 0)
        {
            
//echo '<td><p>'.Информационные системы.'<p>'.Автомаршал.'</p><p>'.Дорожный пристав.'</p><p>'.ARSCIC.'</p></td>';
            
echo "<td>";
            echo 
"<p>";
            echo  
"Информационные технологии";
            echo 
"</p>";
        }
        
        echo 
'<td width="65"><a href="edit_inj.php"><input type="image" src="images/edit.png" width="30" height="30" border="0" alt="Редактирование" /></a>
    <input type="image" src="images/remove.png" width="30" height="30" border="0" alt="Удаление" /></td>'
;
        
        echo 
"</tr>";
    }
    echo 
'<tr>
  <td class="tab_f" width="200" colspan="3" height="45" align="right"><a href="add_inj.php"><input type="image" src="images/add.png" width="150" height="40" border="0" alt="Добавление" /></a></td>
 
  </tr>
</table>'
;

?>
Не выводит название города и объекты в нем внедренные, т.е. вот эти строки
PHP код:
echo "<td>"$placemark->cities[$i]->name"</td>";
        if (
strcasecmp($placemark->cities[$i]->style"isamdpar") == 0)
        {
            
//echo '<td><p>'.Информационные системы.'<p>'.Автомаршал.'</p><p>'.Дорожный пристав.'</p><p>'.ARSCIC.'</p></td>';
            
echo "<td>";
            echo 
"<p>";
            echo  
"Информационные технологии";
            echo 
"</p>";
        } 
Может, я как-то не верно к jsonу обращаюсь?
Программисты... Они спокойные... У них в глазах вечность.
BredoZavR вне форума Ответить с цитированием
Старый 27.02.2012, 13:14   #5
BredoZavR
Пользователь
 
Регистрация: 05.06.2009
Сообщений: 27
По умолчанию

Я поняла в чем дело, но я не знаю, как от этого избавиться. Я не знаю как массив из json $placemarks->cities посчитать.
То есть count не работает, foreach так же..
Программисты... Они спокойные... У них в глазах вечность.
BredoZavR вне форума Ответить с цитированием
Старый 27.02.2012, 13:31   #6
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от BredoZavR Посмотреть сообщение
Я поняла в чем дело, но я не знаю, как от этого избавиться. Я не знаю как массив из json $placemarks->cities посчитать.
То есть count не работает, foreach так же..
json_decode() - читаем про второй параметр assoc, применяем его, и работаем с массивом.
Andkorol вне форума Ответить с цитированием
Старый 27.02.2012, 14:42   #7
BredoZavR
Пользователь
 
Регистрация: 05.06.2009
Сообщений: 27
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
json_decode() - читаем про второй параметр assoc, применяем его, и работаем с массивом.
У меня true поставлено, я нашла ошибку, но я не понимаю почему она возникла. Перестал открываться сам файл.. Не только в этом месте, но и в совершенно другом, при попытке добавления в него строк. Хотя буквально дня назад все отлично заносилось.
Программисты... Они спокойные... У них в глазах вечность.
BredoZavR вне форума Ответить с цитированием
Старый 27.02.2012, 14:59   #8
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от BredoZavR Посмотреть сообщение
У меня true поставлено, я нашла ошибку, но я не понимаю почему она возникла.
Это же ваш код..?
Здесь не "поставлено":
PHP код:
// преобразуем данные в формате  json в php объект. 
$placemarks json_decode$file_data ); 
Цитата:
Перестал открываться сам файл.. Не только в этом месте, но и в совершенно другом, при попытке добавления в него строк. Хотя буквально дня назад все отлично заносилось.
Проверяем права доступа к файлу.
Проверяем правильность пути к файлу.
Смотрим лог ошибок - error.log

Поиск ошибок и отладка
Andkorol вне форума Ответить с цитированием
Старый 27.02.2012, 15:01   #9
BredoZavR
Пользователь
 
Регистрация: 05.06.2009
Сообщений: 27
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
Это же ваш код..?
Здесь не "поставлено":
PHP код:
// преобразуем данные в формате  json в php объект. 
$placemarks json_decode$file_data ); 
Проверяем права доступа к файлу.
Проверяем правильность пути к файлу.
Смотрим лог ошибок - error.log

Поиск ошибок и отладка
"здесь" было несколько часов назад
Программисты... Они спокойные... У них в глазах вечность.
BredoZavR вне форума Ответить с цитированием
Старый 27.02.2012, 15:09   #10
BredoZavR
Пользователь
 
Регистрация: 05.06.2009
Сообщений: 27
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
Это же ваш код..?
Здесь не "поставлено":
PHP код:
// преобразуем данные в формате  json в php объект. 
$placemarks json_decode$file_data ); 
Проверяем права доступа к файлу.
Проверяем правильность пути к файлу.
Смотрим лог ошибок - error.log

Поиск ошибок и отладка
С этим все отлично, как и два дня назад, когда хотя бы функция изменения файла работала. Сейчас же не работает и она.
Код:
// читаем данные из файла.
$file = fopen('structure.json', 'r');
$file_data = fread($file, filesize('structure.json') );
fclose($file);
$file_data считывается
Код:
// преобразуем данные в формате  json в php объект.
$placemarks = json_decode( $file_data );
а placemarks уже NULL
И чтоб Вы сразу не привязались к assoc, в данном случае оно мне не надо.
Программисты... Они спокойные... У них в глазах вечность.
BredoZavR вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Таблица в Excel или Access Сергей_95 Помощь студентам 1 17.11.2011 13:18
Таблица div mjackson HTML и CSS 2 31.08.2010 00:16
div тег как нижний слой для второго div тега dadli HTML и CSS 2 30.07.2010 01:12
Одна большая таблица или много маленьких. SlvUn Microsoft Office Access 2 20.11.2009 20:15