2010-12-22 6 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)あなたの質問を明確にしてください。 「新しいテキスト」はどこから来たのですか? – eykanal

+0

申し訳ありませんが、「次のテキスト」の意味は、実際にはそのテーブルのSQL結果をカプセル化するHTMLコードになります。 user547794

答えて

0

そのため、新しいテキストは、テーブルの特定の列にエコーされます。

"text"は特定のテーブルフィールドの名前ですか?もしそうなら、使用するmysql_queryのフィールドのシーケンスを変更する方がいいでしょう。これは、html世代の変更を行う代わりに

です。

第8位に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. 
} 

してから、この中を使う - :あなたはこのように何を保持しようとしている列を指定し、いくつかのconfig配列を持っているより、読みやすい、保守およびカスタマイズ可能になりますあなたの繰り返し: -

// 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"; 
} 
+0

申し訳ありませんが、「次のテキスト」の意味は、実際にはそのテーブルのSQL結果をカプセル化するHTMLコードになります。 user547794

+0

結果の列に表示するhtml(結果とともに)を構成できるようにしたい場合は、私の更新を確認してください –

+0

私はそれを動作させるのに苦労しています。 $ counterを定義する必要はありますか? – user547794

関連する問題