Bir tabloya ouptut için biçimlendirme mysql veri

1 Cevap php

Bugün bir soru önceki itibaren ardından bu sorunun cevabı bir diziye veri okumak ve araç türünü yazdırmak için onu ayırmak ve daha sonra her bir araç için bazı veriler verildi.

<?php
$sql = "SELECT * FROM apparatus ORDER BY vehicleType";
$getSQL = mysql_query($sql);
// transform the result set:
$data = array();
while ($row = mysql_fetch_assoc($getSQL)) {
$data[$row['vehicleType']][] = $row;    
}
?>
<?php foreach ($data as $type => $rows): ?>
<h2><?php echo $type?></h2>
<ul>
  <?php foreach ($rows as $vehicleData):?>
    <li><?php echo $vehicleData['name'];?></li>
  <?php endforeach ?>
  </ul>
<?php endforeach ?>

Bu benim yapmak istediğim için neredeyse mükemmel ama ben ikinci foreach döngüsü girmeden önce veritabanı yani ford ve Mondeo'da iki sütun yazdırmak gerekiyor. Ben print $ satır ['model'] ve aklınıza gelebilecek tüm diğer kombinasyonları denedim ama çalışmıyor. Herhangi bir yardım çok takdir

1 Cevap

Ben sorunuzun tarafından karıştı biraz değilim ama SQL deyimi SELECT * veritabanından her sütun $ satır dizideki anahtar => değer çifti olarak mevcut olması gerektiği anlamına gelir. Bir dizi anahtar olarak: (değil "print" notu) bu sütun adını bir HTML liste öğesi haline burada başka bir "sütun," çıkış gerekirse Yani <li>, sadece echo. Eğer isim "model" bir sütununda bulunan otomobil sütunun türünü ihtiyaç Yani eğer bunu yapmak istiyorum:

<?php
$sql = "SELECT * FROM apparatus ORDER BY vehicleType";
$getSQL = mysql_query($sql);
// transform the result set:
$data = array();
while ($row = mysql_fetch_assoc($getSQL)) {
$data[$row['vehicleType']][] = $row;    
}
?>
<?php foreach ($data as $type => $rows): ?>
<h2><?php echo $type?></h2>
<ul>
  <?php foreach ($rows as $vehicleData):?>
    <li><?php echo $vehicleData['name'];?></li>
    <li><?php echo $vehicleData['model'];?></li>
  <?php endforeach ?>
  </ul>
<?php endforeach ?>

EDIT: Ben soru hala belirsiz değilim, ama her araba aynı vehicleType vardır ve sadece bir kez tüm sonuçları döngü önce bu kapmak için arıyorsanız, ben bunu tahmin ediyorum o:

<?php
// Set up a SQL query to grab one row
$query_to_grab_only_vehicle_type = "SELECT vehicleType FROM apparatus WHERE 1 LIMIT 0,1";
// Fetch that row and turn it into an array
$vehicle_type_array = mysql_fetch_array(mysql_query($query_to_grab_only_vehicle_type));
// Initialize a variable with the array value that came from the vehicleType column
$vehicle_type = $vehicle_type_array['vehicleType'];
// You could uncomment and use the following to echo out the variable
// echo "Vehicle type: $vehicle_type";

$sql = "SELECT * FROM apparatus ORDER BY vehicleType";
$getSQL = mysql_query($sql);
// transform the result set:
$data = array();
while ($row = mysql_fetch_assoc($getSQL)) {
$data[$row['vehicleType']][] = $row;    
}
?>
<?php foreach ($data as $type => $rows): ?>
<h2><?php echo $type?></h2>
<ul>
  <?php foreach ($rows as $vehicleData):?>
    <li><?php echo $vehicleData['name'];?></li>
    <li><?php echo $vehicleData['model'];?></li>
  <?php endforeach ?>
  </ul>
<?php endforeach ?>