2010-12-22 39 views
0

我正在使用for循環爲SQL查詢的結果生成表。我想改變,使新的文本是呼應到表的具體列代碼究竟是什麼你我想更改代碼」的意思是「新文本」(第8列)將數據回覆到表中的特定列

$fields_num = mysql_num_fields($result); 

echo "<h1>Table: {$table}</h1>"; 
echo "<table border='0' id=resultTable><tr>"; 


for($i=0; $i<$fields_num; $i++) 
{ 
    $field = mysql_fetch_field($result); 
    echo "<td id" . $i; 
    echo "></td>"; 
} 

echo "</tr>\n"; 
// printing table rows 
while($row = mysql_fetch_row($result)) 
{ 
    echo "<tr>"; 

    // $row is array... foreach(..) puts every element 
    // of $row to $cell variable 
    foreach($row as $cell) 
     echo "<td>$cell</td>"; 

    echo "</tr>\n"; 
} 
mysql_free_result($result); 
?> 
+1

(1)您忘記了關閉'

`。 (2)請澄清你的問題。 「新文本」從哪裏來? – eykanal2010-12-22 18:11:52

+0

對不起,我的意思是「下一個文本」實際上是封裝該表的SQL結果的HTML代碼。 user547794 2010-12-22 18:16:19

回答

0

以便新文本被回顯到表格的特定列「?

「text」是特定表字段的名稱嗎?如果是這樣,最好是更改您正在使用的mysql_query中字段的順序,而不是在此代碼的html代中進行任何更改,例如,

SELECT field1, field2, ... new_text from ... 

new_text置於第八位。

更新
如果你想在結果表中顯示的各列不同的東西,你可以把一個櫃檯,你想要做什麼按照計數是這樣的: -

// printing table rows 
while($row = mysql_fetch_row($result)) 
{ 
    echo "<tr>"; 

    // $row is array... foreach(..) puts every element 
    // of $row to $cell variable 
    $counter = 0; 
    foreach($row as $cell) 
    { 
     if($counter == 7) 
     {//eighth column 
      echo "<td><img src='".$cell."' /></td>"; 
     } 
     else if($counter == 5) 
     {//sixth col 
      echo //something else ... 
     } 
     else 
      echo "<td>$cell</td>"; 
      //inside your default td 
     $counter++; 
    } 

    echo "</tr>\n"; 
} 

但會更具可讀性,可維護性和可定製的有指定哪些列將要舉辦什麼像這樣一些配置陣列: -

function getColumnConfigs() 
{ 
    return $columnsConfigs = array(5=> "something_else", 7 => "img"); 
    //specify special cases for necessary columns. columns not mentioned here will take default. 
} 

,然後在使用該您的迭代: -

// printing table rows 
$columnsConfig = getColumnConfigs(); 
while($row = mysql_fetch_row($result)) 
{ 
    echo "<tr>"; 

    // $row is array... foreach(..) puts every element 
    // of $row to $cell variable 
    $counter = 0; 
    foreach($row as $cell) 
    { 
     if(isset($columnsConfig[$counter])) 
     { 
      switch($columnsConfig[$counter]) 
      { 
       case "img": 
           $html = "<td><img src='".$cell."' /></td>"; 
           break; 
       case "something_else" 
           $html = "<td><img src='".$cell."' /></td>"; 
           break; 
      } 
     } 
     else 
     {//default 
      $html = echo "<td>$cell</td>"; 
     } 

    } 

    echo "</tr>\n"; 
} 
相關問題