1

私は現在、DJ の Web サイトで作業しており、彼はギグに GigaTools を使用しています。現時点では、GigaTools フィード (xml) を php で解析し、テーブルを使用して Web サイトに表示しています。ただし、これは表示されるレコードの最大数 (12) に制限されています。これは Web サイトに適合するものだからです。

これは私が現在使用しているスクリプトです:

      <?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 フィードを複数のタブに表示して、12 よりも多くのギグを表示できるようにします。たとえば、フィードに 15 ギグがある場合、最初の 12 を最初のタブに表示し、残りの 3 を2 番目のタブ。フィードにあるギグの数に必要な数のタブを表示したいと思います。したがって、タブの数は、フィード内のギグの数に応じて自動的に変更する必要があります。だから私は空のタブを取得しません。

今半日検索しましたが、インターネット上で良い解決策が見つかりません。私はプログラミングが得意ではないので、調整できるチュートリアルまたはスクリプトが本当に必要です。

誰かがチュートリアルなどで正しい方向に向けたり、このためのスクリプトを手伝ってくれたりできますか?

前もって感謝します!そして私の下手な英語で申し訳ありません;)

4

2 に答える 2

1

JQuery UI Tabsを使用できます。

ここで非常に簡単な例を見つけることができます。そのようなテーブルを生成するようにスクリプトを変更するのは簡単なはずです

<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>
于 2012-09-27T13:29:36.593 に答える
0

ありがとう!Gigatools 用の PHP XML パーサーを探していました...

私も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>";
    ?>
于 2015-07-26T17:21:27.687 に答える