Filtri Group by

Pascal Pavan

Nuovo Utente
27 Ago 2012
16
0
0
Ciao,
io vorrei un tasto, che se cliccato mi raggruppi i dati in tabella per il valore di quel tasto.
Ecco il mio codice, ma non funziona =(
PHP:
echo '<form method="POST">';
if(isset($_POST['raggruppaZone'])){
echo '<input type="submit" name="groupZone" value="annulla raggruppamento">'; //In caso venga cliccato annulla ragg, ho una query che fa select * from....
}else{
echo '<input type="submit" name="groupZone" value="Raggruppa per zona">';
}
echo '</form>';

//Codice di raggruppamento
if(isset($_POST['groupZone'])){
$groupZone = mysql_query("select * from pianificazioneSettimanale group by zone");
}else{
$groupZoneAll = mysql_query("select * from pianificazioneSettimanale");
}

Qualcuno ha idee? O soluzioni alternative migliori? Alla fine dovrei fare 5 group by in questa tabella, tutte le volte riscrivere questo codice?!
Grazie =)
 
Ultima modifica di un moderatore:

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Prova così:
PHP:
// definisci qui i campi per cui fare l'ordinamento
$groupFields = array(
    'groupZone' => 'Zona',
);

if ('POST' === $_SERVER['REQUEST_METHOD']) {
    $sql = 'SELECT * FROM pianificazioneSettimanale');
    
    if (isset($_POST['group_by']) &&
        array_key_exists($_POST['group_by'], $groupFields)
    ) {
        $sql .= " GROUP BY {$_POST['group_by']}";
    }

    $query = mysql_query($sql);

    // ...
} else {
    echo <<<EOF
<form action="{$_SERVER['REQUEST_URI']}" method="post">
    <div>
        <label for="group_by">Raggruppa per:</label>
        <select name="group_by" id="group_by">
            <option value="">---------------</option>
EOF;

    foreach ($groupFields as $value => $name) {
        echo "<option value=\"{$value}\">{$name}</option>";
    }

    echo <<<EOF
        </select>
    </div>

    <div>
        <button type="submit">Invia</button>
    </div>
</form>
EOF;
}
 

Pascal Pavan

Nuovo Utente
27 Ago 2012
16
0
0
Prova così:
PHP:
// definisci qui i campi per cui fare l'ordinamento
$groupFields = array(
    'groupZone' => 'Zona',
);

if ('POST' === $_SERVER['REQUEST_METHOD']) {
    $sql = 'SELECT * FROM pianificazioneSettimanale');
    
    if (isset($_POST['group_by']) &&
        array_key_exists($_POST['group_by'], $groupFields)
    ) {
        $sql .= " GROUP BY {$_POST['group_by']}";
    }

    $query = mysql_query($sql);

    // ...
} else {
    echo <<<EOF
<form action="{$_SERVER['REQUEST_URI']}" method="post">
    <div>
        <label for="group_by">Raggruppa per:</label>
        <select name="group_by" id="group_by">
            <option value="">---------------</option>
EOF;

    foreach ($groupFields as $value => $name) {
        echo "<option value=\"{$value}\">{$name}</option>";
    }

    echo <<<EOF
        </select>
    </div>

    <div>
        <button type="submit">Invia</button>
    </div>
</form>
EOF;
}

La tabella nemmeno mi esce più così :p
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao,
nella chiave dell'array devi mettere il nome del campo in tabella con cui vuoi raggruppare
PHP:
$groupFields = array(
    'zone' => 'Zona',
);
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
stampa query ed eventuali errori
PHP:
echo $sql . "<br/>";
$query = mysql_query($sql); 
if(!$query) {
    echo mysql_error();
}
 
Discussioni simili
Autore Titolo Forum Risposte Data
R Filtri e plugin per photoshop Photoshop 0
M [VENDO] Filtri instagram su richiesta Altri Annunci 0
S [PHP] Creare collegamento filtri di ricerca al database PHP 6
maxs84 Filtri multipli da casella combinata MS Access 0
D Javascript, filtri e altri misteri Javascript 0
matteoraggi Aggiungere filtri a woocommerce WordPress 0
F Filtri in option select jQuery 1
M filtri cumulativi per tabella Javascript 1
L filtri di query [php-mysql] PHP 6
P Filtri order by e where 'dinamici' PHP 1
D Filtri alle immagini con PHP e GB PHP 15
M filtri javascript Javascript 2
M filtri collonne PHP 2
L if else (filtri per una tabella) PHP 3
S Filtri multipli per database mysql PHP 1
G visualizzare risultati ricerca dopo form nella stessa pagina e mantenimento filtri PHP 1
R filtri e maschere MS Access 0
borgo italia facebook aggira i filtri aziendali Discussioni Varie 12
Z Photoshop: manca l'opzione render per filtri Photoshop 1
C mappare un'immagine x il web con gimp(filtri/web/mappa immagine) Webdesign e Grafica 0
G Cambiare dimensione disegno fireworks senza incasinare i filtri? Webdesign e Grafica 4
I Filtri Access MS Access 0
M Conteggio con group by PHP 3
A Sottoquery con group by per mese MySQL 0
F Group By con Alias condizionale MySQL 1
L group by non raggruppa MySQL 2
Alex_70 Query group actor e film PHP 26
V [Oracle] Group by in una tabella Oracle 5
F [PHP] Aiuto SELECT DISTINCT / GROUP BY PHP 17
M Problemi tra GROUP BY e tabella 'datagrid.class.php' PHP 6
G [MS Access] JOIN di due tabelle più GROUP BY MS Access 1
Alessandro Ad Adbooth Media Group, piattaforma di pubblicità Vendere e Acquistare pubblicita' online 0
M Query group by PHP 4
M Ordinare i valori in query group by PHP 4
I Idata Group è alla ricerca di Analisti Programmatori J2EE Offerte e Richieste di Lavoro e/o Collaborazione 0
S myClub (Social Group) Cercasi Staff Offerte e Richieste di Lavoro e/o Collaborazione 0
A GROUP BY e ORDER BY MySQL 2
N Visualizzazione record in PHP con SELECT GROUP BY PHP 3
G [risolto] MySql, SELECT, GROUP BY e COUNT MySQL 6
C Interface Builder Storyboard Compiler Error Group (HELP!) Sviluppo app per iOS 0
C 2 query sulla stessa tabella + group by MySQL 6
G Group by e order by insieme! PHP 8
davide1982 Raggruppare dati in categorie con group by MySQL 2
F Ciao da Fandango Media Group! Presentati al Forum 2
Y update con group by Database 5
E ROws.Group Atuomatiche? è possibile? Visual Basic 0
E User Group di Roma su .Net Presenta il tuo Sito 0
K [MySQL] Sum e Group Database 0
L Lavorare in Fm Group Altri Annunci 0
D Select e group PHP 0

Discussioni simili