0

私はウェブサイトのリリースに取り組んでいます。ホームページには、さまざまなアプリの最新リリースがすべて表示されます。次に、アプリごとに、リリースされたすべてのバージョンを見つけることができる個別のページがあります

データベースから結果を取得する必要があるため、while ループを使用します (1 つは 32 ビット用、もう 1 つは 64 ビット用)。ホームページで使用すると、想定どおりに機能します。クエリから必要な結果が正確に得られます。

しかし、2 番目のページで使用すると、32 ビットの while ループによってすべての結果が 2 倍になります。ただし、64ビットから同じバージョン番号がある場合のみ。64 ビットの while ループは問題なく動作します。

ここにコードの一部があります(いくつかの間違いがありますが、同じIDやすべてなど、それらに取り組んでいます)これはおそらく最善のアプローチではないことも知っていますが、ホームページでは機能するので、実際にそれはちょうどこのように

                <div class="content">
                <div class="content-1">
                        <?php

                    $page = $_GET["pageid"];                            
                        echo "<p class='intro'>Download here the ".$page." final releases</p>";


                    echo "<h3>".$page."</h3>";

                        require("Function/query.php");

            $queryapp = $amx32;
                $queryapp_result = mysql_query($queryapp);


                    while ($queryapprow = mysql_fetch_array($queryapp_result))
                    {
                        $queryapp64 = $amx64;
                        $queryapp64_result = mysql_query($queryapp64);
                        while ($queryapprow64 = mysql_fetch_array($queryapp64_result))
                            {   

                echo "<div class='amxrow' style='opacity:1;'>       
                        <p class='tables'>
                        <table class='table1'>
                        <thead>
                            <tr>
                                <th scope='row' id='bit32'>32 Bit</th>
                                <th scope='row' id='bit64'>64 Bit</th>
                            </tr>
                        </thead>        
                            <tbody>

                                <tr>

                                    <th scope='row'>Version</th>
                                    <td class='version'>".$queryapprow['Version']."</td>
                                    <td class='version64'>".$queryapprow64['Version']."</td>

                                </tr>
                                <tr>
                                    <th scope='row'>Released</th>
                                    <td class='datum'>".$queryapprow['Released']."</td>
                                    <td class='datum64'>".$queryapprow64['Released']."</td>
                                </tr>
                                <tr>
                                    <th scope='row'>Build by</th>
                                    <td>".$queryapprow['BuilBy']."</td>
                                    <td>".$queryapprow64['BuilBy']."</td>
                                </tr>   

                            </tbody>    
                        </table>
                        </p>
<div class='panelnotes'>


            <div style='clear:both;'></div>
                <div class='columnsnotes'>
                    <div class='colleftnotes'>
                    ".nl2br($queryapprow['Notes'])." 
                    </div>
                </div>       
                        <div style='clear:both;'></div>

            </div>

            <div class='triggernotes' style='opacity:1;'>Release   Notes</div>
            <a href='http://localhost/ReleaseWebsite/".$queryapprow['path']."'><div class='download32' style='opacity:1;'>Download redhat_e5 32bit</div></a>
                        <a href='http://localhost/ReleaseWebsite/".$queryapprow64['path']."'><div class='download64' style='opacity:1;'>Download redhat_e5 64bit</div></a>



                            <hr noshade id='line1'>
                            </div>";


            }       
            }

                            ?>

誰でもアイデアはありますか?

編集 ここに2つのクエリがあります:

$amx32 = "SELECT * FROM $page WHERE Type='Final' AND architecture= '32bit' ORDER BY  Version DESC";
$amx64 = "SELECT * FROM $page WHERE Type='Final' AND architecture= '64bit' ORDER BY Version DESC";

@Mr.alien $page はそれとは何の関係もありません。選択されるアプリケーションテーブルのみを提供します

4

1 に答える 1

0

ネストされたループによりプログラムが 2 回ループする可能性があるため、32 ビットと 64 ビットのループを分離することをお勧めします。

例:

//32 ビットのループ

その間(){

} //64 ビットのループ

その間(){

}

于 2012-10-02T08:38:07.257 に答える