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

    salvare variabili da usare in altro script

    Ciao a tutti,

    ho un grosso problema che noin so come risolvere:

    ho uno script PHP che mmi permette di interrogare un database stampandomio in html tutti i valori che mi servono come: MEDIA, VARIANZA TEMPO TOTALE, TEMPO PERSO, ECC.
    questo script funziona con un form iniziale dove scelgo volta volta quale "tram" interrogare su una lista di 17.

    mi servirebbe memorizzare per ogni tram che interrogo per quel database , tutte le variabili e metterle in un'altra pagina dove mi riassume i valori ottenuti per i 17 tram ma come posso fare?

    ho provato con $_SESSION ma basta che cambio tram che mi cancella tutto ftampandomi solo un tram alla volta.

    grazie a tutti

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    fai un ciclo che presi tutti i tram ti fa il calcolo... no?

  3. #3
    ho provato ma i calcoli non me li fa esatti non tornano i valori che avrei presi i tram singolarmente

  4. #4
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    e allora sbagli a calcolare da una parte o dall'altra

    cmq posta un po' di codice che ci diamo un'occhiata

  5. #5
    f($_POST){
    $esegui = $_POST['esegui'];
    $entrata = $_POST['entrata'];
    $uscita = $_POST['uscita'];
    $otle =$_POST['otle'];
    $otlu =$_POST['otlu'];
    $tram = $_POST['tram'];
    $tabella= $_POST['tabella'];
    include 'tempi_1.php';


    // Performing SQL query
    // exit();
    $query = "select time_to_sec(timediff(n2.ora, n1.ora)) as tai, ";
    $query .= "1 as velocita, 1 as tempo_programmato, 1 as differenza, ";
    $query .= "n1.tram, n1.data, n1.ora as ora_IN, n2.ora as ora_OUT, ";
    $query .= "n1.loop as loop1, n2.loop as loop2, n1.otl as otl1, n2.otl as otl2 ";
    $query .= "from $tabella as n1, $tabella n2 ";
    $query .= "where n1.tram = n2.tram AND n2.tram = '$tram' AND n1.tram = '$tram' ";
    $query .= "AND ( (n2.loop='$uscita') AND (n2.otl='$otlu') ) ";
    $query .= "AND( (n1.loop='$entrata') AND (n1.otl='$otle') ) ";
    $query .= "AND (time_to_sec(n2.ora) - time_to_sec(n1.ora)) <2400 ";
    $query .= "AND(time_to_sec(n2.ora) - time_to_sec(n1.ora)) > 0 ";
    $query .= " order by n1.data, ora_IN, ora_OUT";
    //echo $query;

    $result = mysql_query($query) or die('Query failed: ' . mysql_error());
    // Printing results in HTML
    $ora_in = '';
    $ora_out = '';
    $colore_sfondo = '';
    //Contatori
    $tempo_totale = 0;
    $tempo_totaleT = 0;
    $ttrit=0;
    $contatore = 0;
    $cont=0;
    $ds=0;
    $dev ='';
    $contrit=0;
    $contf=0;
    while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
    $contatore++;

    $ora_succ = 0;
    if($ora_in){
    list($h1,$m1,$s1) = explode(':',$ora_in,3);
    $ora_succ = $h1*3600+$m1*60+$s1;
    }
    list($h2,$m2,$s2) = explode(':',$line['ora_IN'],3);
    $ora_prec = $h2*3600+$m2*60+$s2;
    $differenza = ($ora_prec - $ora_succ);

    //echo $ora_in." - ".$line['ora_in']." - ".$differenza."
    ";
    if(($differenza > 2000) && $ora_out != $line['ora_OUT'] ){
    //if($ora_in != $line['ora_in'] && $ora_out != $line['ora_out']){
    $cont++;
    $ora_in = $line['ora_IN'];
    $ora_out = $line['ora_OUT'];
    $line['tempo_programmato'] = date($tempi_previsti[$line['loop1'].'_'.$line['loop2']]);

    //echo $line['tai']."
    ";
    $tff = $line['tai'];
    $line['differenza'] = $tff - $tempi_previsti[$line['loop1'].'_'.$line['loop2']];

    if(($entrata=='Loop: 01.018.7') && ($uscita=='Loop: 01.019.7')){
    $line['velocita'] = round((($D1)/$tff)*(3.6),2);
    }elseif(($entrata=='Loop: 01.019.7') && ($uscita=='Loop: 01.019.5')){
    $line['velocita'] = round((($D2)/$tff)*(3.6),2);
    }elseif(($entrata=='Loop: 01.019.5') && ($uscita=='Loop: 01.019.1')){
    $line['velocita'] = round((($D3)/$tff)*(3.6),2);
    }elseif(($entrata=='Loop: 01.019.7') && ($uscita=='Loop: 01.019.1')){
    $line['velocita'] = round((($D4)/$tff)*(3.6),2);
    }elseif(($entrata=='Loop: 01.018.7') && ($uscita=='Loop: 01.019.5')){
    $line['velocita'] = round((($D5)/$tff)*(3.6),2);
    }elseif(($entrata=='Loop: 01.018.7') && ($uscita=='Loop: 01.019.1')){
    $line['velocita'] = round((($D6)/$tff)*(3.6),2);
    }elseif(($entrata=='Loop: 01.021.1') && ($uscita=='Loop: 01.021.3')){
    $line['velocita'] = round((($D7)/$tff)*(3.6),2);
    }elseif(($entrata=='Loop: 01.021.3') && ($uscita=='Loop: 01.020.1')){
    $line['velocita'] = round((($D8)/$tff)*(3.6),2);
    }elseif(($entrata=='Loop: 01.021.1') && ($uscita=='Loop: 01.020.1')){
    $line['velocita'] = round((($D9)/$tff)*(3.6),2);
    }

    //************************************************** **********************************
    $tempo_totale += $line['differenza'];
    $tempo_totaleT +=$tff;

    //calcolo valore medio ritardo
    $tempo_medio=$tempo_totale/($cont);
    $tempo_medio1=$tempo_totaleT/($cont);
    //echo $tempo_medio."
    ";

    $segno_tempo_medio = '+';

    if($tempo_medio<0){
    $segno_tempo_medio = '-';
    $tempo_medio = round($tempo_medio *(-1));
    //echo $tempo_medio."
    ";
    }
    //echo $tempo_medio1."
    ";
    $segno_tempo_medio1 = '+';
    if($tempo_medio1<0){
    $segno_tempo_medio1 = '-';
    $tempo_medio1 = round($tempo_medio1 *(-1),2);
    //echo $tempo_medio1."
    ";
    }
    $tempo_anticipo = $line['differenza'];
    if($line['differenza'] > 0){
    $segno = '+';
    }elseif($line['differenza'] ==0){
    $segno = '=';
    }else{
    $line['differenza'] = $line['differenza'] * (-1);
    $segno = '-';
    }

    $ds += pow(abs($line['differenza']- $tempo_medio),2);
    $ds1 += pow(abs($tff - $tempo_medio1),2);

    //Quantifico il tipo di ritardo
    if($line['velocita'] >=14){
    $line['nota']= 'Precedenza';
    $colore_sfondo='#008800';
    }elseif(($line['velocita']>=6) &&($line['velocita']<14 )){
    $line['nota']= 'Rallenta';
    $colore_sfondo='#FFA500';
    }elseif($line['velocita']<6){
    $contf++;
    $ttrit+= $tff;
    $line['nota']= 'STOP!!';
    $colore_sfondo='#FF0000';
    }

    if(($line['differenza']>5) && ($segno == '+') ){
    // $contrit++;
    }
    $line['differenza'] = $segno.date($line['differenza']);
    echo "<tr>";
    foreach ($line as $key => $col_value) {
    if(($key == 'velocita') && ($line['velocita']>20)){
    echo "<td class='fuxsia'>$col_value</td>";
    }elseif(($key == 'velocita') && ($line['velocita']>10)){
    echo "<td class='marrone'>$col_value</td>";
    }elseif(($key == 'differenza') && ($segno == '+')){
    echo "<td class='rosso'>$col_value</td>";
    }elseif(($key == 'differenza') && ($segno == '=')){
    echo "<td class='blu'>$col_value</td>";
    }elseif($key == 'nota'){
    echo "<td style= 'background-color: $colore_sfondo'><font color='#FFFFFF'>$col_value</font></td>";
    }else{
    echo "<td>$col_value</td>";
    }
    }
    echo "</tr>";

    }
    }
    $dev1= (sqrt($ds1/$cont));
    $dev= (sqrt($ds/$cont));

    echo "<tr><td colspan='13'><hr></td></tr>";
    echo "<td colspan='13'style= 'background-color:#800080'><font color='#FFFFFF'>ANALISI INTERSEZIONE </font></tr>";

    //$tempo_medio=$segno_tempo_medio.date("H:i:s", $tempo_medio);
    echo "<tr><td colspan='13'><hr></td></tr>";
    echo "<td colspan='1'>Media Realizzato </td>";
    echo" <td>".round($tempo_medio1,2)."</td>";
    echo "<td colspan='1'>SQM Realizzato</td>";
    echo" <td>". round($dev1,2)."</td>" ;
    echo "<td colspan='2'>Media Ritardo </td>";
    echo" <td>".round($tempo_medio,2)."</td>";
    echo "<td colspan='2'>SQM Ritardo</td>";
    echo" <td>". round($dev,2)."</td>";
    //calcolo Numero corse effettuate
    echo "<td colspan='2'>N.Corse </td>";
    echo" <td>$cont</td>";
    echo "<td colspan='13'></tr>";
    //TEMPO TOTALE
    echo "<td colspan='2'>Tempo Totale giornaliero</td>";
    echo" <td>".$tempo_totaleT."</td>";
    //numero di volte che ha rallentato
    echo "<td colspan='3'>N. di fermate al semaforo</td>";
    echo" <td>".$contf."</td>";
    echo "<td colspan='4'>Tempo perso al Semaforo</td>";
    if($ttrit==0){
    echo" <td>$ttrit</tr>";
    }else{
    echo" <td class='rosso' colspan='2'> ".$ttrit." (".round((($ttrit/$tempo_totaleT)*100),2)."%)</tr>";
    }








    if(isset($_GET['xls']) AND $_GET['xls']==1){
    $nomefile="REPORT_INCROCIO_A.xls";
    header ("Content-Type: application/vnd.ms-excel");
    header ("Content-Disposition: inline; filename=$nomefile");
    }
    // Free resultset
    mysql_free_result($result);
    }else{

    ?>

    <form method='post' action=''>
    <input type='hidden' name='esegui' value='1'>
    <tr>
    <form action ="incrocio_A.php" method="post">
    <tr><td>Tabella da analizzare</td><td>
    <input type='text' name='tabella' >
    <tr>
    <td>Tram</td>
    <td colspan='10'>
    <select name='tram' class='formField'>
    <option value='Tram 01'>Tram 01</option>
    <option value='Tram 02'>Tram 02</option>
    <option value='Tram 03'>Tram 03</option>
    <option value='Tram 04'>Tram 04</option>
    <option value='Tram 05'>Tram 05</option>
    <option value='Tram 06'>Tram 06</option>
    <option value='Tram 07'>Tram 07</option>
    <option value='Tram 08'>Tram 08</option>
    <option value='Tram 09'>Tram 09</option>
    <option value='Tram 10'>Tram 10</option>
    <option value='Tram 11'>Tram 11</option>
    <option value='Tram 12'>Tram 12</option>
    <option value='Tram 13'>Tram 13</option>
    <option value='Tram 14'>Tram 14</option>
    <option value='Tram 15'>Tram 15</option>
    <option value='Tram 16'>Tram 16</option>
    <option value='Tram 17'>Tram 17</option>
    </select>
    </td>
    </tr>
    <tr>


    come posso fare a generalizzarlo?
    a me servono per ogni tram:
    Media Realizzato
    SQM Realizzato
    N.Corse
    Tempo Totale giornaliero
    N. di fermate al semaforo
    Tempo perso al Semaforo

  6. #6
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    la query mi sembra molto strana, perchè fai il join sulla stessa tabella???

  7. #7
    per poter aver due valori che sarebbero associati alla stessa tabella il problema comunque non è la query quella funziona e che non so come generalizzare tu hai un'idea?

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.