Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Problema con costruzione griglia

    salve a tutti.
    ho un grosso problema che nn riesco a risolvere.
    io ho una tabella articoli; ogni id della tabella è una combinazione di codice dell'articolo, colore e taglia.
    quindi potrei avere una cosa del genere:
    codice:
    ID - CODICE - COLORE - TAGLIA
    1     903         nero        S
    2     903         nero        M
    3     903         nero        L
    4     903         oro         S
    5     903         oro         M
    6     903         oro         L
    io ovviamente nn so a priori quante combinazioni taglie/colori ha un determinato codice.
    devo costruire una griglia del genere; dato un codice sopra le taglie e a sinistra i colori:
    codice:
    CODICE - COLORE - S       - M  - L
    903         nero        input input input
    903         oro          input input input
    nelle input ci devo mettere le quantità.
    nn riesco a farlo.
    nel senso che io per ora avevo fatto così:
    per la taglie eseguo la query facendo un GROUP BY taglia
    per il colori eseguo la query facendo un GROUP BY colore
    così facendo però mi perdo gli ID degli articoli.
    avete qualche idea?

  2. #2
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    Ciao, se devi far visualizzare la totalità degli articoli a seconda della taglia, colore e codice...perchè ti interessa il singolo idarticolo?

  3. #3
    perchè poi per ogni codice-colore-taglia devo impostare la quantità in giacenza.
    quindi ad esempio:
    903 - nero - S => qt = 2
    903 - nero - L => qt = 7
    903 - oro - S => qt = 5

  4. #4
    Utente di HTML.it L'avatar di garakkio
    Registrato dal
    Dec 2011
    residenza
    Roma
    Messaggi
    480
    Estrai i dati non raggruppati, poi durante il ciclo tieniti in una variabile il valore del codice precedente (null, prima di iniziare il ciclo). Dentro il ciclo, cambia riga di output solo quando il valore del codice attuale è diverso da quello del ciclo precedente.

  5. #5
    avevo tentato questa strada ma senza molto successo.
    allora vediamo un pò, estraendo solo la parte interessata:
    Codice PHP:
    $resultTB $config->getPdo()->query('SELECT * FROM articoli WHERE articolo_codice = "' $cod '"');
    $colore NULL;
            foreach (
    $resultTB as $tr) {
                
    $colore $tr['colore_codice'];
                echo 
    '<tr>';
                echo 
    '<td>' $tr['articolo_codice'] . '</td>';
                echo 
    '<td>' $tr['colore_codice'] . ' ' $tr['colore_descrizione_ita'] . '</td>';
                echo 
    '<td></td>';
                echo 
    '<td><input class="input_qt" type="text" name="qt_giac[]" value="' $tr['articolo_id'] . '" /></td>';
                }
                echo 
    '</tr>';
            } 
    ovviamente questo nn funziona, ma nn viene proprio in mente come proseguire.

  6. #6
    Utente di HTML.it L'avatar di garakkio
    Registrato dal
    Dec 2011
    residenza
    Roma
    Messaggi
    480
    Devi ri-assegnare $colore in fondo al ciclo, non in cima, altrimenti non serve a niente.
    E poi devi fare un controllo, un if.

  7. #7
    quindi.
    a fino ciclo ri-assegno il colore a $colore.
    a inizio ciclo controllo se $colore != al colore precedente.
    se è così creo una nuova <tr>.
    giusto?
    se così, come faccio a fare questo controllo e dirgli di controllare se $colore != $colore_del_ciclo_precedente??

  8. #8

  9. #9
    no ovviamente nn intendevo dire come si scrive un if.
    intendevo nel problema specifico:
    Codice PHP:
            foreach ($resultTB as $tr) {
                if (
    $colore != $colore) {
                    echo 
    '<tr>';
                    echo 
    '<td>' $tr['articolo_codice'] . '</td>';
                    echo 
    '<td>' $tr['colore_codice'] . /* ' ' . $tr['colore_descrizione_ita'] . */'</td>';
                    echo 
    '<td></td>';
                    echo 
    '<td><input class="input_qt" type="text" name="qt_giac" value="' $tr['articolo_id'] . '" /></td>';
                    echo 
    '</tr>';
                }
                
    $colore $tr['colore_codice'];
            } 
    questo nn funziona.
    è questo quello che intendevo.

  10. #10
    Utente di HTML.it L'avatar di garakkio
    Registrato dal
    Dec 2011
    residenza
    Roma
    Messaggi
    480
    Scusami, ma secondo me se ci pensavi un attimo potevi arrivarci anche da solo...
    Che senso ha confrontare $colore con $colore?
    Ovviamente devi confrontare $colore con $tr['colore_codice']

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.