1

首先,我要为我糟糕的英语感到抱歉。

我不是 php/html/xml 的专业人士。

我有用户的 xml 文件“bans.xml”(例如 1 个用户):

`
<ban>
<datetime>30/09/2013 08:20:33 GMT Standard Time</datetime>
<nick>Player 1</nick>
<method>Key</method>
<period>Perm</period>
<address>IP ADRESS</address>
<profileid>PROFILE ID</profileid>
<cdkeyhash>871358843</cdkeyhash>
<by>21 from IP name='Im Admin 1'</by>
<reason>Reason 1</reason>
<whenBanned>0001-01-01T00:00:00</whenBanned>
</ban>
`

我想在 html 或 php 上显示它。如果有人喜欢它可以通过 mysql 基地。

我需要这个简单的表格,可以按尼克搜索。

带显示:

nick / by(如果可能,只有 name='nick')/日期时间(如果可能,没有这个“GMT 标准时间”)/原因

如果可能的话,可以在默认列表中按“日期”(新 -> 旧)自动排序吗?

例子:

`
Search:
[write here your nickname] [[Button Search]] 
_______________________________________
# | NICKNAME | Admin | Date | Reason |
________________________________________
1.| Player x | Im Admin 1 | 30/09/2013 08:21:56 |  Reason 1
2.| Player y | Im Admin 2 | 30/09/2013 08:20:30 |  Test

`

如果有人写昵称并且他在列表中,则仅显示他的数据。如果他不在名单上,它会显示“你没有被禁止”之类的东西。

非常感谢帮助的人:) Best Regrads。

4

2 回答 2

0

唯一的指南,让你有自己的想法;-)不要在生产服务器上使用 - 唯一的指南

  1. 读取 xml
  2. 解析xml
  3. 将 xml 输出到 html 表中
  4. 应用 jquery 数据表

提示* 让你自己的函数来提取日期时间,清理代码,这很脏!考虑是否存在 XML 文件并通过 PHP 处理文件

演示

http://www.cdn.houba.info/xml/

示例代码

<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <link rel="stylesheet" type="text/css" href="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/css/jquery.dataTables.css">
    <link rel="stylesheet" type="text/css" href="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/css/jquery.dataTables_themeroller.css">
    <script type="text/javascript" charset="utf8" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.2.min.js"></script>
    <script type="text/javascript" charset="utf8" src="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/jquery.dataTables.min.js"></script>
  </head>
  </body>

  <table id="example">

    <thead>
      <tr>        
        <th>Nick</th>
        <th>Admin</th>
        <th>Date / Time</th>
        <th>Reason</th>
      </tr>
    </thead>

    <tbody>

  <?php

  // XXXXXXX - local source, 
  // ex.. 'ban.xml' 

  $url = ('XXXXXXX');
  $xml = simplexml_load_file( urlencode($url), null, true);


  ?>

  <?php foreach ( $xml->ban as $b ) :?>
      <tr>        
        <td><?php echo $b->nick; ?></td>
        <td><?php echo $b->by; ?></td>
        <!-- THIS IS DIRTY, JUST FOR EXAMPLE -->
        <td><?php echo mb_substr( $b->datetime, 0, 19 ); ?></td>
        <td><?php echo $b->reason; ?></td>
      </tr>
  <?php endforeach; ?>

   </tbody>
  </table>

<script type="text/javascript" charset="utf-8">
  $(document).ready(function() {
      $('#example').dataTable( {
          "sScrollY": 200,
          "bJQueryUI": true,
          "sPaginationType": "full_numbers"
      } );
  } );
</script> 


</body>
</html> 
于 2013-09-30T12:50:39.527 回答
0

感谢大家快速回复。我不是那种什么都不做的人,到处写“帮助”,然后等着有人为他做所有的工作。

我忘记了问题得到我的代码我做什么(不是我的工作 - 谷歌一切寻找答案并红色一些tutroials)。

'
<?php
$xml = simplexml_load_file("ban.xml");
?>
<?php 
/* pobieramy datę ostatniej modyfikacji pliku ban.xml */ 
$ostatnio_mod = filemtime("ban.xml"); 
/* Wyświetlamy wynik */ 
print("Generated: "); 
print(date("j-m-y h:i:s", $ostatnio_mod));
?>
<table>
<thead>
<tr>
<th>Nickname</th>
<th>Admin</th>
<th>Date</th>
<th>Reason</th>
</tr>

<?php foreach ($xml->ban as $ban) :?>
<tr>
<td><?php echo $ban->nick; ?></td>
<td><?php echo $ban->by; ?></td>
<td><?php echo $ban->datetime; ?></td>
<td><?php echo $ban->reason; ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<br>
<br>
<?php
echo "TOP Admins";
echo "<br>";
$getText = file_get_contents("ban.xml", true);
$Test = substr_count($getText ,"Test");

$Im_Admin = substr_count($getText ,"Im Admin");
$All_Admins = substr_count($getText ,"Im Admin","Test");
$getAdmins = $Test - $Im_Admin ;
echo "Test =". $getAdmins;

echo "<br>";
echo "Im_Admin =". $Im_Admin ;
echo "<br>";
echo "All Admins BANs:". $All_Admins ;
?> 
'

但如果你看不到我能做的一切。我对“搜索”有问题 - 这是最糟糕的:/我不知道如何:1)在 Admin 中删除 - 从 62.247.128.108 name='Test' 中删除 21 并且只显示“Test” 2)在日期中 - 删除“格林威治标准时间”

但我看到 Honza.M 正在做我尝试做的事情。我尝试使用您的代码,因为 html 对我来说是最好的选择,但 php 仍然可能。

如果有人可以(或您 Honza)升级您的代码,那将会很酷。我尝试再做一件事来做你的代码的移动版本。就像是:

'
[Search]
Nickname 1
Nickname 2
Nickname 3
'

当有人在[搜索]中写下他的昵称并显示他时,他可以按他的昵称并获得完整的页面信息:

'
You Are Banned
Your Nickname: Nickname 1
Banned by Admin: Test
Date of ban: 1/01/2013 8:08:00

Reason: Cheating
'

好的,我看到很多事情要做,所以我回去工作:),如果有人有任何建议或可以提供帮助,请写信:) 这将非常有帮助。

非常感谢 Honza.M 和大家。

于 2013-09-30T18:32:57.907 回答