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

    interrogazione piu tabelle dati diversi con inner JOIN

    eccomi
    sto cercando di imparare e con umiltà vi chiedo un grande aiuto.
    non vi spaventate per le brutture di codice sono alle prime armi...
    (abbiate pietà)

    ho creato un database mele
    con tre tabelle

    mele- cosi composto
    id
    datamele
    nomemele
    codmele
    totmele

    confmele- cosi composto

    idconf
    dataconf
    nomeconfmele
    codconfmele
    boxconfmele
    tottotconfmele

    fattmele cosi composto

    idfatt
    datafatt
    dittfattmele
    clifattmele
    nome1fattmele
    cod1fattmele
    tot1fattmele
    nome2fattmele
    cod2fattmele
    tot2fattmele
    eurofattmele

    ora ho creato l'inserimento dati la modifica etc... fino qui tutto bene
    adesso sono passato all'interrogazione dei dati...

    qui nonstante tutto... non riesco a venirne fuori, per ciò vi chiedo aiutoooooo

    ho una pagina con due frame .... una con un form che poi invia i dati dall'altra parte per l'interrogazione dei dati finchè faccio l'interrogazione
    una normale select tutto bene...

    //inverte la stringa data da inglese a americano per la visualizzazione
    function convertiData2($data){
    $rsl = explode ('-',$data);
    $rsl = array_reverse($rsl);
    return implode($rsl,'/');
    }



    //inverte la stringa data da italiano a inglese per la ricerca sul db
    function convertiData($data){
    $rsl = explode ('/',$data);
    $rsl = array_reverse($rsl);
    return implode($rsl,'-');
    }

    $datameleusDA=convertiData($datameleitaDA);

    $datameleusA=convertiData($datameleitaA);


    // funzione converte grammi in kg
    //function convertiGrammi($numero){
    //$numero = number_format($numero, 0,",",",");
    //return $numero ;

    //}

    // funzione converte grammi in kg CON DECIMALI
    function convertiGrammi($numero){
    $numero = $numero / 1000 ;
    $numero = number_format($numero, 3,",",",");
    return $numero ;

    }

    include("connmele.php");
    $nomemele = $_POST['nomemele'];
    $codmele = $_POST['codmele'];
    $datameleitaDA = $_POST['datameleitaDA'];
    $datameleitaA = $_POST['datameleitaA'];

    $query="SELECT * FROM mele WHERE nomemele LIKE ('".$nomemele."') AND codmele LIKE ('".$codmele."') AND datamele >= ('".$datameleusDA."') AND datamele <= ('".$datameleusA."') ORDER BY datamele,codmele ";
    $res = mysql_query($query);
    {
    }
    ?>
    <table id=stat align="center" width="85%" border="4" bordercolor="#CCCCCC" bgcolor="#FFFFFF" cellpadding="1" cellspacing="1" >

    <tr>


    <td width='5%' align='center'><a style='text-decoration:none' title='Data confezionatura'>DATA MELE </a></td>
    <td width='5%' align='center'><a style='text-decoration:none' title='codice'>CODICE</a></td>
    <td width='5%' align='center'><a style='text-decoration:none' title='Totale '>CARICO</a></td>
    </tr>
    <?php

    while($row=mysql_fetch_assoc($res)){


    //inverte la stringa data


    $row['datameleita']=convertiData2($row['datamele']);

    //converte i grammi del database in kg



    $row['totmelegrammi'] = $row['totmele'] ;
    $row['totmelekg']=convertiGrammi($row['totmelegrammi']);


    ?>
    <tr>


    <td width="5%" align="center"><?php echo $row['datameleita'] ?></td>
    <td width="5%" align="center"><?php echo $row['codmele'] ?></td>
    <td width="5%" align="center"><?php echo $row['totmele'] ?></td>


    </tr>



    <?php
    } //chiusura while
    ?>

    nella stessa pagina... (non riporto tutto il codice) interrogo, e visualizzo traquillamente anche i dati della tabella confmele e fattmele in ordine come
    mi pare e per le clausole scelte
    ora..
    vorrei fare in modo che fossero tutti insieme ordinati per data... ovviamente in base alla clausola WHERE...quindi stesso nome stesso codice e dalla data DA
    alla data A...
    ho provato con INNER JOIN... ma non sono riuscito

    ho provato anche in modo piu semplice cosi
    $query="SELECT mele.datamele , mele.codmele, mele.nomemele, mele.totmele,
    confmele.dataconfmele, confmele.codconfmele, confmele.nomeconfmele, confmele.tottotconfmele,
    FROM mele INNER JOIN confmele ON
    mele.codmele = confmele.codconfmele ORDER BY 2 ";
    $res = mysql_query($query);
    ma neppure cosi visualizzo un tubo !!!

    potete aiutarmii per favore :-(

    ho cercato un bel po nel forum... ma forse colpa della mia ignoranza .. non sono riuscito
    a trovare qualcosa che mi aiutasse a capire bene....

    spero di essermi spiegato bene...grazie

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Hai sbagliato sezione, il tuo problema è con le query SQL, non con PHP.
    Fatti spostare la discussione nella sezione Database.

  3. #3

    grazie la sposto io e chiudo questo ...

    grazie la sposto io e chiudo questo ...

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.