Stampare header tabella in funzione di un campo db

  • Creatore Discussione Creatore Discussione blips
  • Data di inizio Data di inizio

blips

Nuovo Utente
12 Mar 2013
29
1
3
Ciao a tutti, sono un neofita nel campo php e ho bisogno di un aiuto per risolvere un problema apparentemente insormontabile, per me ovviamente.

PHP:
 <table width="100%" border="0">
         <tr>
<td>Torneo</td>
<td>Giornata</td>
<td>Squadra di Casa</td>
<td>Squadra Ospite</td>
 <td>Risultato</td>
         </tr>
  <?php do { ?>
        <tr>
 <td><?php echo $row_datamatch['tournamentName']; ?></td>
<td><?php echo $row_datamatch['m_name']; ?></td>
<td><?php echo $row_datamatch['team1']; ?></td>
<td><?php echo $row_datamatch['team2']; ?></td>
<td><?php echo $row_datamatch['score1']; ?>-<?php echo $row_datamatch['score2']; ?></td>
</tr>
<?php } while ($row_datamatch = mysql_fetch_assoc($datamatch)); ?></table>


Questo codice mi stampa una tabella cosi composta:

Torneo Giornata Squadra di Casa Squadra Ospite Risultato

tiziocaio 1 tizio caio 0-0
caiotizio 1 caio tizio 1-1
tiziocaio 1 tizio caio 0-0
tiziocaio 2 tizio caio 0-0
tiziocaio 2 tizio caio 0-0
tiziocaio 3 tizio caio 0-0
tiziocaio 3 tizio caio 0-0
etc, etc..

Io vorrei invece che ogni volta che cambia il valore della colonna "Giornata" venga stampato l'header della tabella, quindi cosi:

Torneo Giornata Squadra di Casa Squadra Ospite Risultato

tiziocaio 1 tizio caio 0-0
caiotizio 1 caio tizio 1-1
tiziocaio 1 tizio caio 0-0

Torneo Giornata Squadra di Casa Squadra Ospite Risultato

tiziocaio 2 tizio caio 0-0
tiziocaio 2 tizio caio 0-0

Torneo Giornata Squadra di Casa Squadra Ospite Risultato

tiziocaio 3 tizio caio 0-0
tiziocaio 3 tizio caio 0-0
etc, etc...

Come faccio? Grazie in anticipo per l'eventuale aiuto.
 
Hai provato aprendo il do-while prima del primo <tr>? Dovrebbe andarti bene
 
Hai provato aprendo il do-while prima del primo <tr>? Dovrebbe andarti bene

Eh, ma in questo modo mi stampa l'header ad ogni riga, cosi:

Torneo Giornata Squadra di Casa Squadra Ospite Risultato
tiziocaio 1 tizio caio 0-0

Torneo Giornata Squadra di Casa Squadra Ospite Risultato
caiotizio 1 caio tizio 1-1

Torneo Giornata Squadra di Casa Squadra Ospite Risultato
tiziocaio 1 tizio caio 0-0

Torneo Giornata Squadra di Casa Squadra Ospite Risultato
tiziocaio 2 tizio caio 0-0
etc, etc..

Devo mettere una condizione (penso appena dopo il do-while) che stampa l'header se soddisfatta, ma come l'imposto? Come faccio a far capire quando il valore della colonna 'm_name' cambia?
 
Eh, ma in questo modo mi stampa l'header ad ogni riga, cosi:

Torneo Giornata Squadra di Casa Squadra Ospite Risultato
tiziocaio 1 tizio caio 0-0

Torneo Giornata Squadra di Casa Squadra Ospite Risultato
caiotizio 1 caio tizio 1-1

Torneo Giornata Squadra di Casa Squadra Ospite Risultato
tiziocaio 1 tizio caio 0-0

Torneo Giornata Squadra di Casa Squadra Ospite Risultato
tiziocaio 2 tizio caio 0-0
etc, etc..

Devo mettere una condizione (penso appena dopo il do-while) che stampa l'header se soddisfatta, ma come l'imposto? Come faccio a far capire quando il valore della colonna 'm_name' cambia?
Ho fatto qualche aggiunta frettolosa, prova semmai correggo dopo ma dovrebbe andarti
PHP:
<table width="100%" border="0">
  <?php 
  $precedente = null;
  do {
    if($row_datamatch['m_name']!=$precedente) : ?>
             <tr>
<td>Torneo</td>
<td>Giornata</td>
<td>Squadra di Casa</td>
<td>Squadra Ospite</td>
 <td>Risultato</td>
         </tr>
        <?php endif; $precedente=$row_datamatch['m_name']; ?>
        <tr>
 <td><?php echo $row_datamatch['tournamentName']; ?></td>
<td><?php echo $row_datamatch['m_name']; ?></td>
<td><?php echo $row_datamatch['team1']; ?></td>
<td><?php echo $row_datamatch['team2']; ?></td>
<td><?php echo $row_datamatch['score1']; ?>-<?php echo $row_datamatch['score2']; ?></td>
</tr>
<?php } while ($row_datamatch = mysql_fetch_assoc($datamatch)); ?></table>

ps: inoltre ti ricordo che mysql è deprecato in php, usa mysqli o pdo quando puoi
 
Ho fatto qualche aggiunta frettolosa, prova semmai correggo dopo ma dovrebbe andarti

ps: inoltre ti ricordo che mysql è deprecato in php, usa mysqli o pdo quando puoi

Funziona!

Ti ringrazio moltissimo, anche per il consiglio.
 

Discussioni simili