sql >> Base de Datos >  >> RDS >> Mysql

formateo de datos mysql para salida en una tabla

Estoy un poco confundido por su pregunta, pero SELECCIONAR * en la declaración SQL significa que cada columna de la base de datos debe estar presente como un par clave => valor en la matriz de $ fila. Entonces, si necesita otra "columna", genere aquí un elemento de lista HTML <li> , simplemente repite (nota:no "imprime") ese nombre de columna como una clave de matriz. Entonces, si necesitara el tipo de columna de automóvil que se encuentra en una columna con el nombre "modelo", haría esto:

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

EDITAR :Todavía no tengo clara tu pregunta, pero si todos los autos tienen el mismo tipo de vehículo, y solo buscas tomar eso una vez antes de recorrer todos los resultados, supongo que esto será suficiente:

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