0

Web全体を検索したか、表示されません。

私は次のことをしたい:

<?php

 function abc(){
   $sql = "SELECT * FROM table";
   $result = mysql_fetch_assoc($sql);
   $data = mysql_fetch_assoc($result);
}

?>

<? while(abc()) : ?>

   <?=article_title()?>
   <?=article_content()?>

<?=endwhile;?>

誰かが私に方向性や例を教えてもらえますか?

どうもありがとうございます

4

2 に答える 2

2

PHPにはジェネレーター/イテレーター関数がないため、それを行うことはできません。

ただし、配列を返し、その配列を反復処理することはできます。

function abc() {
    // ...
    $rows = array();
    while($row = mysql_fetch_assoc($result)) { $rows[] = $row; }
    return $rows;
}

foreach(abc() as $row) {
    // do something
}

呼び出す関数が行にアクセスする必要がある場合は、引数として渡します。それのためにグローバル変数を使用することは非常に悪い/厄介です

于 2012-04-23T17:54:11.197 に答える
1

あなたはそのようなことをしようとしましたか?

<?php
function getData(){
    //get the data from the database
    //return an array where each component is an element found
}

$elems = getData();
foreach($elems as $e){
    doSomethingWith($e);
}
于 2012-04-23T17:58:41.793 に答える