Çaylak, while döngüleri

3 Cevap

başlık

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

görünüm

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

 echo $column1.......
}

How can I keep the above code in my başlık file?
So my designers wont have to see it?

Eğer değişkenlere verileri kaydetmek ve sayfada yazdırabilirsiniz?

Teşekkürler!

3 Cevap

Sen echo'd olması gerekiyordu ne olursa olsun bir parametre ve döner gibi değeri $ get_ ['id'] alır bir işlevi oluşturabilirsiniz.

Gibi bir şey: (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;
}
?>

ve daha sonra ana dosyasında:

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

...

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

Sunumdan mantığı ayırmak için MVC pattern kullanabilirsiniz.

Basit yolu sadece yerel değişkenler ya da belki de bir dizi ya da içine sunmak ve daha sonra bir görünüm dosyası gerektiren istediğiniz bütün verileri kaydetmek olacaktır.

Dosyayı sadece bir html şablonu verileri echos.

Eğer derin kazmak istiyorsanız codeigniter veya cakephp gibi bir çerçeve kontrol edebilir.

Ben intval () Kimlik inline sadece bu yüzden sorgu SQL enjeksiyonu güvenli olduğu açıktır göstermektedir.

Adlı bir dosyada kod koymak header.php. Bir dizi oluşturmak için döngü () kullanın. Dizi, diyelim ki, $Rows diyoruz.

Sonra ana html dosyası (. Php) olarak, bu koyun:

<?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>