2013-01-10 64 views
1

我有一個變量稱爲PHP MYSQL_RESULT陣列問題

$staff=mysql_query($aSQL, $staffDirectory) or die(mysql_error()); 

和列表的顯示是在這裏:

<table> 
<?php if(!empty($row_staff)){ do { ?> 
<tr> 
<td rowspan="3"><?php 
if(!isset($row_staff['photo'])){ 
     echo "<img width='100px' src='images/user_default.PNG'/>"; 
    }else{ 
     echo "<img width='100px' src='".$row_staff['photo']."'/>"; 
    } 
?></td> 
<td align="left"><h4 ><span class="staffList"><?php echo $row_staff['name_eng']; ?><br /> 
</span></h4> 
<h4> <span class="staffList"><?php echo $row_staff['name_chi']; ?> </span></h4></td> 
<td rowspan="3"><span class="staffList"><img src="images/phone32.png" alt="" width="32" height="32" /> <?php echo $row_staff['contact_no']; ?><br /> 
    <img src="images/printer32.png" alt="" width="32" height="32" /> <?php echo $row_staff['fax_no']; ?><br /> 
    <img src="images/mail32.png" alt="" width="32" height="32" /> <?php echo $row_staff['email']; ?></span></td> 
</tr> 
    <tr>  
    <td> 
    <p><span class="staffList"><?php echo $row_staff['groupname']; ?><br /> 
    <?php echo $row_staff['department']; ?><br /> 
    Joined on : 
    <?php echo $row_staff['date_join']; ?></span></p></td> 
</tr> 
    <tr> 
    <td valign="middle"><p>&nbsp;</p></td> 
    </tr> 
    <?php } while ($row_staff = mysql_fetch_assoc($staff));} ?> 

而且我用這個名各顯示一個列表,所以該列表默認情況下只顯示一切。當我執行一些排序或搜索時,我將更改此工作人員變量,並且我的列表將更新。

我現在的問題是,我想導出數組到一個XLS文件,除了數組,一切都很好。

這裏是代碼

$i=0; 
     for($x = 0;$x<mysql_num_rows($staff);$x++){ 
     //do{ 
      $i = $x+2; 
      mysql_data_seek($staff,$x); 
      $array = mysql_fetch_row($staff); 

這$人員變量保持不變作爲初始之一,所以無論我如何執行我的搜索和排序,顯示列表會顯示結果,但是當我嘗試檢索這個變量,它仍然是最初顯示所有內容的變量。所以,我很困惑,我該如何解決它?我真的很困惑...

+0

爲$數組的數組變量或普通的變量? –

+0

$ array是使用索引 –

回答

0

你正在使用$row_staff之前的while循環中獲取你的sql。

你不會得到任何數據,這將是不確定的變量$row_staff

+0

訪問的數組變量row_staff用於存儲指針當前指向的mysql_result的記錄,因此每次檢索mysql_result變量時它都會更改,它與$ array變量 –

+0

$ row_staff在代碼的最後一個定義。當你使用while循環。但是您在定義之前使用它。 –

+0

這是代碼片段......它是在加載頁面時定義的...代碼的這一部分沒有問題,問題是從$ staff出來的列表是正確的,但是當我檢索實例時從同樣的$員工,這不是... –