2012-11-15 41 views
0

我有下面的代碼檢索數據到一個變量:如何在PHP中複製SQL結果變量?

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

然後我試圖複製所述可變:

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

然後,我用$結果打印出來的表格:

.... 
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']; 
.... 
} 

但第二個表格不會將任何數據提示給屏幕,只是我在表格上方聲明的表格標題。

感謝您的任何幫助/ PHP編碼指導方針/建議。

+0

沒有任何結果,我初次嘗試$ copyresult = $結果,並沒有工作要麼 –

+1

'同時($ row1 = mysql_fetch_assoc($ resultCopy)){ foreach($ row1 as $ key => $ value){ c1 [$ key] = $ value; c2 [$ key] = $ value; } }' –

回答

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']; 
} 
+0

你爲什麼說FOreach($名稱爲$ v)? isnt php懶惰鍵入和$ v的類型不會在那個時候存在? –

+0

或者是否遍歷數組元素中的值?就像是在一行中有名字,地點,id一樣,它會遍歷行中的每個元素? –

+0

你明白了......它只是通過每個數組元素。 $ v只是$ names [$ x],如果$ x是for循環中的枚舉器。 –

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); 
+0

foreach($ row爲$ key => $ value)是做什麼的?我從來沒有見過以前使用過的=>。 –

+0

http://in3.php.net/manual/en/control-structures.foreach.php –

1

@ jordan.peoples

如果$rowarray(key => value)array('iam' => 'vknyvz')然後 foreach($row as $key => value) echo $key . ' ' . $value //iam vknyvz

它打印出兩個鍵然後將其值

秒一個是另一參考爲相同的值。 當你第一次打印結果,結果