sql >> Databasteknik >  >> RDS >> Mysql

formatera mysql-data för utmatning till en tabell

Jag är lite förvirrad av din fråga men SELECT * i SQL-satsen betyder att varje kolumn från databasen bör finnas som ett key=>värdepar i $row-arrayen. Så om du behövde en annan "kolumn", mata ut här till ett HTML-listelement <li> , du bara ekar (obs:inte "skriv ut") det kolumnnamnet som en arraynyckel. Så om du behövde typen av bilkolumn som finns i en kolumn med namnet "modell" skulle du göra så här:

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

REDIGERA :Jag är fortfarande otydlig på din fråga, men om alla bilar har samma fordonstyp och du bara vill ta tag i det en gång innan du går igenom alla resultat, antar jag att det här kommer att göra det:

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



  1. ORA-06502:PL/SQL:numeriskt eller värdefel:teckensträngsbuffert för liten - körs med OCI-gränssnitt

  2. Syntaxmarkering i Oracle-webbläsaren ungefär som SQL Server Management Studio

  3. Enkel MySQL-uppdateringsrankning med band

  4. Hur man initierar en matris i plsql