0

送信ボタンをクリックした後、php simpleXML でページネーションを作成する必要があります。

これは私のxmlファイルです

 <events>
        <event_data>
           <id>1</id>
       <name>Club 1</name>
        </event_data>

        <event_data>
            <id>2</id>
        <name>Club 2</name>
        <event_data>

        <event_data>
            <id>3</id>
            <name>Club 3</name>
        </event_data>

        <event_data>
            <id>4</id>
            <name>Club 4</name>
        <event_data>

        <event_data>
            <id>5</id>
            <name>Club 5</name>
        </event_data>
 <events>

私のphpファイルはこれです:

<form action="" method="post">
    <div class="select_club">
        <select name="clubname" class="club">
            <option value=""> Club auswählen</option>
            <option value="Club 1">Club 1</option>
            <option value="Club 2">Club 2</option>
            <option value="Club 3">Club 3</option>
            <option value="Club 4">Club 4</option>
            <option value="Club 5">Club 5</option>
        </select>
    </div>
    <input type="submit" name="submitClub" value="Submit" />
</form>

<?php

?>

<div id="eventList">
<?php 
    $startPage = $_GET['page'];
    $perPage = 3;
    $currentRecord = 0;

    $sxe = simplexml_load_file('events.xml');  

    if($sxe) {
        if(isset($_POST['submitClub'])) {
            foreach($sxe->events->event_data as $key => $value) {
                $currentRecord += 1;
                if($currentRecord > ($startPage * $perPage) && $currentRecord < ($startPage * $perPage + $perPage)){

                    echo $value->name;
                    echo "<br>";
                }
            }
            //and the pagination:
            for ($i = 1; $i <= ($currentRecord / $perPage); $i++) {
                echo("<a href='http://hasselbach.rpdweb.de/test?page=".$i."'>".$i."</a>");
            }
        } else {
            echo 'Keine Eevnts vorhanden';
        }
    } else {
        echo 'Datei könnte nicht geöffnet oder gefunden werden!';
    }
?>

</div>

上記のコードのようにすると、最初の 3 つの結果が得られますが、2 ページ目をクリックすると空のページが表示されます。PHPファイルの送信部分を削除すると、すべてが機能します。

誰かが私を助けたり、ヒントをくれたりしたら最高です。

私も自分の問題をグーグルで調べましたが、私の問題には何も当てはまりませんでした。

みんなの助けに感謝

4

2 に答える 2

1

私はあなたの問題がこの行からなると思います:

if(isset($_POST['submitClub'])) {

2 番目のページを呼び出すと、フォームは投稿されず、$_POST['submitClub'] は設定されません。

これを試すことができます:

<?php 
$startPage = $_GET['page'];
$perPage = 3;
$currentRecord = 0;

$sxe = simplexml_load_file('events.xml');  

if($sxe) {

    $submitClub = null;
    if (isset($_POST['submitClub'])) {
        $submitClub = $_POST['submitClub'];
    } elseif (isset($_GET['submit-club'])) {
        $submitClub = urldecode($_GET['submit-club']);
    }

    if(!is_null($submitPost)) {
        foreach($sxe->events->event_data as $key => $value) {
            $currentRecord += 1;
            if($currentRecord > ($startPage * $perPage) && $currentRecord < ($startPage * $perPage + $perPage)){

                echo $value->name;
                echo "<br>";
            }
        }
        //and the pagination:
        for ($i = 1; $i <= ($currentRecord / $perPage); $i++) {
            echo("<a href='http://hasselbach.rpdweb.de/test?page=".$i."&submit-club=".urlencode($submitClub)."'>".$i."</a>");
        }
    } else {
        echo 'Keine Eevnts vorhanden';
    }
} else {
    echo 'Datei könnte nicht geöffnet oder gefunden werden!';
}
于 2013-08-14T09:56:25.857 に答える