-1

私の最初のphpアプリケーションを書いています。ループ文または条件文を追加する方法に行き詰まっています...Oracleデータベースクエリからサイトナビゲーションを追加しています...プライマリおよびセカンダリナビゲーション...必要な場所をコードに書き留めましたulタグが書かれているかどうかを判断するifまたはwhileステートメント。プライマリ ナビゲーションの下にセカンダリ ナビゲーションがある場合にのみ、ul class = サブタグを記述し、それに続くliリストが必要です。私を正しい方向に向ける提案はありますか?前もって感謝します...

`

        $t1_query = "SELECT * FROM PLUS_NAV_T1 ORDER BY POSITION ASC";
        $t1_parse = oci_parse($sm_conn, $t1_query);
        oci_execute ($t1_parse);
        /* Add query error catch*/

        while ($t1_row = oci_fetch_array($t1_parse, OCI_ASSOC)) {
            echo "<li><a href=\"#\" title=\"\" class=\"exp\"><span>{$t1_row["T1_NAME"]}</span></a>";

                $t2_query = "SELECT * FROM PLUS_NAV_T2 WHERE T1_ID_FK = {$t1_row["ID_PK"]} ORDER BY POSITION ASC ";
                $t2_parse = oci_parse($sm_conn, $t2_query);
                oci_execute ($t2_parse);
                /* Add query error catch*/

                /*Need a conditional here so ul tag is only written when the primary nav has secondary nav*/
                    echo "<ul class=\"sub\">";
                    while ($t2_row = oci_fetch_array($t2_parse, OCI_ASSOC)) {
                        echo "<li><a href=\"#\" title=\"\" style=\"color\">{$t2_row["T2_NAME"]}</a></li>";
                    }
                    echo "</ul>";

            echo "</li>";
        }

`

4

1 に答える 1

0

私は Oracle ドライバーに詳しくありませんが、おそらくそのoci_num_rows()機能が必要でしょう。2 番目のクエリを発行すると、その関数を呼び出して、ゼロ以外の値が返されるかどうかを確認できるはずです。

if (oci_num_rows($t2_parse)) {
    // your code to output the UL
}

実際には、おそらく oci_execute() が true を返すことも確認する必要があるため、おそらく次のようになります。

if (oci_execute($t2_parse) && oci_num_rows($t2_parse)) {
    // ...
}
于 2012-10-01T17:57:49.740 に答える