我目前正在制作DJ的网站,他使用GigaTools进行演出。 目前,我使用php解析了GigaTools feed(xml)并在网站上显示了一个表格。但这仅限于显示的最大数量(12)的记录,因为这适用于网站。
这是我目前正在使用的脚本:
<?php
$gigatools = simplexml_load_file('http://gigs.gigatools.com/user/MikeRavelli.xml');
echo "<table id='gigs_parse'>\n";
for($i = 0; $i < 12; $i++) {
$event = $gigatools->event[$i];
$day=$event->day;
$month=$event->month;
$name=$event->name;
$venue=$event->venue;
$city=$event->city;
$country=$event->country;
if($month == 1){
$maand = 'JAN';
} else if($month == 2){
$maand = 'FEB';
} else if($month == 3){
$maand = 'MAR';
} else if($month == 4){
$maand = 'APR';
} else if($month == 5){
$maand = 'MAY';
} else if($month == 6){
$maand = 'JUN';
} else if($month == 7){
$maand = 'JUL';
} else if($month == 8){
$maand = 'AUG';
} else if($month == 9){
$maand = 'SEP';
} else if($month == 10){
$maand = 'OCT';
} else if($month == 11){
$maand = 'NOV';
} else if($month == 12){
$maand = 'DEC';
}
echo "<tr class='row'><td class='date'><span>",$day,"</span><br/>",$maand,"</td>\n";
echo "<td class='party'><a href='",$url,"' target='_blank'>",$name,"</td>\n";
echo "<td class='location'>",$venue,", ",$city,", ",$country,"</td>\n";
}
echo "</table>";
?>
我希望xml Feed显示在多个标签中,这样就可以显示更多的演出。例如,如果Feed中有15个演出,我希望前12个在第一个标签上,另一个第二个选项卡上的3。 我想根据需要为Feed中的演出数量显示尽可能多的标签。因此,标签的数量必须根据Feed中的演出数量自动更改。所以我不会得到任何空白的标签。
我现在搜索了半天,我在互联网上找不到任何好的解决方案。 我不擅长编程,所以我真的需要一个我可以调整的教程或脚本。
有人能指出我正确的方向,例如教程或帮我写一个脚本吗?
提前致谢! 并且b.t.w。抱歉我的英语不好;)
答案 0 :(得分:1)
您可以使用JQuery UI Tabs。
您可以找到一个非常简单的示例here。更改脚本以生成类似
的表格应该很容易<div id="tabs">
<ul>
<li><a href="#tabs-1">First</a></li>
<li><a href="#tabs-2">Second</a></li>
<li><a href="#tabs-3">Third</a></li>
</ul>
<div id="tabs-1">
<p>First tab contents</p>
</div>
<div id="tabs-2">
<p>Second tab contents</p>
</div>
<div id="tabs-3">
<p>Third tab contents</p>
</div>
</div>
之后,您必须在文档的<head>
中添加JQuery UI所需的所有js和css:
<link rel="stylesheet" href="../../themes/base/jquery.ui.all.css">
<script src="../../jquery-1.8.0.js"></script>
<script src="../../ui/jquery.ui.core.js"></script>
<script src="../../ui/jquery.ui.widget.js"></script>
<script src="../../ui/jquery.ui.tabs.js"></script>
<link rel="stylesheet" href="../demos.css">
最后,只需调用实际创建选项卡的函数
<script>
$(function() {
$( "#tabs" ).tabs();
});
</script>
答案 1 :(得分:0)
谢谢你!正在为Gigatools搜索PHP XML Parser ......
我也是PHP新手,但不会像这样更好:
<?php
$feed = 'http://gigs.gigatools.com/user/MikeRavelli2.xml';
$gigatools = simplexml_load_file($feed)or
die ("Fehler beim Laden des Feeds: ".$feed."\n");;
$countgigs = count($gigatools->event);
echo "<table id='gigs_parse'>\n";
if ($countgigs > 12) {
$gigs = 12;
} else {
$gigs = $countgigs;
}
for($i = 0; $i < $gigs; $i++) {
$event = $gigatools->event[$i];
$day=$event->day;
$month=$event->month;
$name=$event->name;
$venue=$event->venue;
$city=$event->city;
$country=$event->country;
if($month == 1){
$maand = 'JAN';
} else if($month == 2){
$maand = 'FEB';
} else if($month == 3){
$maand = 'MAR';
} else if($month == 4){
$maand = 'APR';
} else if($month == 5){
$maand = 'MAY';
} else if($month == 6){
$maand = 'JUN';
} else if($month == 7){
$maand = 'JUL';
} else if($month == 8){
$maand = 'AUG';
} else if($month == 9){
$maand = 'SEP';
} else if($month == 10){
$maand = 'OCT';
} else if($month == 11){
$maand = 'NOV';
} else if($month == 12){
$maand = 'DEC';
}
echo "<tr class='row'><td class='date'><span>",$day,"</span><br/>",$maand,"</td>\n";
echo "<td class='party'><a href='",$url,"' target='_blank'>",$name,"</td>\n";
echo "<td class='location'>",$venue,", ",$city,", ",$country,"</td>\n";
}
echo "</table>";
?>