[PHP] Aiuto SELECT DISTINCT / GROUP BY

Fabrizio Villa

Utente Attivo
19 Gen 2013
131
0
16
Salve,
qualcuno può aiutarmi per favore?

Ho una tabella sql con i seguenti campi:

Data - Ora - Evento - Luogo

Vorrei che recuperando tutti i dati la data uguale apparisse una sola volta mentre tutti gli altri campi normalmente, in questo modo:

Data - Ora - Evento - Luogo
x | 1 | a | %
x | 2 | b | &
x | 3 | c | *
y| 1 | a | %
y| 2 | b | &
y| 3 | c | *

Vorrei ottenere:

x | 1 | a | %
| 2 | b | &
| 3 | c | *
y| 1 | a | %
| 2 | b | &
| 3 | c | *

Ho provato un DISTINCT e GROUP BY, ma non funziona.
Grazie mille in anticipo!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
prova così
PHP:
//dati di comnnessione
$ris_1=mysqli_query($connessione,"SELECT data FROM tabella GROUP BY data ORDER BY data");
while($riga_data=mysqli_fetch_assoc($ris_1)){
    $data=$riga_data['data'];
    echo "$data<br />";
    $ris_2=mysqli_query($connessione,"SELECT ora, evento, luogo FROM tabella WHERE data='$data' ORDER BY ora");
    while($riga=mysqli_fetch_assoc($ris_2)){
        echo $riga['ora']." | ".$riga['evento']." | ".$riga['luogo']."<br />";
    }
    echo "<br />";
}
//....
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
per farlo dipende da come è formattata la data (come hai scritto?) e se vuoi i nomi in italiano
però devi avere pazienza
 

Fabrizio Villa

Utente Attivo
19 Gen 2013
131
0
16
Ciao, tutta la pazienza del mondo, figurati!
Dunque, come mi hai detto qualche tempo fa la data è formattata così:

implode("-", array_reverse(explode("-", $riga_data['Start_Date'])))
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
fatti questa funzione che poi userai dove ti serve
PHP:
<?php
function data_completa($d){
    //la data deve essere nel formato yyyy-mm-gg
    $giorno=array('','lunedì','martedì','mercoledì','giovedì','venerdì','sabato','domenica');
    $ex=explode('-', $d);
    $ts=mktime (0,0,0, (int)$ex[1], (int)$ex[2], (int)$ex[0]);
    $ng=date('N',$ts);
    //ritorna data completa nome gg/mm/yyyy
    return $giorno[$ng]." ".implode("/",array_reverse($ex));
}
//*****test********
$data="2017-07-03";//tu userai $riga['data']
echo "da db $data<br>";
echo data_completa($data);//output lunedì 03/07/2017
?>
 

Fabrizio Villa

Utente Attivo
19 Gen 2013
131
0
16
Cosa dire? UN MITO ! ! ! Funziona perfettamente! Grazie infinite!!!

Davanti a tanta grazia ne approfitto ancora, se me lo consenti e ti chiedo un'ultima cosa...

Nella stessa tabella ho anche due campi:" start_time" e "end_time".
Sarebbe possibile far apparire solo start_time quando end_time è uguale?

Esempio:

Start_Time : 15.30
End_Time: 16.30

Vedo: Dalle 15.30 alle 16.30

Ma se:

Start_Time: 15.30
End_Time: 15.30

Vedo solo: 15.30

Grazie mille ancora, davvero!!!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
penso che la soluzione migliore sia via scrip, dove leggi i due campi
PHP:
//.....
if($riga['Start_Time']==$riga['End_Time']){
    echo "Start Time End Tme = ".$riga['Start_Time']."<br>";
}else{
    echo "Start = ".$riga['Start_Time']."<br>";
    echo "End Tme = ".$riga['End_Time']."<br>";
}
//...
 

Fabrizio Villa

Utente Attivo
19 Gen 2013
131
0
16
Ehm...avrei ancora un altro quesito...

Sarebbe possibile fare in modo che se nel campo "Subject" il valore è = [Riposo] i campi "Start_Time" e "End_Time" non vengano postati...

Mi sono spiegato?
Grazie ancora per l'aiuto!
 

Fabrizio Villa

Utente Attivo
19 Gen 2013
131
0
16
Non appaiano...
Scusa l'ignoranza...:rolleyes:
Faccio un esempio:

Subject - Start_Date - Start_Time - End_Time - Description - Location
Prova - 01/01/2017 - 10.00 - 12.00 - Verdi - Teatro Regio PR
Assestamento - 02/02/2017 - 10.00 - Verdi - Teatro Regio PR (come mi hai detto tu!grazie ancora!!!)
Concerto - 02/02/2017 - 20.00 - Verdi - Teatro Regio PR
Riposo - 03/03/2017 - - - -

Il problema è che nella tabella nei campi Start_Time e End_Time sono presenti valori (00.00 - 01.00) perchè mi servono per l'invio all'agenda...

In pratica quando appare la parola Riposo nel campo Subject devo stampare solo la data e la descrizione...
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
non ho capito bene
se $riga['Start_Time']=='00.00' , $riga['End_Time']=='01.00' in $riga['Subject'] deve diventare riposo u start e end vuotarsi
o se $riga['Subject'] =='Riposo' di conseguenza vuotare start e end
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
ti basta modificare quell'if che ti avevo postato
PHP:
//.....
if($riga['Subject'] =='Riposo' ){
    $riga['Start_Time']='';
    $riga['End_Time']='';
}else{
    if($riga['Start_Time']==$riga['End_Time']){
        echo "Start Time End Tme = ".$riga['Start_Time']."<br>";
    }else{
            echo "Start = ".$riga['Start_Time']."<br>";
        echo "End Tme = ".$riga['End_Time']."<br>";
    }
}
//.....
cioe se Subject è riposo vuota start e end, se no verifica se sono uguali

p.s.
una curiosità: come mai citi il regio e parma?
 
Discussioni simili
Autore Titolo Forum Risposte Data
K aiuto su gestione casella select del form + php + mysql PHP 0
S [risolto] Aiuto: ciclo php ( for / while). popolare select dinamicamente da array id. PHP 9
A Aiuto per pagina php PHP 0
I Aiuto php Dependent Lookup PHP 0
L Aiuto per programma web php/mySQL PHP 2
A Aiuto php colore diverso PHP 10
C Aiuto compiuto scuola PHP/MySQL PHP 2
Michelebozzo [PHP] Rimuovere pubblicazione nome pagina ... aiuto! PHP 7
Z Gestionale in Php/mysql: Quanto farsi pagare? Aiuto! Discussioni Varie 0
P [PHP] Browser game, aiuto a tempo libero. Offerte e Richieste di Lavoro e/o Collaborazione 0
C [PHP] Chiedo un aiuto, Array multidimensionale. PHP 3
T [PHP] aiuto....Fatal error: Uncaught Error:non riesco a capire PHP 1
N [PHP] Aiuto PHP 1
M [PHP] Aiuto su inner join PHP 10
S [PHP] Aiuto creazione form php per completamento modello word PHP 1
W [PHP] Un aiuto per il mio primo "Multithread" PHP 0
J [PHP] richiesta di aiuto PHP 3
F [PHP] Aiuto array PHP 2
L [PHP] aiuto per installazione mrbs PHP 0
S [PHP] Aiuto! Non riesco a richiamare una variabile PHP 2
N [PHP] aiuto su variabili e colori PHP 4
C [PHP] Aiuto su visualizza foto da cartella PHP 6
P [PHP] aiuto creazione login PHP 16
S PHP: Aiuto con upload immagini che si auto tuotano PHP 24
P [PHP] Aiuto per gestione file CSV PHP 24
A aiuto php PHP 3
A php aiuto PHP 2
G Piccolo aiuto per php mail PHP 2
C Aiuto su script php PHP 2
F Aiuto PHP : Parse error PHP 1
G Aiuto! Studente cerca aiuto per un codice PHP PHP 1
S aiuto per script PHP/OOP PHP 2
S Un aiuto su uno script di ricerca avanzata in php che sto verificando. PHP 1
R Aiuto creazione php PHP 0
G Aiuto modifica PHP PHP 1
T Aiuto con script PHP PHP 0
S Aiuto con PHP! PHP 4
D Aiuto Ajax da PHP con codifica json Ajax 0
L Aiuto form php! PHP 1
N Aiuto php : Modulo Mail non funzionante - Dove sbaglio ? PHP 5
E [RISOLTO] Aiuto impostazione mail.php PHP 2
D aiuto con pag di login in php PHP 1
S [RISOLTO]aiuto, non riesco afar funzionare il camp odi ricerca per un DB con PHP PHP 5
W [Aiuto PHP Mysql] Script visualizzare a video righe di tabella mysql PHP 2
C aiuto php PHP 19
B AIUTO: come passare una variabile php ad una funzione javascript Javascript 2
Task Mc Aiuto per reindirizzamento in php PHP 7
S Come creare php.ini Aiuto! PHP 0
B Aiuto query mysql in php PHP 1
ivarello Aiuto invio form nascosto in PHP PHP 2

Discussioni simili