2013-07-24 7 views
0

Как я могу изменить приведенный ниже код, чтобы только один раз повторять каждый уникальный «курс» только один раз?Как я могу классифицировать набор результатов MySQLi?

например. В настоящее время мои результаты выглядят как =

Ипсвич-11: 00 выполняющихся Ипсвич-12: 00-фламингоа наездник Ипсвич-14: 00-молния Норидж-13: 10-е изд возвращается Норидж-14: 05 -redrum Норидж-17: 05-рассол

, но я хотел бы, чтобы они выглядят как =

Ипсвич

11: 00 выполняющихся 12: 00-фламингоа наездник 14: 00-молнии

Норидж

13: 10-е изд возвращается 14: 05-ReDrum 17: 05-рассол

Я думал о выполнении Mysqli запроса в течение каждого цикла, но, безусловно, есть лучший путь?

Мой код =

<?php //connection block 

if ($mysqli->connect_error) {die('Connect Error: ' . $mysqli->connect_error);} 

$today = date("Ymd"); 
$query = "SELECT horse, course, time, date FROM dailytips WHERE date = $today ORDER BY course, time"; 
$result = $mysqli->query($query); 

$today_uk = " " . date("d/m/y"); 

while($row = $result->fetch_array()) 
{ $rows[] = $row; } 

echo "<h2>tips for" .$today_uk. "</h2>"; 

foreach($rows as $row) 
{ 
$date = $row['date']; 
$date = date("d/m/y", strtotime($date)); 
$horse = $row['horse']; 
$time = $row['time']; 
$course = $row['course']; 

echo 
'<div style= "width:600px; font-family:verdana;"> 
<div style="float:left; width:400px; margin-bottom:10px; margin-top10px;"> 

     '.$row['course']. "-" .$row['time'] . "-" . $row['horse'] .' 
</div>' ; 
} 

$result->close(); 
$mysqli->close(); 

?> 

ответ

0

Я думаю, вы можете вложить в foreeach заявление в другой.

так ...

$query = "SELECT course, FROM dailytips WHERE date = $today ORDER BY course, time"; 
while($row = $result->fetch_array()) 
{ $rows[] = $row; } 

echo "<h2>tips for" .$today_uk. "</h2>"; 

foreach($rows as $row) { 
    $query = "SELECT horse, time, date FROM dailytips WHERE course = $row['course']; 
    while($row = $result->fetch_array()) 
    { $rowDetail[] = $rowDetails; } 

    foreach($rows as $row) { 
     $date = $row['date']; 
     $date = date("d/m/y", strtotime($date)); 
     $horse = $row['horse']; 
     $time = $row['time']; 
     $course = $row['course']; 

     echo 
      '<div style= "width:600px; font-family:verdana;"> 
      <div style="float:left; width:400px; margin-bottom:10px; margin-top10px;"> 

      '.$row['course']. "-" .$row['time'] . "-" . $row['horse'] .' 
      </div>' ; 
     } 
    } 

Я хотел бы рассмотреть вопрос о создании результатов в таблице противоположность DIVs как это, казалось бы, подходит то, что вы пытаетесь сделать гораздо лучше. Перед тем, как цикл завершится, установите таблицу перед циклом и закройте.

Надеюсь, это поможет.

S

+0

Я думаю, что $ строка в $ запросе дает мне ошибку T_ENCAPSED_AND_WHITESPACE. –