Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    visualizzazione dati piu tabelle in ordine

    Carissimi ecco perchè vi chiedo un aiutino...

    non riesco a visualizzare i dati di più tabelle senza doppioni .. mi spiego meglio
    ho due tabelle
    smielatura e confezionatura

    nella smielatura ho
    id
    datamiele (date smielatura)
    codmiele (codice miele)
    nomemiele (nome del miele)
    postazmiele (luogo degli alveari)
    totmiele (totale smielato
    resultmiele (totale perso)
    resmiele (residuo del miele
    notemiele (note varie)

    e una tabella confmiele

    ifconf
    dataconfmiele (data confezionamento)
    codconfmiele (codice miele
    nomeconfmiele (nome del miele)
    boxconfmiele (nome confezione)
    pesoconfmiele (peso confezione)
    numconfmiele (numero confezioni)
    totconfmiele (moltiplicazione tra il peso e il numero confezioni)
    resparzconfmiele (fotografia del resto da confezionare in quel momento)
    tottotconfmiele (somma di tutte quantità di quel tipo di miele)
    resultconfmiele (miele buttato da quella confezionatura ..vasetti rotti)
    resnumconfmiele (residuo confezioni non ancora vendute)
    noteconfmiele (note varie)



    vorrei ricavare lo "storico" di quel miele ..
    di conseguenza ho fatto una pagina (due frame ) che interrogano i db e mi danno il risultato della storia di quel miele
    quindi quando è stato smielato e le successive confezionature...
    con questa query:
    $query="SELECT miele.*, confmiele.* FROM miele INNER JOIN confmiele ON codmiele = codconfmiele WHERE codmiele = ('".$codmiele."') AND codconfmiele = ('".$codmiele."') AND datamiele BETWEEN ('".$datamieleusDA."') AND ('".$datamieleusA."') AND dataconfmiele BETWEEN ('".$datamieleusDA."') AND ('".$datamieleusA."') ORDER BY 2 DESC ";
    $res = mysql_query($query) or die ('Error updating database: ' . mysql_error());

    ma sotto per visualizzare i dati in php

    ho l'intestazione della tabella..
    poi
    while($row=mysql_fetch_assoc($res)){
    e infine i dati prima della tabella miele e poi confmiele...

    ovviamente per ogni confezionatura mi ripete la smielatura
    ...
    ecco il condice
    <tr>

    <td width="5%" align="center"><?php echo $row['id'] ?></td>
    <td width="5%" align="center"><?php echo $row['datamieleita'] ?></td>
    <td width="5%" align="center">SMIELATTURA</td>
    <td width="10%" align="center"></td>
    <td width="10%" align="center"><?php echo $row['postazimiele'] ?></td>
    <td width="5%" align="center"><?php echo $row['codmiele'] ?></td>
    <td width="5%" align="center"><?php echo $row['totmielekg']?></td>
    <td width="5%" align="center"><?php echo $row['resparzmielekg'] ?></td>
    <td width="5%" align="center"><?php echo $row['totmielekg']?></td>





    </tr>
    <tr>

    <td width="5%" align="center"><?php echo $row['idconf'] ?></td>
    <td width="5%" align="center"><?php echo $row['dataconfmieleita'] ?></td>
    <td width="5%" align="center">CONFEZIONATURA</td>
    <td width="10%" align="center"><?php $row['denodittmiele'];?></td>
    <td width="10%" align="center"></td>
    <td width="5%" align="center"><?php echo $row['codconfmiele'] ?></td>
    <td width="5%" align="center"></td>
    <td width="5%" align="center"><?php echo $row['totconfmielekg'] ?></td>
    <td width="5%" align="center"><?php echo $row['resparzconfmielekg']?></td>





    </tr>
    ovvio ad ogni interrogazione mostra i dati come scritto sopra...
    io vorrei invece che si vedesse solo i dati una volta sola....
    ovvero il risultato dovrebbe essere
    smielatura
    confezionatura1
    confezionatura2
    ecc..

    e non
    smielatura
    confezionatura1
    smielatura (ecco il dato doppio)
    confezionatura2
    smielatura (ecco il dato triplo)
    confezionatura3

    allora vi chiedo per semplificare... visto che non si puo fare le union delle tabelle(hanno campi diversi...etc...
    ho provato un pò tutte le strade con mysql... anche group by etc...
    non è possibile risolvere con PHP?
    ovvero mi potete aiutare a fare due array formati da 2 query distinte....

    query1=select...
    query2 =select...

    poi il risultato
    oridinarlo per il secondo dato di ogni array ?

    array1 (campo1,campo2...
    array2 (campo1, campo2...
    e sotto il codice .. che prende indipendentemente la riga confezionatura o smielatura...

    e non doppio quindi ?

    non so piu come fare...

    grazie infinite
    sarà un mese che ci

    AIUTO !!!

  2. #2
    Perdonami... la "smielatura" che campo sarebbe nelle due tabelle? Nella seconda tabella inoltre questo campo ha vari record...
    Non potresti separare le query? In questo modo avresti per ogni smielatura una query e stampi a video.

  3. #3
    scusate se non mi sono spiegato bene

    la smielatura non è un campo ma un record della tabella smielatura...(la prima)

    non voglio separare le query questo perchè nel form di ricerca io posso anche cercare tutti codici miele di acacia quindi potrei avere piu linee con i dati smielature
    cod1
    cod2
    cod3
    e piu confezionature per le tre smielature di riferimento ... il mio intento è di metterli in ordine per data "storico"...

    provo anche a spiegarmi cosi...a livello logico..
    ho due tabelle A e B
    all'interno ci sono dei record formati da dei campi:
    A ha A1 A2 A3 A4 ecc
    B ha B1 B2 B3 ecc
    vorrei prendere i record delle due tabelle come se fossero una sola e ordinarle per data...
    indipendentemente che facciano parte della tabella A o B....

    grazie ancora....!!

  4. #4
    Lascio la palla ad altri per la query sql

  5. #5

    non mi abbandonare

    ti prego non mi abbandonare...

    ho scritto qui per una risposa php....(fa pure rima)

    scherzi a parte..
    si potrebbe ?

    racchiudere le select... dentro gli array per poi ordinarli ?




    poi comuque il mio problema è credo che la query va bene solo che il codice php non so come scriverlo per visualizzare la query risultante senza doppi ....

  6. #6
    Mettere tutto in un array è facile:
    Codice PHP:
    $mio_array [] = $dato// va ad aggiungere un singolo dato in questo array... 
    abbiamo detto che tu hai almeno due dati giusto? tra cui uno data...

    Codice PHP:
    for ($i 0$i count($risultato_db); $i++) {
    $mio_array [$i]['nome'] = "x";
    $mio_array [$i]['data'] = "x";
    }

    // Per ordinare un array senza perdere il valore
    $mio_array arsort($mio_array);
    // stampi a video l'array

    for ($i 0$i count($mio_array); $i++) {
    print 
    $mio_array [$i]['nome'];
    print 
    $mio_array [$i]['data'];

    è solo un codice generico

  7. #7

    array doppio

    Grazie mille ma credo di essermi spiegato male...

    gli array devono essere 2.
    credo che nell'esempio che mi hai dato si parla comunque di ordinare i dati di un singolo array..
    io invece vorrei ordinarne 2....

    array1 = select1
    array2 = select2

    array3 = array1 + array2

    ordina array3


    come se fossero un array unico...


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.