1

データを変数に取得する次のコードがあります。

$result = mysql_query("SELECT ............

次に、上記の変数をコピーしようとします:

if (!$result) {......}
else{
        $ref =& $result;
        $resultCopy = $ref;
        echo '</br></br>SQL STMT EXECUTED CORRECLTY</br></br>';
    }

次に、$result を使用してテーブルを出力します。

....
while ($row = mysql_fetch_assoc($result)) {
 echo '<tr>';
 echo '<td>';
 echo $row['name'];
 ....
 }

次に、$resultCopy を使用してテーブルを印刷しようとします。

while ($row1 = mysql_fetch_assoc($resultCopy)) {
 echo '<tr>';
 echo '<td>';
 echo $row['name'];
 ....
 }

しかし、2番目のテーブルは画面にデータをPRintしません。テーブルの上で宣言したテーブルヘッダーだけです。

助けてくれてありがとう / php コーディングガイドライン / アドバイス。

4

3 に答える 3

2

これはどう?

function MakeCopy($result,&$c1,&$c2){ 
    while($row = mysql_fetch_assoc($result)){
        foreach($row as $key=>$value){         
             $c1[$key]=$value; 
             $c2[$key]=$value; 
       }
   }
}
//call the function like this
$copy1=array();
$copy2=array();
MakeCopy($result,$copy1,$copy2); 
于 2012-11-15T05:35:00.700 に答える
1

@ jordan.peoples

$rowのようarray(key => value)array('iam' => 'vknyvz')場合 foreach($row as $key => value) echo $key . ' ' . $value //iam vknyvz

両方のキーとその値を出力します

于 2012-11-15T05:44:34.643 に答える
1

配列内の各行をキャプチャする最初のループ:

$names = array();
while ($row = mysql_fetch_assoc($result)) {
 $names[] = $row;
 echo '<tr>';
 echo '<td>';
 echo $row['name'];
 ....
}

作成した配列を反復処理します。

foreach( $names as $v ) {
 echo '<tr>';
 echo '<td>';
 echo $v['name'];
}
于 2012-11-15T05:31:54.457 に答える