2

DataTables に問題があります。別のページのリンクから表のあるページに移動すると、HTML の「テキスト」バージョンの表のみが読み込まれ、CSS からの書式設定も JavaScript (並べ替え、検索など) も行われません。 )。ただし、ページを更新すると、完全に読み込まれます。この問題に対する答えを探したところ、ページを切り替えるときに「全体」の HTML コードをロードしないため、JQm に問題がある可能性があることがわかりました。スタイルと JavaScript タグをあちこちに移動しましたが、うまくいきません。私は DataTables Web サイトにあるデフォルトの例を使用しており、コードを変更していません。

私は一般的にjQueryとWeb開発に慣れていないので、誰かが私を助けてくれれば本当に感謝しています. また、他に変えるべきことがあれば、もっと良いテクニックを学びたいです!

PS ボタンにリンクするだけで、このページにリンクしています。

これが私のコードです:

<?php
require_once 'classes/Membership.php';
$membership = New Membership();

$membership->confirm_EventAdmin();
session_start();
$con = mysql_connect("mysql server","user","pass");
if(!$con){
    die('Could not connect: ' . mysql_error());
    }
mysql_select_db("clip_comp_server1", $con);

mysql_query("ALTER TABLE $_SESSION[adminEvent] ORDER BY Score DESC");

$query = "SELECT CandID,Score,Team FROM $_SESSION[adminEvent]";
$infoList = mysql_query($query);
?>
<!DOCTYPE HTML>
<html>
<head>
<title>Event Scores and Rankings</title>
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
    <link rel="stylesheet" href="/css/themes/CLIPTheme.css" />
    <script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
    <script type="text/javascript" charset="utf-8" src="/clip_v1/DataTables-1.9.4/media/js/jquery.dataTables.js"></script>

<style type="text/css">
    h1 {
        text-align: center;
    }

    h4  {
        line-height: 1.5;
    }

    .ui-btn-active { color: white !important; background: none !important; background-color: #006600 !important;  }
    .ui-btn-inner {border: 0;}
</style>
<style type="text/css">
    @import "/clip_v1/DataTables-1.9.4/media/css/demo_table.css";
    @import "/clip_v1/DataTables-1.9.4/media/css/demo_page.css";
</style>
</head>
<body>

    <div data-role="page" data-theme="a" data-content-theme="a" id="page" data-add-back-btn="true">
    <div data-role="header" data-position="fixed">
    <div>
        <h1>Event Scores and Rankings</h1>
    </div>
    <!--a href="#" data-role="button" data-rel="back" data-icon="arrow-l" style="height: 80%"><span style="font-size: 1.75em">Back</span></a-->


        <div data-role="navbar" data-grid="c" class="ui-navbar ui-mini" role="navigation" style="border: 0;">
            <ul class="ui-grid-c">
                <li class="ui-block-a"><a href="eventRegister.php" data-corners="false" data-shadow="false" data-iconshadow="true" data-wrapperels="span" data-theme="a" data-inline="true" class="ui-btn ui-btn-inline ui-btn-up-c"><span class="ui-btn-inner"><span class="ui-btn-text" style="font-size: 1.5em">Registration</span></span></a></li>
                <li class="ui-block-b"><a href="teamAssigner.php" data-corners="false" data-shadow="false" data-iconshadow="true" data-wrapperels="span" data-theme="a" data-inline="true" class="ui-btn ui-btn-inline ui-btn-up-c"><span class="ui-btn-inner"><span class="ui-btn-text" style="font-size: 1.5em">Teams</span></span></a></li>
                <li class="ui-block-c"><a href="scoreDisplay.php" class="ui-btn ui-btn-inline ui-btn-up-c ui-btn-active" data-corners="false" data-shadow="false" data-iconshadow="true" data-wrapperels="span" data-theme="a" data-inline="true"><span class="ui-btn-inner"><span class="ui-btn-text" style="font-size: 1.5em">Stats</span></span></a></li>
                <li class="ui-block-d"><a href="challengeContent.php" data-corners="false" data-shadow="false" data-iconshadow="true" data-wrapperels="span" data-theme="a" data-inline="true" class="ui-btn ui-btn-up-c ui-btn-inline"><span class="ui-btn-inner"><span class="ui-btn-text" style="font-size: 1.5em">Challenges</span></span></a></li>
            </ul>
        </div>
    </div>
    <div data-role="content" style="border: 0">     

          <table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
        <thead>
          <tr>
            <th>ID</th>
            <th>Score</th>
            <th>Rank</th>
            <th>Team</th>
          </tr>
        </thead>
        <tbody>
          <?php
            $rank = 1;
            while ($index = mysql_fetch_row($infoList)) {
                echo "<tr class=\"odd gradeA\">";
                echo "<td class=\"center\">" . $index[0] . "</td>";
                echo "<td class=\"center\">" . $index[1] . "</td>";
                echo "<td class=\"center\">" . $rank . "</td>";
                echo "<td class=\"center\">" . $index[2] . "</td>";
                echo "</tr>";
                $rank = $rank + 1;
                if ($index = mysql_fetch_row($infoList)) {
                    echo "<tr class=\"even gradeA\">";
                    echo "<td class=\"center\">" . $index[0] . "</td>";
                    echo "<td class=\"center\">" . $index[1] . "</td>";
                    echo "<td class=\"center\">" . $rank . "</td>";
                    echo "<td class=\"center\">" . $index[2] . "</td>";
                    echo "</tr>";
                    $rank = $rank + 1;
                }
            }
          ?>          
        </tbody>
        <tfoot>
          <tr>
            <th>Candidate ID</th>
            <th>Score</th>
            <th>Rank</th>
            <th>Team Assignment</th>
          </tr>
        </tfoot>
      </table>
    </div>
    </div>
<script type="text/javascript" charset="utf-8">
$(document).ready( function () {
    $('#example').dataTable();
} );
</script>
</body>
</html>

ありがとうございました!

4

1 に答える 1

0

すべてのリソースをローカルでホストしてみてください (jQmobile css、jQuery、jQmobile)。

補足: PHP を使用していることがわかります。mysql_* の代わりに PDO または mysqli_* を使用してください。詳細はこちら: MySQL に対する MySQLi の利点

于 2012-12-17T22:07:05.703 に答える