2011-07-16 5 views
0

J'ai une table de luminaires dans mon DB: HomeTeam, awayteam, date, heuregroupe mysql par php concat

J'utilise actuellement mysql_fetch_array et obtenir les éléments suivants:

hometeam awayteam date   time 
-------------------------------------------- 
Blackburn Wolves  13/08/2011 3:00pm 
Arsenal  Liverpool 13/08/2011 3:00pm 
etc 

Je veux revenir :

13/08/2011 
--------------------------- 
Blackburn, Wolves, 3:00pm 
Arsenal, Liverpool, 3:00pm 
etc 

J'ai essayé de regrouper par date, mais cela renvoie juste 1 fixture pour cette date qui est des ordures.

J'ai également essayé group_concat, mais le problème avec ceci est que j'ai besoin de modifier les éléments de ce groupe, tels que la modification du format de l'heure du serveur à une heure lisible comme ci-dessus.

+0

Vous voulez que la date soit le nom de la colonne? –

+0

oui en ce qui concerne chaque luminaire :) –

+0

Lemme deviner - cela doit être dynamique ... –

Répondre

0

Vous pouvez trier par date, puis enregistrer php lorsque la date change entre deux lignes. quelque chose comme ceci:

function h($s) { return htmlspecialchars($s); } 
$conn = mysqli_connect(…); 
$result = mysqli_query($conn, 'select * from fixtures order by date'); 

$lastdate = NULL; 
while(($row = mysqli_fetch_assoc($result)) !== FALSE) { 
    if($lastdate != $row['date']) { 
    // output date divider/header 
    echo '<h1>',h($row['date']),'</h1>'; 
    $lastdate = $row['date']; 
    } 

    echo h($row['hometeam']), ', ', h($row['awayteam']), ', ', h($row['time']); 
} 
+0

merci pour cela, cela semble juste être une très lourde façon de faire quelque chose que je pensais serait beaucoup plus simple :( –

+0

c'est Tous les enregistrements ne sont réitérés qu'une fois et vous utilisez une variable supplémentaire, et le tri doit avoir lieu à un moment donné (je suppose que vous voulez sortir vos appareils classés par date de toute façon). ... – knittl

+0

merci encore pour votre temps à ce sujet, je reçois une erreur avec ce code, et il faut des années pour charger Attention: mysqli_query() attend au moins 2 paramètres, 1 donné dans C: \ wamp \ www \ football \ test.php à la ligne 4 Attention: mysqli_fetch_assoc() s'attend à ce que le paramètre 1 soit mysqli_result, null étant donné i n C: \ wamp \ www \ football \ test.php sur la ligne 7 des idées? –