Buonasera a tutti,
volevo chiedervi un aiuto per risolvere un problema; nella descrizione semplificherò al massimo per arrivare al succo della questione:
1) ho una tabella nel db che si chiama "ciao";
2) in questa tabella ci sono 4 colonne: il classico "id", "nome", "cognome", "gruppo";
3) l'importante è il campo "gruppo": in quel campo ci va un valore che può essere A, B oppure C, a seconda di quale gruppo ciascun utente appartiene;
es.
codice:
| id | nome | cognome | gruppo |
--------------------------------
| 1 | Marco | Rossi | A |
| 2 | Luca | Bianchi | B |
| 3 | Matteo| Verdi | C |
| 4 | Marco | Bello | B |
| 5 | Serse | Scuro | A |
| 6 | Pietro | Pinci | C |
| 7 | Lory | Astfa | B |
| 8 | Giorgio| Pigu | A |
Bene, in una pagina estraggo tutti i dati:
Codice PHP:
$query = "SELECT * FROM ciao";
$result = mysql_query($query)
or die(mysql_error());
e ficco il tutto in un array:
Codice PHP:
$row = mysql_fetch_array($result)
Fin qui tutto ok.
Problema: io voglio estrarre (con un ciclo? Quale?) dall'array $row tutte le righe che hanno come "gruppo" il gruppo A, così da poterle mettere in una tabella del gruppo A; lo stesso voglio che venga fatto in sequenza anche per quelle righe del gruppo B e quelle del gruppo C.
Per meglio chiarirmi il risultato che voglio è ottenibile con 3 query diverse, cioè:
Codice PHP:
<?php
/* Estraggo solo gli utenti del GRUPPO A */
$query1 = "SELECT * FROM ciao WHERE gruppo='A'";
$result1 = mysql_query($query)
or die(mysql_error());
?>
<table>
<caption> Gruppo A </caption>
<thead> <th>Nome</th>
<th>Cognome</th>
<th>Gruppo</th>
</thead>
<?php
while($row = mysql_fetch_array($result1))
{ echo "<tbody> <td>" .$row['nome']. "</td>
<td>" .$row['cognome']. "</td>
<td>" .$row['gruppo']. "cent</td>
</tbody>"; }
/* Estraggo solo gli utenti del GRUPPO B */
$query2 = "SELECT * FROM ciao WHERE gruppo='B'";
$result2 = mysql_query($query)
or die(mysql_error());
?>
<table>
<caption> Gruppo B </caption>
<thead> <th>Nome</th>
<th>Cognome</th>
<th>Gruppo</th>
</thead>
<?php
while($row = mysql_fetch_array($result2))
{ echo "<tbody> <td>" .$row['nome']. "</td>
<td>" .$row['cognome']. "</td>
<td>" .$row['gruppo']. "cent</td>
</tbody>"; }
/* Estraggo solo gli utenti del GRUPPO C */
$query3 = "SELECT * FROM ciao WHERE gruppo='C'";
$result3 = mysql_query($query)
or die(mysql_error());
?>
<table>
<caption> Gruppo C </caption>
<thead> <th>Nome</th>
<th>Cognome</th>
<th>Gruppo</th>
</thead>
<?php
while($row = mysql_fetch_array($result3))
{ echo "<tbody> <td>" .$row['nome']. "</td>
<td>" .$row['cognome']. "</td>
<td>" .$row['gruppo']. "cent</td>
</tbody>"; }
?>
Visto che mi sembra inutile fare 3 query diverse, vorrei fare una query sola dove estraggo tutti i dati nell'array mysql_fetch_array, e da lì poi dico:
"per tutte quelle righe che hanno come valore del campo "gruppo" A => crea un array $gruppoA=array(tutte le righe di quelli del gruppo A).
"per tutte quelle righe che hanno come valore del campo "gruppo" B => crea un array $gruppoB=array(tutte le righe di quelli del gruppo B).
"per tutte quelle righe che hanno come valore del campo "gruppo" C => crea un array $gruppoC=array(tutte le righe di quelli del gruppo C)."
Spero di essermi spiegato e di non essere stato confusionario.
Grazie a tutti in anticipo!