Забыли пароль?
Запросите новый здесь.

Автор темы: APTEMbI4
ID темы: 1294
Информация:
Тема содержит 20 сообщения, была просмотрена 8140 раз.  Имеются прикрепленные файлы.
Просмотр темы
PHP-Fusion Russia » Веб-разработка » PHP
 Распечатать тему
Вопрос по выводу данных с xml в php.
APTEMbI4
Есть файл в формате *.*.xml. Необходимо забрать оттуда данные и перевести их в *.*.php в виде таблицы. Собственно вопрос как это сделать. Таблицу я сделать смогу, а вот как забрать данные? Может кто подскажет?

Что планируется в идеале: файл будет лежать на сервере хостинга. Ссылку на страницу с выводом данныех разместить на сайте.

Сможет кто помочь? Или только за деньги? ab

П.С. Нашёл чью-то попытку это реализовать, но на локалке кучу ошибок выдаёт ac
APTEMbI4 присоединено следующее:файл:
damp.zip [32.6кБ / 317 Загрузки]
 
Web
Polarfox
*.xml *.php
dump

Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле.
Ежели кто забанен за спам, но не считает себя ботом: можете сообщить мне об этом, все будет хорошо.

PolarLab - вход для подопытных
 
Web
APTEMbI4
PolarFox, Вы про обозначения? Это неважно ab Мне бы задачку решить...
 
Web
Rush
тут много зависит от структуры файла.

Загрузить источник  GeSHi: PHP
  1.  
  2. echo "<table>";
  3. $xml = simplexml_load_file($file_path);
  4. foreach ($xml->row as $row) {
  5. echo "<tr><td>";
  6. echo $row->any_data;
  7. $attrs = $row->attributes();
  8. echo $attrs->any_attr;
  9. echo "</td></tr>":
  10. }
  11. echo "</table>";
  12.  
Добавлено за 0.030 секунд, используя GeSHi 1.0.8.10

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

Порылся в инете, много всякого пишут, но я об этом вообще нечего не знаю.

Тогда вопрос поставлю так, если кто возьмётся сделать, думаю это для понимающего человека не так сложно, то сколько примерно будет стоить? ab
 
Web
APTEMbI4
Знакомый сделал примерно то что я хотел :) Но просто в php. Подскажите как мне этот код вставить в текстовую панель или как сделать новую панель (infusion).

Загрузить источник  GeSHi: PHP
  1. <?php
  2. $xml = simplexml_load_file('domen/dump/guild.xml');
  3.  
  4. $actual_date = time();
  5. $activedays = 3; //Здесь кол-во дней активности юзеров
  6. $last_date = time() - ($activedays * 24 * 60 * 60);
  7. ?>
  8. <html>
  9. <head>
  10. </head>
  11. <body>
  12. <?php
  13. $activeuserscc = 0;
  14. foreach ($xml->Members->Member as $member) {
  15. if (strtotime($member->LastLogOutTime) >= $last_date)
  16. {
  17. $activeuserscc++;
  18. }
  19. }
  20. ?>
  21.  
  22. <h2><?php echo $xml->Name; ?></h2>
  23. <span>
  24. Информация о гильдии <?php echo $xml->Name; ?>. В данные момент гильдия имеет <?php echo $xml->Level; ?> уровень, а это <?php echo $xml->Experience; ?> очков. <br/>
  25. Участников в гильдии: <?php echo count($xml->Members->Member); ?><br/>
  26. Активных пользователей: <?php echo $activeuserscc; ?><br/>
  27. </span>
  28. Уровень: <?php echo $xml->Level; ?><br/>
  29. Очки: <?php echo $xml->Experience; ?><br/><br/>
  30.  
  31. Состав гильдии:<br/>
  32. <?php
  33. $membercc = 0;
  34. ?>
  35. <table>
  36. <tr>
  37. <th>#</th>
  38. <th>Ник</th>
  39. <th>Ранг</th>
  40. <th>Уровень</th>
  41. <th>Класс</th>
  42. <th>Когда принят</th>
  43. <th>Ласт заход</th>
  44. <th>Очки гильдии</th>
  45. <th>Очки очив</th>
  46. </tr>
  47. <?php
  48. foreach ($xml->Members->Member as $member) {
  49. $membercc++;
  50.  
  51. ?>
  52. <tr>
  53. <td><?php echo $membercc; ?></td>
  54. <td><?php echo $member->Name; ?></td>
  55. <td><?php echo $member->Rank; ?></td>
  56. <td><?php echo $member->Level; ?></td>
  57. <td><?php echo $member->Calling; ?></td>
  58. <td><?php echo date('d.m.Y H:i:s', strtotime($member->Joined)); ?></td>
  59. <td><?php echo date('d.m.Y H:i:s', strtotime($member->LastLogOutTime)); ?></td>
  60. <td><?php echo $member->GuildXPContribution; ?></td>
  61. <td><?php echo $member->AchievementScore; ?></td>
  62. </tr>
  63. <?php
  64. }
  65.  
  66. $rankcc = 0;
  67.  
  68. ?>
  69. </table>
  70. <br/>
  71. Звания:<br/>
  72. <table>
  73. <tr>
  74. <th>#</th>
  75. <th>наименование</th>
  76. <th>описание</th>
  77. </tr>
  78. <?php
  79. foreach ($xml->Ranks->Rank as $rank) {
  80. $rankcc++;
  81.  
  82. ?>
  83. <tr>
  84. <td><?php echo $rankcc; ?></td>
  85. <td><?php echo $rank->Name; ?></td>
  86. <td></td>
  87. </tr>
  88. <?php } ?>
  89. </table>
  90. </body>
  91. </html>
Добавлено за 0.054 секунд, используя GeSHi 1.0.8.10

Пытался разобраться сам, вылит куча ошибок :(

П.С. В идеале ещё сделать сортировки по имени, времени и т.п. :)
Изменил(а) APTEMbI4, 19.02.2013 20:36
 
Web
jikaka
сделай отдельной страницей, замени теги html, body и т.д. на подключение фьюженовский header и footer
 
Web
Polarfox
Давай ошибки будем чинить на примере.
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле.
Ежели кто забанен за спам, но не считает себя ботом: можете сообщить мне об этом, все будет хорошо.

PolarLab - вход для подопытных
 
Web
SchreiBear
Rush написал:

тут много зависит от структуры файла.

Загрузить источник  GeSHi: PHP
  1.  
  2. echo "<table>";
  3. $xml = simplexml_load_file($file_path);
  4. foreach ($xml->row as $row) {
  5. echo "<tr><td>";
  6. echo $row->any_data;
  7. $attrs = $row->attributes();
  8. echo $attrs->any_attr;
  9. echo "</td></tr>":
  10. }
  11. echo "</table>";
  12.  
Добавлено за 0.033 секунд, используя GeSHi 1.0.8.10




у тебя в 9 строке ошибка ':' или ';'
Изменил(а) SchreiBear, 20.02.2013 01:25
Нужно сказать огромное спасибо людям, которые живут на популярных девелопер форумах и дают там адекватные ответы на абсолютно «нубские» вопросы без попыток унизить вопрошающего.
 
Pisatel
Никогда не понимал такой код:
Загрузить источник  GeSHi: PHP
  1. <? { ?>
  2. <tr>
  3. <td>
  4. <? echo "hello"; ?>
  5. </td>
  6. </tr>
  7. <? } ?>
Добавлено за 0.036 секунд, используя GeSHi 1.0.8.10

Каждый раз, когда ты делаешь <? и ?> , ты включаешь и выключаешь интерпретатор php, он у тебя дымится от этого уже наверное:-) Может, будет логичнее его один раз включать?
Загрузить источник  GeSHi: PHP
  1. <?php
  2. {
  3. echo "<tr><td> Hello </td></tr>";
  4. }
Добавлено за 0.032 секунд, используя GeSHi 1.0.8.10
?!
 
Web
APTEMbI4
Сделал хотел. При создании текстовой панели написал так:

Загрузить источник  GeSHi: PHP
  1. opentable("name");
  2. include "guildstats.php";
  3. closetable();
Добавлено за 0.036 секунд, используя GeSHi 1.0.8.10

Но блин опять проблема, весь русский текст кракозябрами. Слетает кодировка :( Где подправить?
 
Web
jikaka
первым делом проверь кодировку файла guildstats.php, чтобы она cp1251 была
 
Web
APTEMbI4
Получилось сделать, но не полностью. Русские буквы отображаются нормально, но только, те что водились в файл руками. Т.е. всё информация выводящаяся из xml выводится кракозябрами. я так понимаю что и xml должен быть в cp1251, а там utf-8.
 
Web
Pisatel
APTEMbI4 написал:

.... я так понимаю что и xml должен быть в cp1251.

Именно
 
Web
APTEMbI4
Ещё бы сказал как это сделать ab
 
Web
jikaka
через любой редактор кода
открываешь файл и через настройки, как правило, но не факт, меняешь кодировку файла
 
Web
Rush
iconv("UTF-8","Windows-1251",$data)
 
Web
Polarfox
Если добавить к out_charset строку //TRANSLIT, включается режим транслитерации. Это значит, что в случае, если символ не может быть представлен в требуемой кодировке, он будет заменен на один или несколько нескольких наиболее близких по внешнему виду символов. Если добавить строку //IGNORE, то символы, которые не могут быть представлены в требуемой кодировке, будут удалены. В случае отсутствия вышеуказанных параметров при наличии некорректных символов строка str будет обрезана до первого такого символа, и будет сгенерирована ошибка уровня E_NOTICE.
не стоит забывать.
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле.
Ежели кто забанен за спам, но не считает себя ботом: можете сообщить мне об этом, все будет хорошо.

PolarLab - вход для подопытных
 
Web
Rush
в интернете 2 кодировки, остальное выдумки)
 
Web
Polarfox
в рунете
FOXED

Вообще при неверном символе дело встанет, как и написано в мане, а так не нужно будет материться и гадать - почему встало.
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле.
Ежели кто забанен за спам, но не считает себя ботом: можете сообщить мне об этом, все будет хорошо.

PolarLab - вход для подопытных
 
Web

Поделиться этой темой
Социальные закладки: Vkontakte Odnoklassniki Mail.ru Facebook Google Tweet This
URL:
BBcode:
HTML:

Перейти на форум: