2013-03-16 32 views
2

我用兩個查詢中的數據創建一個表,並嘗試將它們連接到一個表中。 使用這樣的嘗試:PHP:表中兩個mysql_fetch_array

$counter = 1; 

    echo '<table border="0" cellpadding="0" cellspacing="3"><tr> 
       <td width="10%">Miejsce</td> 
       <td width="25%">Nick</td> 
       <td width="20%">SteamID</td> 
       <td width="20%">Punkty</td> 
       </tr>'; 

        while($row = mysql_fetch_array($skill_b) AND $row2 = mysql_fetch_array($sid_b)) 
        { 
         echo '<tr class="select">'; 
         echo '<td>'.$counter.'</td>'; 
         echo '<td><center>'.$row['lastName'].'</center></td>'; 
         echo '<td><center>'.$row2['uniqueId'].'</center></td>'; 
         echo '<td><center>'.$row['skill'].'</center></td>'; 
         echo '</tr> 
        $counter++; 
        } 

    echo '</table>'; 

$counter = 1; 
    echo '<table border="0" cellpadding="0" cellspacing="3"><tr> 
       <td width="10%">Miejsce</td> 
       <td width="25%">Nick</td> 
       <td width="20%">SteamID</td> 
       <td width="20%">Punkty</td> 
       </tr>'; 
              echo '<tr class="select">'; 
              echo '<td>'.$counter.'</td>'; 
        while($row = mysql_fetch_array($skill_b)) 
        { 
         echo '<td>'.$row['lastName'].'</td>'; 
        } 
        while($row2 = mysql_fetch_array($sid_b)) 
        { 
         echo '<td>'.$row2['uniqueId'].'</td>'; 
        } 
        while($row3 = mysql_fetch_array($skill_b)) 
        { 
         echo '<td>'.$row3['skill'].'</td>'; 
        } 
        $counter++; 
    echo '</table>'; 

第二個幾乎工程,但它崩潰整個表,所以我不能看到所有的結果。

查詢看起來是這樣的,如果有什麼東西可以在它們被改變:

$query_skill = sprintf(
    "SELECT skill, lastName 
    From hlstats_Players 
    ORDER BY skill DESC 
    LIMIT 10"); 

$skill_b = mysql_query($query_skill); 
$skill = mysql_result($skill_b, -1); 

$query_sid = sprintf(
    "SELECT uniqueId 
    From hlstats_PlayerUniqueIds 
    WHERE playerId='$pid_b'" 
); 

$sid_b = mysql_query($query_sid); 
$sid = mysql_result($sid_b, 0); 

回答

1

你的第一次嘗試是差不多吧。唯一的問題是運營商的優先順序。

試試這個:

while(($row = mysql_fetch_array($skill_b)) && ($row2 = mysql_fetch_array($sid_b))) 

這就是說,你應該使用JOIN可能調整你的查詢,但沒有看到你目前的查詢我不能給任何額外的幫助那裏。請參閱下面的編輯。

此外,請注意<center>已棄用,以支持CSS。在這種情況下:

<td style="text-align:center"> 

編輯:嘗試此查詢:

SELECT a.skill, a.lastName, b.uniqueId 
FROM hlstats_Players a 
JOIN jlstats_PlayerUniqueIds b ON a.id = b.playerId 
LIMIT 10 
0

試試這個這個工作正常,我

<?php 
mysql_connect('localhost','root',''); 
mysql_select_db('your_db'); 
$counter = 1; 
    echo '<table border="0" style="text-align:center;" cellpadding="0" cellspacing="3"><tr> 
       <td width="10%">Miejsce</td> 
       <td width="25%">Nick</td> 
       <td width="20%">SteamID</td> 
       <td width="20%">Punkty</td> 
       </tr>'; 

$skill_b = mysql_query('select * from table_name limit 10'); 
$sid_b = mysql_query('select * from table_name limit 10'); 

        while($row = mysql_fetch_array($skill_b) AND $row2 = mysql_fetch_array($sid_b)) 
        { 
         echo '<tr class="select">'; 
         echo '<td>'.$counter.'</td>'; 
         echo '<td><center>'.$row['colu_name'].'</center></td>'; 
         echo '<td><center>'.$row2['colu_name'].'</center></td>'; 
         echo '<td><center>'.$row['colu_name'].'</center></td>'; 
         echo '</tr>'; 
        $counter++; 
        } 

    echo '</table>'; 
    ?> 

,請發表評論,如果出現錯誤,如果任何請提及它的錯誤

謝謝

+0

只需在第12行和第13行添加您希望的查詢 – 2013-03-16 04:14:10