Dividere risultati in colonna in base al contenuto

Madera

Nuovo Utente
25 Giu 2014
10
0
0
Ciao a tutti!
Avrei bisogno di qualche aiuto (sempre che si possa fare...) su questo mio problema:

Ho un file php che mi estrae i dati da un db mysql, inserendoli in un file di excel, e fino a qui nessun problema.

Il file mi crea un report di ordini del mio e-commerce fatti da alcuni utenti, in modo da visionare quanti ordini vengono fatti dagli stessi. Per farvi un esempio, il file risulta più o meno come sotto:

Operatore __ id Ordine __ Totale
Gino __ 10 __ € 5.00
Pino __ 11 __ € 7.00
Lino __ 12 __ € 4.00
e via dicendo...

Nel db mysql il campo "Operatore" viene compilato man mano che vengono fatti gli ordini, con il nome di chi ha fatto l'ordine

Mi chiedevo se fosse possibile dividere i risultati in colonne in base al nome dell'operatore per avere un report più ordinato. esempio.

Op. _ _ id _ _ Totale _ _ _ Op. _ _ id _ _ Totale _ _ _ Op. _ _ id _ _ Totale
Gino __ 10 __ € 5.00 _ _ _ Pino __ 11 __ € 7.00 _ _ _ Lino __ 12 __ € 4.00
Gino __ 14 __ € 5.00 _ _ _ Pino __ 13 __ € 7.00 _ _ _ Lino __ 15 __ € 4.00
Gino __ 18 __ € 5.00 _ _ _ Pino __ 17 __ € 7.00 _ _ _ Lino __ 19 __ € 4.00


Di seguito riporto il codice che sto usando ora:
PHP:
echo"<TABLE>";

while ($row= mysql_fetch_array($dati, MYSQL_ASSOC))	{	

$operatore = $row['Operatore'];
$id_ordine = $row['order_id'];
$data = $row['date_added'];	
	
	
	
echo"<tr>
	 <td>".$operatore."</td>
	 <td>".$id_ordine."</td>
	 <td>".$data."</td>";
echo "<td>";
echo sprintf ("%01.2f", round($row[total],2)); 
echo "</td>";
echo "</tr>";
	
}

echo"</TABLE>";


Se è una cosa che si può fare, c'è qualcuno che può darmi una mano?

Ringrazio tutti anticipatamente
 
Ultima modifica di un moderatore:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
devi porera sulla query aggiungendo ORDER BY, es.
SELECT * FROM tabella ORDER BY nome_operatore, id_ordine
si intende che devi mettere i nomi dei campi che usi tu
 
Ultima modifica:

Madera

Nuovo Utente
25 Giu 2014
10
0
0
Grazie Borgo,
per l'ordine ok, ma quello che mi servirebbe, ovviamente se postille, è dividere il tutto in colonne (quindi non soltanto ordinato) in base all'operatore tipo lo "schemino" che ho fatto nel post precedente quindi diciamo:

Colonna 1 tutte le vendite fatte dall'operatore 1
Colonna 2 tutte le vendite fatte dall'operatore 2
Colonna 3 tutte le vendite fatte dall'operatore 3

e via dicendo...

Grazie mille per gli aiuti
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
vorresti una fare una cosa del genere?
tabella.jpg
se si devo pensarci, ma devi avere pazienza
 

Madera

Nuovo Utente
25 Giu 2014
10
0
0
Ciao Borgo,
esatto vorrei una cosa del genere. Non ho fretta, quindi quando hai del tempo da buttare... ;-) , se si riesce bene altrimenti pazienza.
Grazie mille della disponibilità!
 

Madera

Nuovo Utente
25 Giu 2014
10
0
0
Ciao Borgo,
adesso sono 8, non credo aumenteranno.
Grazie ancora della disponibilità!
 

flameseeker

Utente Attivo
27 Nov 2013
699
0
0
Spero che a borgo non dispiaccia se ci metto del mio.
Non l'ho testato ma come logica dovremmo esserci ;)

PHP:
#> La userò come contenitore di tutti i dati
$tabella = array();

#> Scorro i record del db
while ($row = mysql_fetch_assoc($dati)) {    

    #> E' sempre bene fare un lavoro pulito inizializzando i vettori che stiamo per usare
    if (!isset($tabella[$row['Operatore']])) {
        $tabella[$row['Operatore']] = array();
    }
    
    #> E segnami quindi sotto l'operatore della vendita corrente i dati della riga
    $tabella[$row['Operatore']][] = $row;    
}

#> ..parlando di lavori puliti, il recordset di mysql non fa male liberarlo quando non è più utile:
mysql_free_result($dati);

#> Ordiniamo la lista degli operatori in ordine alfabetico
ksort($tabella);


#> Ok, adesso generiamo la tabella
echo "<table>";

#> Realizziamo la prima prima riga d'intestazione con i nomi degli operatori:
echo '<tr>';
$num_righe = 0;

foreach (array_keys($tabella) as $operatore) {
    echo "<td colspan=\"3\">{$operatore}</td>";

    #> nel mentre ci conviene anche sapere qual è il numero massimo di righe che dovremo inserire nella tabella
    if (count($tabella[$operatore]) > $num_righe) {
        $num_righe = count($tabella[$operatore]);
    }
}

echo '</tr>';

#> Ora provvediamo alla sottointestazione id-totale
echo '<tr>';
echo str_repeat('<td>id</td><td>data</td><td>totale</td>', count($tabella));
echo '</tr>';


#> Adesso tocca finalmente alle righe:
for ($i = 0; $i < $num_righe; ++$i) {
    echo '<tr>';
    
    foreach (array_keys($tabella) as $operatore) {
        #> Se esistono le informazioni che dobbiamo inserire in questa cella
        if (!empty($tabella[$operatore][$i])) {
            echo '<td>', $tabella[$operatore][$i]['order_id'], '</td>';
            echo '<td>', $tabella[$operatore][$i]['date_added'], '</td>';
            echo '<td>', number_format($tabella[$operatore][$i]['total'], 2, '.', ''), '</td>';
        
        #> Altrimenti celle vuote
        }else {
            echo str_repeat('<td></td>',3);
        }
    }

    echo '</tr>';
}

echo"</table>";
 
Ultima modifica:

Madera

Nuovo Utente
25 Giu 2014
10
0
0
Grazie Ragazzi!
Appena riesco provo e vi faccio sapere come è andata.
Per il momento grazie ancora
Buona serata
 
Discussioni simili
Autore Titolo Forum Risposte Data
alankanz dividere risultati in pagine MySqli PHP 4
L Dividere risultati per data e pagine diverse PHP 17
T Dividere un'immagine in 3 parti orizzontali e salvarle separatamente Photoshop 2
camilia Come posso dividere le grandi dimensioni del file PST? Windows e Software 2
gandalf1959 [PHP] Dividere un campo di testo in più campi PHP 9
P [HTML] [PHP] dividere lo schermo in tre colonne HTML e CSS 110
L [WordPress] Dividere articoli in più pagine, problemi SEO? WordPress 2
M Dividere immagine a metà in diagonale Photoshop 1
Z Dividere settimane PHP 3
M Dividere su piu pagine un articolo lungo prelevato da db. jQuery 0
P Dividere lo schermo in tre colonne HTML e CSS 1
G Dividere stringa ed eseguire query PHP 3
P Dividere lo schermo in tre colonne HTML e CSS 6
L Dividere classe in più parti PHP 3
S Dividere una textarea PHP 1
A Dividere array multidimensionale in altri array multidimensionali PHP 9
A dividere il risultato di una Query in più pagine Classic ASP 1
redevilduil dividere la gallery in pagine con php PHP 3
C Dividere un div in due colonne Javascript 2
U E' possibile dividere un' immagine o un background in celle? jQuery 0
M Dividere Stringhe per MySQL PHP 6
E e se volessi dividere le mie pagine? PHP 2
renoir09 software dividere sql su mac Database 1
haringk Dividere ciclo in più parti PHP 12
C dividere un'immagine in più parti Webdesign e Grafica 3
L Dividere campo PHP 2
S dividere un wmv con movie maker Windows e Software 0
A dividere dato 32 bit in 4 byte Programmazione 2
B dividere Home Page in 5 sezioni con CSS HTML e CSS 1
metalgemini dividere in piu colonne il risultato di una query Classic ASP 4
G come dividere la pagina in 2 frame??!! HTML e CSS 5
M Come si fa a dividere un documento in più colonne in dreamweaver Flash 0
K Estrazione di più risultati da tabelle correlate PHP 5
D Risultati diversi elaborazione dati fra localhost e Altervista PHP 0
M Contare totale risultati tabella in un periodo di tempo PHP 5
F stampare a video i risultati della query PHP 1
M Visualizzazione a video risultati query php PHP 0
P Passare i risultati di un foreach in un modal. Help! PHP 2
G eseguire calcoli matematici su risultati 2 tabelle mysql PHP 4
TpD Incolonnare risultati query (mysql_result deprecato...) PHP 3
S come togliere un post dai risultati di google? Supporto Mr.Webmaster 5
M Filtrare risultati con valori checkbox passati con jquery jQuery 2
M [PHP] Mostrare risultati di una tabella ma solo se ID è attivo PHP 0
A [MySQL] Ottenere più risultati in un unico campo MySQL 7
Alex_70 [PHP] Ricerca con risultati cliccabili PHP 21
maxnegri [PHP] Eliminare risultati duplicati da ciclo foreach ottenuti da una select php mysqli PHP 18
A [PHP] If e Else paginazione ok ci sono risultati no ma avanti lo stesso PHP 15
G [PHP] operazione matematica tra risultati di query PHP 5
Sangy PHP risultati negativi in rosso PHP 2
P Google risultati di ricerca inappropriati SEO e Posizionamento 1

Discussioni simili