2009-07-12 9 views
1

ヘッダ初心者、whileループ

$id = intval($_GET['id']); 
$query = mysql_query("SELECT * FROM table WHERE id = $id"); 

ビュー

while ($row = mysql_fetch_array($query)) { 
$column1 = $row['column1']; 
$column2 = $row['column2']; 
$column3 = $row['column3']; 

echo $column1....... 
} 

は、どのように私は私のヘッダファイルに上記のコードを保つことができますか?
私のデザイナーはそれを見る必要はありませんか?

データを変数に保存してページに印刷できますか?

ありがとう!

答えて

0

$ GET _ ['id']の値をパラメータとし、エコーされるはずのものを返す関数を作成することができます。

ような何か:(inc.php)

<?php 
function queryCall($id) 
{ 
    $query = mysql_query("SELECT * FROM table WHERE id = $id"); 
    $ret = ""; 
    while ($row = mysql_fetch_array($query)) { 
     $column1 = $row['column1']; 
     $column2 = $row['column2']; 
     $column3 = $row['column3']; 

     $ret .= $column1....... 
    } 
    return $ret; 
} 
?> 

してからメインのファイルに:

<?php include 'inc.php'; ?> 

... 

<?php 
echo queryCall(intval($_GET['id'])); 
?> 
... 
0

私は(あなたがINTVAL示唆)IDをインラインそれは、クエリことは明らかであるだけので、 SQLインジェクションから安全です。

すべてのコードをheader.phpというファイルに入れます。ループを使用して配列()を作成します。アレイを呼び出すと、例えば、$Rowsと呼ばれます。あなたのメインのhtmlファイル(の.php)で次に

、これを置く:

<?php include('header.php'); ?> 
<html> 
    <head>...</head> 
    <body> 
     <table> 
      <?php foreach($Rows as $row) { ?> 
      <tr> 
       <td><?php echo htmlspecialchars($row['column1']); ?></td> 
       <td><?php echo htmlspecialchars($row['column2']); ?></td> 
       <td><?php echo htmlspecialchars($row['column3']); ?></td> 
      </tr> 
      <?php } ?> 
     </table> 
    </body> 
</html> 
1

プレゼンテーションからロジックを分離するためにMVC patternを使用することができます。

最も簡単な方法は、ローカル変数または配列のいずれかに表示するすべてのデータを保存してから、ビューファイルを必要とすることです。

ビューファイルは、htmlテンプレートのデータをエコーし​​ます。

深く掘り下げたい場合はcodeigniterまたはcakephpのようなフレームワークをチェックすることができます。