Estrarre dati da DB AIUTO :S [Ho veramente bisogno]

Pascal Pavan

Nuovo Utente
27 Ago 2012
16
0
0
Ciao a tutti,
ho necessità di stampare una tabella riassuntiva dei periodi di vacanza dei miei dipendenti, ecco la tabella da dove devo estrarre: (VI ALLEGO UNA FOTO CHE VI MOSTRA MEGLIO LE TABELLE)
utente | periodo | anno | data prenotazione | giorniVacanza
Luca | 2013-02-04 / 2013-02-10 | 2013 | 2013-01-25 | 6
Luca | 2013-05-10 / 2013-05-20 | 2013 | 2013-02-5 | 10
Giulia | 2013-01-01 / 2013-01-06 | 2013 | 2012-12-05 | 6
Roberto| 2013-02-15 / 2013-02-16 | 2013 | 2013-02-5 | 1

Vorrei avere una tabella stampata così:
utente | periodI | giorni di vacanza
Luca | 2013-02-04 / 2013-02-10 | 6
| 2013-05-10 / 2013-05-20 | 10
-----------------------------------------------------(riga vuota o di asterischi)
Giulia | 2013-01-01 / 2013-01-06 | 6
-----------------------------------------------------
Roberto| 2013-02-15 / 2013-02-16 | 1

Praticamente vorrei che le vacanze venissero raggruppate per utente, e se un utente ha più di una vacanza, il suo nome compaia una sola volta e i periodi da lui richiesti vengano messi uno sotto l'altro.

Query di select :
select utente,periodo,anno,dataPrenotazione,giorniPresi from vacanza;

Vi prego sono abbastanza disperato, sono due settimane che ci picchio la testa e cerco soluzioni, ma niente!

Grazie
 

Allegati

  • Immagine.png
    Immagine.png
    11,2 KB · Visite: 153

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
147
63
PR
www.borgo-italia.it
ciao
ecco un esempio
PHP:
<?php
//dati connessione al db
$q=mysql_query("SELECT * FROM nome_tabella ORDER BY utente");
echo "<table>";
echo "<tr><th>utente</th><th>periodo</th><th>anno</th><th>data prenotazione</th><th>giorni vacanza</th></tr>";
while($riga=mysql_fetch_array($q)){
	$utente=$riga['utente'];
	$periodo=$riga['periodo'];
	$anno=$riga['anno'];
	$prenotazione=$riga['dataPrenotazione'];
	$giorni=$riga['giorniVacanza'];
	echo "<tr><td>$utente</td><td>$periodo</td><td>$anno</td><td>$prenotazione</td><td>$giorni</td></tr>";
}
echo "</table>";
?>
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Intanto c'è da dire che il campo giorniVacanza è in più, perchè lo puoi ricavare facilmente dal periodo.
Vale lo stesso discorso per il campo anno.

Borgo così a prima vista non credo che il tuo codice faccia quello che ha chiesto.
Faccio qualche modifica al tuo:
PHP:
//dati connessione al db
$q=mysql_query("SELECT * FROM nome_tabella ORDER BY utente");
echo "<table>";
echo "<tr><th>utente</th><th>periodo</th><th>anno</th><th>data prenotazione</th><th>giorni vacanza</th></tr>";
$utente="";
while($riga=mysql_fetch_array($q)){
    if($riga['utente']==$utente)
        echo "<tr><td> </td><td>$riga['periodo']</td><td> </td><td> </td><td> </td></tr>"; //ho mantenuto la stessa formattazione della riga della tabella
    else{
        $utente=$riga['utente'];
        echo "<tr><td>$utente</td><td>$riga['periodo']</td><td>$riga['anno']</td><td>$riga['dataPrenotazione']</td><td>$riga['giorniVacanza']</td></tr>";
    }
}
echo "</table>";
?>
Prova un po'.
 

Pascal Pavan

Nuovo Utente
27 Ago 2012
16
0
0
ciao
ecco un esempio
PHP:
<?php
//dati connessione al db
$q=mysql_query("SELECT * FROM nome_tabella ORDER BY utente");
echo "<table>";
echo "<tr><th>utente</th><th>periodo</th><th>anno</th><th>data prenotazione</th><th>giorni vacanza</th></tr>";
while($riga=mysql_fetch_array($q)){
	$utente=$riga['utente'];
	$periodo=$riga['periodo'];
	$anno=$riga['anno'];
	$prenotazione=$riga['dataPrenotazione'];
	$giorni=$riga['giorniVacanza'];
	echo "<tr><td>$utente</td><td>$periodo</td><td>$anno</td><td>$prenotazione</td><td>$giorni</td></tr>";
}
echo "</table>";
?>
Ma così mi stampa tutti i nomi, io vorrei che se luca mi ha preso due periodi il suo nome compaia una sola volta, ma i suoi periodi escano tutti.
Il codice che mi hai dato tu stampa semplicemente tutta la tabella così com'è. TI ringrazio per aver cercato di aiutarmi, ma sapresti risolvere il problema che ti ho posto ora? Guarda lo screen shot che allego, magari è più chiaro.
Grazie ancora.
 

Allegati

  • Immagine.png
    Immagine.png
    13,8 KB · Visite: 170

Pascal Pavan

Nuovo Utente
27 Ago 2012
16
0
0
Intanto c'è da dire che il campo giorniVacanza è in più, perchè lo puoi ricavare facilmente dal periodo.
Vale lo stesso discorso per il campo anno.

Borgo così a prima vista non credo che il tuo codice faccia quello che ha chiesto.
Faccio qualche modifica al tuo:
PHP:
//dati connessione al db
$q=mysql_query("SELECT * FROM nome_tabella ORDER BY utente");
echo "<table>";
echo "<tr><th>utente</th><th>periodo</th><th>anno</th><th>data prenotazione</th><th>giorni vacanza</th></tr>";
$utente="";
while($riga=mysql_fetch_array($q)){
    if($riga['utente']==$utente)
        echo "<tr><td> </td><td>$riga['periodo']</td><td> </td><td> </td><td> </td></tr>"; //ho mantenuto la stessa formattazione della riga della tabella
    else{
        $utente=$riga['utente'];
        echo "<tr><td>$utente</td><td>$riga['periodo']</td><td>$riga['anno']</td><td>$riga['dataPrenotazione']</td><td>$riga['giorniVacanza']</td></tr>";
    }
}
echo "</table>";
?>
Prova un po'.

Wow! Essattamente quello che volevo, grazie mille!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
147
63
PR
www.borgo-italia.it
ciao
si in effetti ho semplificato troppo nell'esempio.
un piccolo consiglio per poi facilitarti le cose
1) secondo me ti converrebbe dividere in due campi il periodo con campo periodo_ini e periodo_fine
2) al prosto della data scritta in formato umane e italiano userei il ytimestamp uniz
questo poi ti facilita sia quanto ha detto longo per il calcolo ma es. anche l'ordinamento per data

tanto poi quando li visualizzi e stamp il record l stampi come vuoi tu
 

Mr. PHP

Utente Attivo
31 Gen 2013
141
0
0
Scusate l'intrusione, anche cosi andrebbe bene. Ciao :)
PHP:
$query = 'SELECT * FROM vacanza ORDER BY utente ASC';

$result = mysql_query( $query );

if( $result && mysql_num_rows( $result ) > 0 ):
	
	echo '<table>';
	echo "<tr><td>utente</td><td>periodo</td><td>anno</td><td>prenotazione</td><td>giorni</td></tr>"; 
	
	while ( $obj = mysql_fetch_object( $result ) ):

		echo '<tr><td>';
		echo ! isset( $utente ) ? $obj -> utente : $utente != $obj -> utente ? $obj -> utente : NULL;
		echo '</td><td>'.$obj -> periodo.'</td><td>'.$obj -> anno.'</td><td>'.$obj -> prenotazione.'</td><td>'.$obj -> giorni.'</td></tr>'; 
		
		$utente = $obj -> utente;
		
	endwhile;
	
	echo '</table>';
	
else:
	
	echo '<p>Tabella Vuota</p>';
	
endif;
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
F Aiuto! Estrarre Dati da Database .mdb e visualizzarli in lightbox PHP 1
C Estrarre dati stringa Sql Database 1
M Estrarre dati da una select HTML PHP 3
S [PHP] Estrarre dati da tabella e fare la media ad intervalli di tempo PHP 10
S [PHP] Estrarre dati tabella in diversi array PHP 2
D [WordPress] come fare per estrarre dati da un db MySQL tramite una form e visualizzare il risultato WordPress 0
trattorino [PHP] estrarre dati singoli PHP 1
Z Estrarre dati da un DB Mysql PHP 4
S [PHP] Estrarre dati colonna in una stringa PHP 6
S [PHP] estrarre dati sito web protetto con username e password PHP 13
Gigi87 estrarre i dati da un forum o social network Presentati al Forum 1
L [PHP] Estrarre dati da sito web Offerte e Richieste di Lavoro e/o Collaborazione 4
A [PHP] metodo di una classe per estrarre i dati con ciclo while PHP 1
filippino [Javascript] Estrarre dati da database MySQL Javascript 1
P Estrarre dati da un databas mysql PHP 3
filippino Script PHP per estrarre dati estrazioni da sito "10 e lotto" PHP 0
Z [VB.NET] Leggere pagina HTML ed estrarre dati da tabella .NET Framework 1
M Php+MySql: Estrarre dati da tabella e consentire all'utente di modificare un valore 'in linea' PHP 6
B Estrarre più dati da una tabella PHP 2
E Estrarre dati da una pagina generata con Javascript Javascript 6
M problema con ciclo foreach per estrarre dati da un database PHP 22
C estrarre dati da sito javascript Javascript 1
R Estrarre dati da tabella mysql [era:Sto benedetto php] PHP 22
S Estrarre dati da diverse tabelle mysql PHP 6
F estrarre dati da una cartella PHP 9
F Estrarre dati da tabella javascript HTML e CSS 0
neo996sps Estrarre i dati e presentarli con un layout particolare PHP 0
O [help] estrarre e visualizzare dati da mysql con php a oggetti PHP 6
I Estrarre dati da un file php PHP 3
P Creare un menu a discesa dove poter fare una selezione ed estrarre i dati da db MySql PHP 3
T [MySql] impossibile estrarre dati da campi TEXT MySQL 0
L Estrarre dati da tabella mysql PHP 16
G estrarre i dati da variabile GET PHP 6
P estrarre dati xml excel con php XML 1
Monital estrarre dati da una tabella e riscriverli su di un altra PHP 5
E Estrarre dati dal DB e inviare mail PHP 10
B Estrarre dati da database e ordinarli in tabella... PHP 20
G Help me! Estrarre dati da un db access con flash Flash 0
W Estrarre e ricaricare dati con Ajax Ajax 0
S Estrarre i dati EXIF da una foto PHP 3
tanaka estrarre dati con colori diversi PHP 10
M estrarre dati da database MySql, con ASP Classic ASP 1
P Non riesco ad estrarre dati da doppia tabella PHP 2
F Estrarre dati da database Classic ASP 3
N Estrarre dati che danno una certa somma da Excel, Access o SQL Server Windows e Software 0
grottafelix Estrarre dati da db e modifica Classic ASP 25
grottafelix Estrarre dati da db Classic ASP 13
M Estrarre valore con SELECT COUNT PHP 0
D Estrarre database con link esterno Database 10
S Raggruppare ed estrarre data più recente MySQL 3

Discussioni simili