• User

    sito dinamico

    Ciao grandi sapienti ora ho veramente bisogno di voi!!!!!!!!

    io ho un database con i contenuti del sito internet e questo è scritto in php che interroga il db e scrive la pagina a video, fin qui tutto OK.
    Il mio problema sussiste quando devo raccogliere i dati perchè il mio codice tramite uno switch riconosce le tipologie delle risposte alle domande e crea il form adatto e fin qui ancora tutto liscio.
    [HTML]
    <link href="stile.css" rel="stylesheet" type="text/css" />
    <?php
    include ("config.php");
    include ("basetop.php");
    ?>

    <div class="box_top"><br/>
    <div class="box_top_botton">
    <?php
    $servizio=$_REQUEST['servizio'];
    $area=$_REQUEST['area'];
    $aop=$_REQUEST['aop'];
    $aop_s=$_REQUEST['aop_s'];
    $sotta=$_REQUEST['sotta'];
    $sotta_s=$_REQUEST['sotta_s'];
    $matt=$_REQUEST['matt'];
    $matt_s=$_REQUEST['matt_s'];
    ?>
    <a href="index.php" title="Servizi" style='color: #990000'> <b>Servizi</b> </a><b>></b>
    <a href="aree.php?servizio=<?php echo"$servizio";?>" title="Aree" style='color:'> <b>Aree di <?php echo"$servizio";?></b> </a><b>></b>
    <a href="aop.php?servizio=<?php echo"$servizio";?>&area=<?php echo"$area";?>" title="Ambito Operativo" style='color:'> <b>Ambiti Operativi di <?php echo"$area";?></b> </a><b>></b>
    <a href="sotta.php?servizio=<?php echo"$servizio";?>&area=<?php echo"$area";?>&aop=<?php echo"$aop";?>&aop_s=<?php echo"$aop_s";?>" title="Sottoambito Operativo" style='color:'> <b>Sottoambiti Operativi di <?php echo"$aop_s";?></b> </a><b>></b>
    <a href="matt.php?servizio=<?php echo"$servizio";?>&area=<?php echo"$area";?>&aop=<?php echo"$aop";?>&aop_s=<?php echo"$aop_s";?>&sotta=<?php echo"$sotta";?>&sotta_s=<?php echo"$sotta_s";?>" title="Macro Attività" style='color:'> <b>Macro Attività di <?php echo"$sotta_s";?></b> </a>

    </div>
    <div class="box_top_title">
    <b>Raccolta dati di <?php echo "$matt_s";?></b>
    </div>
    <div class="box_top_login">
    <a href="login_page.php" title="Amministrazione" style='color: #666666; margin-right:10px;'> <b>Amministrazione</b></a>
    </div>
    </div>
    <div class="box_select">
    <div class="box_select_title">
    <div class="box_select_attivity">

    <?php 
    $sql="SELECT * FROM t_questions WHERE ID_M_ATT='".$_REQUEST['matt']."'";
    
    $result_mssql=@mssql_query($sql,$link);
    
    if(!$result_mssql) {
     exit('<p>Errore! Non sono presenti servizi nel database!<br/>' .
      'Error: ' . mssql_error() . '</p>');
    }
    
    echo "<table width='600' border='0' cellspacing='0' cellpadding='0'>
         <tr>
        <td>  
         <form action='fatto.php' method='post'>
           Seleziona la Banca : <select size='1' name='banca'>
            <option value=''></option>
            <option value='tutte'>Tutte le Banche</option>
            <option value=''></option>
            <option value='firenze'>Firenze</option>
            <option value='pistoia'>Pistoia</option>
            <option value='la_spezia'>La Spezia</option>
            <option value='civitavecchia'>Civitavecchia</option>   
            <option value='orvieto'>Orvieto</option>
            <option value=''></option>
            <option value='no_firenze'>Pt,Sp,Cv,Or</option>
            <option value=''></option>
            <option value='infogroup'>Infogroup</option>
           </select>
        </td>
       </tr>";
    $i=1;
    while($result=mssql_fetch_array($result_mssql)){
     $d_q = $result ["D_Q"];
     $t_q = $result ["T_Q"];
     $val="$VAL$i";
     switch ($t_q){
     
      case "si_no" :        
      echo "<tr>
        <td>$d_q</td>
         </tr>
         <tr>
        <td>
          Si/No: <select size='1' name='si_no'>
           <option value=''></option>
           <option value='si'>Si</option>
           <option value='no'>No</option>
          </select>
          <input type='hidden' name='val' value='$val'/>
        </td> 
         </tr>";
         $i=$i+1;
      break;
         
      case "testo" :
      include ("only_text.jsp");        
      echo "<tr>
        <td>$d_q</td>
         </tr>
         <tr>
        <td> 
          Testo: <input type='text' name='only_text' onkeyup='verify_num(this);'/>
          <input type='hidden' name='val' value='$val'/>
        </td> 
         </tr>";
         $i=$i+1;
      break;
      
      case "numero" : 
      include ("only_num.jsp");       
      echo "<tr>
        <td>$d_q</td>
         </tr>
         <tr>
        <td>
          Numero: <input type='text'  name='only_num' onkeyup='verify_num(this);'/>
          <input type='hidden' name='val' value='$val'/>
        </td> 
         </tr>";
         $i=$i+1;
      break;
      
      case "data" : 
      include ("date.jsp");            
      echo "<tr>
        <td>$d_q</td>
         </tr>
         <tr>
        <td>
          Data: <input type='text' name='date3' id='sel3' size='10'
    

    <input type='reset' value=' ... '
    onclick='return showCalendar('sel3', '%d/%m/%Y');'/>
    <input type='hidden' name='val' value='$val'/>
    </td>
    </tr>";
    $i=$i+1;
    break;

      }
    }
    
    include ("preview.jsp");
    
    echo "    <tr>
        <td> 
         <br/>
         <!--<input type='button' value='Anteprima' onClick='preview();' />-->
         <input type='hidden' name='matt' value='$matt'/>
         <input type='hidden' name='matt_s' value='$matt_s'/>
         <input type='submit' value='Registra'/>
         </form>
        </td>
         </tr>         
      </table><br/>";
    
    
    mssql_close($link);
    ?>
    </div>
    

    <?php
    include ("basebottom.php");
    ?>

    [/HTML]
    Ora il vero problema e come rintracciare nel file successivo i dati inviati dal form.
    Non credo di essere stato chiaro ma spero per chi fosse interessato sono disposto a discussioni ed accetto consigli da tutti.

    IO CREDO IN VOI.;)


  • User Attivo

    Da come ho capito, alcuni elementi del form sono visibili e compilabili sono in base a determinate scelte.
    Ora il tuo problema è quello di verificare quale elemento è stato scelto e che valore contiene.
    La cosa più semplice da fare è quella di eseguire un controllo su tutti i dati inviati dal form.

    Es:
    $banca = @$_POST["banca"];
    ...
    $val = @$_POST["val"];

    Dopo aver assegnato tutte le variabile (uso @ perchè se un elemento non è utilizzato, eseguire il $_POST da errore), controllo se quest'ultime contengono valore nullo o sono vuote, cioè non sono state scelte, oppure contengono un valore, e quindi sono state scelte e compilate nel form precedente.

    Un'altra alternativa, è quella di passare un parametro aggiuntivo speciale nascosto nel form, che indica la scelta effettuata dall'utente.

    Ciao!


  • User

    bravo credo che tu abbia centrato o per lo meno ci sei andato abbastanza vicino alla mia sfortunata situazione.
    Come visto io ho uno switch dentro un while dove fino a che ci sono domande nel db mi stampa a video il testo della domanda e il tipo di <input> allinterno del form corrispondente alla tipologia della risposta.
    Quindi io mi ritrovo ad aver nella pagina di destinazione N variabili "val" che NON so come vedere a video, per spiegarmi meglio , la mia esigenza che nella pagina di destinazione io possa stampare a video il nome di tutte le variabili "val" e i rispettivi valori "$val".

    spero che tu abbia una soluzione perchè io ho provato a seguire il tuo consiglio scrivendo nella pagina di destinazione una cosa del generre ma non mi funge
    [HTML]
    while(isset($_REQUEST['val'])){
    if(isset($_REQUEST['si_no'])){
    $si_no=@$_REQUEST['si_no'];
    $val= @$_REQUEST['val'];
    }
    if(isset($_REQUEST['testo'])){
    $si_no=@$_REQUEST['testo'];
    $val= @$_REQUEST['val'];
    }
    if(isset($_REQUEST['numero'])){
    $si_no=@$_REQUEST['numero'];
    $val= @$_REQUEST['val'];
    }
    if(isset($_REQUEST['data'])){
    $si_no=@$_REQUEST['data'];
    $val= @$_REQUEST['val'];
    }

       $s=@$_REQUEST['val'];
       echo "$s";
    

    }
    [/HTML]

    AIUTAMI❌x❌x


  • User Attivo

    Nel codice postato ci sono delle stranezze, esempio non capisco l'uso del while e tutte quelle assegnazioni ridondanti ed inutili della variabile $val.

    Prova a modificare il codice in questo modo:
    [php]
    if(isset($_REQUEST['val'])){
    $val= @$_REQUEST['val'];
    if(isset($_REQUEST['si_no'])){
    $si_no=@$_REQUEST['si_no'];
    }
    if(isset($_REQUEST['testo'])){
    $si_no=@$_REQUEST['testo'];
    }
    if(isset($_REQUEST['numero'])){
    $si_no=@$_REQUEST['numero'];
    }
    if(isset($_REQUEST['data'])){
    $si_no=@$_REQUEST['data'];
    }

       echo $val . "\n";
       echo $si_no . "\n";
    

    }
    [/php]Ciao!


  • User Attivo

    per stampare tutto quello che mandi dal form fai così:

    foreach($_POST as $nome => $valore)
    {
    echo $nome." = ".$valore;
    }

    nn so se ho capito bene la questione!


  • User

    lo sapevo che esistesse qualcosa che io ignoravo.
    ora riesco a stampare a video tutti i dati che passo con il form.
    Ora però vorrei un ragguaglio su come sia possibile salvare dinamicamenti i dati passati su variabili distinte oppure sapere come posso puntare ai dati passati dal form (forse utilizzando $_POST['$nome'] e $_POST['$valore'] ), per essere precisi mi servono per fare una query di inserimento dati sul database ma i dati del form sono numericamente variabili.

    Qualche idea??????:?:?:?


  • User Attivo

    $query = "INSERT INTO tabella SET ";

    foreach($_POST as $nome => $valore)
    {
    $query .= "$nome="$valore", ";
    }

    $query = substr($query,0,strlen($valore)-1);

    mysql_query($query);

    così crei una query dinamicamente, l'unica cosa è che i nomi degli input devono corrispondere ai cambi nel db


  • User

    perfetto ma io passo N variabili ma la prima non mi serve nella query la seconda variavile del $valore mi serve per costruire il titolo della tabella dove fare la query (esempio tdi_$valore) e il resto mi deve andare a costruire i campi da immettere nei parametri della query.

    Digital Daigor hai altri buoni consigli!!!


  • User Attivo

    [php]$query2 = "";

    foreach($POST as $nome => $valore)
    {
    if(!(strpos("nnserve
    ",$nome)) && !(strpos("tabella",$nome)))
    {
    $query2 .= "$nome="$valore", ";
    }
    else
    {
    if(strpos("tabella",$nome))
    {
    $tabella = "tdi_".str_replace("tabella","",$nome);
    }
    }
    }

    $query = "INSERT INTO $tabella SET ".$query2;

    $query = substr($query,0,strlen($valore)-1);

    mysql_query($query);[/php]
    questo va?


  • User

    Io ho il codice seguente che si chiama racc_dati.php ed ha il compito di stamparmi a video tutte le domande che troba nel database che corrispondono ad un id data dalla variabile "matt" scelta dall'utente precedentemente ed inoltre riconosce la tipologia della risposta della domanda tramite la variabile $t_q anchessa presente in un campo della medesima tabella delle domande.
    Ora io devo creare il file fatto.php che presenta il codice di registrazione delle informazioni immesse dall'utente e che controlli l'avvenuta o fallita registrazione.

    [HTML]
    <link href="stile.css" rel="stylesheet" type="text/css" />
    <?php
    include ("config.php");
    include ("basetop.php");
    ?>

        <div class="box_top"><br/>
            <div class="box_top_botton">
                <?php 
                    $servizio=$_REQUEST['servizio'];
                    $area=$_REQUEST['area'];
                    $aop=$_REQUEST['aop'];
                    $aop_s=$_REQUEST['aop_s'];
                    $sotta=$_REQUEST['sotta'];
                    $sotta_s=$_REQUEST['sotta_s'];
                    $matt=$_REQUEST['matt'];
                    $matt_s=$_REQUEST['matt_s'];
                ?>
    
                <a href="index.php" title="Servizi" style='color: #990000'> <b>Servizi</b> </a><b>></b>
                <a href="aree.php?servizio=<?php echo"$servizio";?>" title="Aree" style='color:'> <b>Aree di <?php echo"$servizio";?></b> </a><b>></b>
                <a href="aop.php?servizio=<?php echo"$servizio";?>&area=<?php echo"$area";?>" title="Ambito Operativo" style='color:'> <b>Ambiti Operativi di <?php echo"$area";?></b> </a><b>></b>
                <a href="sotta.php?servizio=<?php echo"$servizio";?>&area=<?php echo"$area";?>&aop=<?php echo"$aop";?>&aop_s=<?php echo"$aop_s";?>" title="Sottoambito Operativo" style='color:'> <b>Sottoambiti Operativi di <?php echo"$aop_s";?></b> </a><b>></b>
                <a href="matt.php?servizio=<?php echo"$servizio";?>&area=<?php echo"$area";?>&aop=<?php echo"$aop";?>&aop_s=<?php echo"$aop_s";?>&sotta=<?php echo"$sotta";?>&sotta_s=<?php echo"$sotta_s";?>" title="Macro Attività" style='color:'> <b>Macro Attività di <?php echo"$sotta_s";?></b> </a>
            
            </div>
            <div class="box_top_title">
                <b>Raccolta dati di <?php echo "$matt_s";?></b>
            </div>            
            <div class="box_top_login">
                <a href="login_page.php" title="Amministrazione" style='color: #666666; margin-right:10px;'> <b>Amministrazione</b></a>
            </div>
        </div>
        <div class="box_select">
            <div class="box_select_title">
                <div class="box_select_attivity"> 
    
                <?php 
                
                $sql="SELECT * FROM t_questions WHERE ID_M_ATT='".$_REQUEST['matt']."'";
                
                $result_mssql=@mssql_query($sql,$link);
                
                if(!$result_mssql) {
                    exit('<p>Errore! Non sono presenti tabelle di raccolta dati nel database!<br/>' .
                     'Error: ' . mssql_error() . '</p>');
                }
                
                echo "<table width='600' border='0' cellspacing='0' cellpadding='0'>
                              <tr>
                                <td>  
                                    <form action='fatto.php' method='post'>
                                    
                                            <input type='hidden' name='matt' value='$matt'/>
                                            <input type='hidden' name='matt_s' value='$matt_s'/>
                                            
                                            Seleziona la Banca : <select size='1' name='banca'>
                                                <option value=''></option>
                                                <option value='tutte'>Tutte le Banche</option>
                                                <option value=''></option>
                                                <option value='firenze'>Firenze</option>
                                                <option value='pistoia'>Pistoia</option>
                                                <option value='la_spezia'>La Spezia</option>
                                                <option value='civitavecchia'>Civitavecchia</option>            
                                                <option value='orvieto'>Orvieto</option>
                                                <option value=''></option>
                                                <option value='no_firenze'>Pt,Sp,Cv,Or</option>
                                                <option value=''></option>
                                                <option value='infogroup'>Infogroup</option>
                                            </select>
                                </td>
                            </tr>";
                            
                while($result=mssql_fetch_array($result_mssql)){            
                    $d_q = $result ["D_Q"];
                    $t_q = $result ["T_Q"];    
                    $val = $result ["VAL"];    
                    
                    //echo "<br/>$val $t_q $d_q";
                    
                    if($t_q=="si_no"){
                        echo "<tr>
                                <td><br/>$d_q</td>
                              </tr>
                              <tr>
                                <td>
                                        Si/No: <select size='1' name='$val'>
                                            <option value=''></option>
                                            <option value='si'>Si</option>
                                            <option value='no'>No</option>
                                        </select> $val
                                </td>    
                              </tr>";
                    }
                    if($t_q=="testo"){
                        include ("only_text.jsp");                    
                        echo "<tr>
                                <td><br/>$d_q</td>
                              </tr>
                              <tr>
                                <td>    
                                        Testo: <input type='text' name='$val' onkeyup='verify_num(this);'/> $val
                                </td>    
                              </tr>";
                    }
                    if($t_q=="numero"){
                        include ("only_num.jsp");                
                        echo "<tr>
                                <td><br/>$d_q</td>
                              </tr>
                              <tr>
                                <td>
                                        Numero: <input type='text'  name='$val' onkeyup='verify_num(this);'/>
                                </td>    
                              </tr>";
                    }
                    if($t_q=="data"){                                    
                        echo "<tr>
                                <td><br/>$d_q</td>
                              </tr>
                              <tr>
                                <td>
                                        Data: <input type='text' name='$val' size='10'> $val
                                </td>    
                              </tr>";
                    }
                    
                }    
                
                echo "          <tr>
                                <td>    
                                    <br/>
                                    <input type='submit' value='Registra'/>
                                    </form>
                                </td>
                              </tr>                              
                        </table><br/>";
                    mssql_close($link);
                    
                ?>
                </div>
    

    <?php
    include ("basebottom.php");
    ?>

    [/HTML]

    Per farti un esempio pratico, ho a video da questo codice una cosa del genere:

    										 											Seleziona la Banca :  												 												Tutte le Banche 												 												Firenze 												Pistoia 												La Spezia 												Civitavecchia			 												Orvieto 												 												Pt,Sp,Cv,Or 												 												Infogroup 											 								 							 								
    

    Sollecito Validazione dall'area Conti Correnti? Si/No: Si No VAL1
    Se SI annota la causa Testo: VAL2
    Validazione effettuata entro i termini? Si/No: Si No VAL3
    Se NO annota la causa Testo: VAL4
    Blocco del batch? Si/No: Si No VAL5
    Se SI annota la causa Testo: VAL6

    dove c'è il campo Banca, le domande e le risposte alle domande di diversa tipologia es SI/NO, TESTO, NUMERO,...

    ORA quindi il mio file fatto.php tramite questo codice che non è altro una forma adattata al tuo consiglio
    [HTML]
    $data=date("dmY");
    $query = "INSERT INTO (DATA, BANCA";

                foreach($_POST as $nome => $valore )
                {
                $query .= ", $nome";
                }
                $query .= ")VALUES($data ";
                foreach($_POST as $nome => $valore )
                {
                $query .= ", $valore";
                }
                $query .= ");";
                echo "$query";
                $query = substr($query,3,strlen($valore)-1);
    

    [/HTML]
    mi stampa a video questa query

    INSERT INTO (DATA, BANCA, matt, matt_s, banca, VAL1, VAL2, VAL3, VAL4, VAL5, VAL6)VALUES(13012008 , 6, Valid, firenze, no, , si, ad, no, );

    dove gli errori sono che il nome della tabella a cui deve puntare la query è "tdi_Valid" dove Valid è il terzo valore dei parametri immessi in VALUES;
    poi nei nomi dei campi non voglio stampare "matt, matt_s, banca," mentre nei campi VALUES non ci devono essere " 6, Valid, firenze," .

    Adesso che spero di averti dato una visione di insieme più dettagliata mi sai dare un altro buon consiglio visto che mi sembri molto più in gamba di me???

    Lo so che sembra una sviolinata ma come diavolo hai fatto a capire il mio problema a prima botta?????;)


  • User Attivo

    a questo punto, metterei in una var, di sessione o come post, la listadelle domande che hai utilizzato, esploderli dopo e fare un ciclo su quelli!


  • User

    Bene sono riuscito a risolvere il mio problema così
    avevo il file racc_dati.php
    [HTML]
    <link href="stile.css" rel="stylesheet" type="text/css" />
    <?php
    include ("config.php");
    include ("basetop.php");
    ?>
    <div class="box_top"><br/>
    <div class="box_top_botton">
    <?php
    $servizio=$_REQUEST['servizio'];
    $area=$_REQUEST['area'];
    $aop=$_REQUEST['aop'];
    $aop_s=$_REQUEST['aop_s'];
    $sotta=$_REQUEST['sotta'];
    $sotta_s=$_REQUEST['sotta_s'];
    $matt=$_REQUEST['matt'];
    $matt_s=$_REQUEST['matt_s'];
    ?>
    <a href="index.php" title="Servizi" style='color: #990000'> <b>Servizi</b> </a><b>></b>
    <a href="aree.php?servizio=<?php echo"$servizio";?>" title="Aree" style='color:'> <b>Aree di <?php echo"$servizio";?></b> </a><b>></b>
    <a href="aop.php?servizio=<?php echo"$servizio";?>&area=<?php echo"$area";?>" title="Ambito Operativo" style='color:'> <b>Ambiti Operativi di <?php echo"$area";?></b> </a><b>></b>
    <a href="sotta.php?servizio=<?php echo"$servizio";?>&area=<?php echo"$area";?>&aop=<?php echo"$aop";?>&aop_s=<?php echo"$aop_s";?>" title="Sottoambito Operativo" style='color:'> <b>Sottoambiti Operativi di <?php echo"$aop_s";?></b> </a><b>></b>
    <a href="matt.php?servizio=<?php echo"$servizio";?>&area=<?php echo"$area";?>&aop=<?php echo"$aop";?>&aop_s=<?php echo"$aop_s";?>&sotta=<?php echo"$sotta";?>&sotta_s=<?php echo"$sotta_s";?>" title="Macro Attività" style='color:'> <b>Macro Attività di <?php echo"$sotta_s";?></b> </a>

    </div>
    <div class="box_top_title">
    <b>Raccolta dati di <?php echo "$matt_s";?></b>
    </div>
    <div class="box_top_login">
    <a href="login_page.php" title="Amministrazione" style='color: #666666; margin-right:10px;'> <b>Amministrazione</b></a>
    </div>
    </div>
    <div class="box_select">
    <div class="box_select_title">
    <div class="box_select_attivity">
    <?php

    $sql="SELECT * FROM t_questions WHERE ID_M_ATT='".$_REQUEST['matt']."'";
    
    $result_mssql=@mssql_query($sql,$link);
    
    if(!$result_mssql) {
     exit('<p>Errore! Non sono presenti tabelle di raccolta dati nel database!<br/>' .
      'Error: ' . mssql_error() . '</p>');
    }
    
    echo "<table width='600' border='0' cellspacing='0' cellpadding='0'>
         <tr>
        <td>  
         <form action='fatto.php' method='post'>
           
           <input type='hidden' name='servizio' value='$servizio'/>
           <input type='hidden' name='area' value='$area'/>
           <input type='hidden' name='aop' value='$aop'/>
           <input type='hidden' name='aop_s' value='$aop_s'/>
           <input type='hidden' name='sotta' value='$sotta'/>
           <input type='hidden' name='sotta_s' value='$sotta_s'/>
           <input type='hidden' name='matt' value='$matt'/>
           <input type='hidden' name='matt_s' value='$matt_s'/>
           
           Seleziona la Banca : <select size='1' name='banca'>
            <option value=''></option>
            <option value='tutte'>Tutte le Banche</option>
            <option value=''></option>
            <option value='firenze'>Firenze</option>
            <option value='pistoia'>Pistoia</option>
            <option value='la_spezia'>La Spezia</option>
            <option value='civitavecchia'>Civitavecchia</option>   
            <option value='orvieto'>Orvieto</option>
            <option value=''></option>
            <option value='no_firenze'>Pt,Sp,Cv,Or</option>
            <option value=''></option>
            <option value='infogroup'>Infogroup</option>
           </select>
        </td>
       </tr>";
       
    while($result=mssql_fetch_array($result_mssql)){   
     $d_q = $result ["D_Q"];
     $t_q = $result ["T_Q"]; 
     $val = $result ["VAL"]; 
     
     //echo "<br/>$val $t_q $d_q";
     
     if($t_q=="si_no"){
      echo "<tr>
        <td><br/>$d_q</td>
         </tr>
         <tr>
        <td>
          Si/No: <select size='1' name='$val'>
           <option value=''></option>
           <option value='si'>Si</option>
           <option value='no'>No</option>
          </select> $val
        </td> 
         </tr>";
     }
     if($t_q=="testo"){
      include ("only_text.jsp");        
      echo "<tr>
        <td><br/>$d_q</td>
         </tr>
         <tr>
        <td> 
          Testo: <input type='text' name='$val' onkeyup='verify_num(this);'/> $val
        </td> 
         </tr>";
     }
     if($t_q=="numero"){
      include ("only_num.jsp");       
      echo "<tr>
        <td><br/>$d_q</td>
         </tr>
         <tr>
        <td>
          Numero: <input type='text'  name='$val' onkeyup='verify_num(this);'/>
        </td> 
         </tr>";
     }
     if($t_q=="data"){            
      echo "<tr>
        <td><br/>$d_q</td>
         </tr>
         <tr>
        <td>
          Data: <input type='text' name='$val' size='10'> $val
        </td> 
         </tr>";
     }
     
    } 
    
    echo "    <tr>
        <td> 
         <br/>
         <input type='submit' value='Registra'/>
         </form>
        </td>
         </tr>         
      </table><br/>";
     mssql_close($link);
     
    ?>
    
    
    
    </div>
    

    <?php
    include ("basebottom.php");
    ?>
    [/HTML]

    mentre il mio file fatto.php che registra i dati sul db è così strutturato

    [HTML]
    <link href="stile.css" rel="stylesheet" type="text/css" />
    <?php
    include ("config.php");
    include ("basetop.php");
    ?>
    <div class="box_top"><br/>
    <div class="box_top_botton">
    <?php
    $servizio=$_REQUEST['servizio'];
    $area=$_REQUEST['area'];
    $aop=$_REQUEST['aop'];
    $aop_s=$_REQUEST['aop_s'];
    $sotta=$_REQUEST['sotta'];
    $sotta_s=$_REQUEST['sotta_s'];
    $matt=$_REQUEST['matt'];
    $matt_s=$_REQUEST['matt_s'];
    ?>
    <a href="index.php" title="Servizi" style='color:'> <b>Servizi</b> </a><b>></b>
    <a href="aree.php?servizio=<?php echo"$servizio";?>" title="Aree" style='color:'> <b>Aree di <?php echo"$servizio";?></b> </a><b>></b>
    <a href="aop.php?servizio=<?php echo"$servizio";?>&area=<?php echo"$area";?>" title="Ambito Operativo" style='color:'> <b>Ambiti Operativi di <?php echo"$area";?></b> </a><b>></b>
    <a href="sotta.php?servizio=<?php echo"$servizio";?>&area=<?php echo"$area";?>&aop=<?php echo"$aop";?>&aop_s=<?php echo"$aop_s";?>" title="Sottoambito Operativo" style='color:'> <b>Sottoambiti Operativi di <?php echo"$aop_s";?></b> </a><b>></b>
    <a href="matt.php?servizio=<?php echo"$servizio";?>&area=<?php echo"$area";?>&aop=<?php echo"$aop";?>&aop_s=<?php echo"$aop_s";?>&sotta=<?php echo"$sotta";?>&sotta_s=<?php echo"$sotta_s";?>" title="Macro Attività" style='color:'> <b>Macro Attività di <?php echo"$sotta_s";?></b> </a>

    </div>
    <div class="box_top_title">
    <b>Controllo Dati</b>
    </div>
    <div class="box_top_login">
    <a href="login_page.php" title="Amministrazione" style='color:; margin-right:10px;'> <b>Amministrazione</b></a>
    </div>
    </div>
    <div class="box_select">
    <div class="box_select_title">
    <div class="box_select_attivity">

    <?php
    
    $data=date("dmY");
    
    $query_ins = "INSERT INTO tdi_".$_REQUEST['matt_s']." (DATA,BANCA";
    foreach($_POST as $nome => $valore )
    {
    $val .= ",$nome";
    }
    $query_ins.= substr("$val",strpos("$val",",VAL1"));
    $query_ins.= ")VALUES('$data','";
    foreach($_POST as $nome => $valore )
    {
    $val_camp .= ",'$valore'";
    }
    $query_ins.= substr("$val_camp",strpos("$val_camp",$_REQUEST['banca']));
    $query_ins.= ");";
    
    //echo "$query_ins";
    
    if(@mssql_query($query_ins)) {
      echo "<p>Il tuo dato è stato inserito correttamente.</p>";
     }else {
      echo "<p>Il tuo dato NON è stato inserito correttamente: </p>";
     }
    
    mssql_close($link);
    
    ?>    
    </div>
    

    <?php
    include ("basebottom.php");
    ?>
    [/HTML]

    ora il mio nuovo quesito è perchè i dati passati come "hidden" nel form presente in racc_dati.php non li riesco a stampare a video per ricrearmi i link di discesa nel sito?
    Per capirci meglio perchè le variabili $area, $aop,$sotta e cosi via non mi li scrive nei link ed aggiungo inoltre che fino ad ora tali parametri me li sono sempre portati dietro durante la navigazione ma me li sono sempre passati tramite URL!!!:bho:


  • User

    Ora ho risolto anche questo mio ultimo problema


  • User

    scusate ma vorrei una informazione generale.
    Ma perche se in un file vengono richiamate più file in JSP questi codici poi smettono di funzionare oppure funzionano un po' a modo loro??????
    Per capirci meglio se all'interno del file io ho include(cod1.jsp) e include(cod2.jsp) uno dei due smette di funzionare bene??????


  • User

    Bene ragazzi chi vuole partecipare al nuovo quiz????

    devo fare una pagina di report che prende i dati dal database e mi scriva una tabella (es. fatto/non fatto) e che abbia come titolo delle colonne un calendario mensile o meglio con un range temporale stabilito dall'utente.

    Per capirci graficamente dovrebbe essere:


                              |   Range scelto dall'utente |
                              |-------------------------|
                              |1   |2   |3   |.............|31|
                              |lun|mar|mer|.............|lun|
    

    Campo estratto dal db| V | V | X |.............| V |
    Campo estratto dal db| X | V | X |.............| X |


    Dove V = fatto e X = nonn fatto

    Io riesco a estrapolare i dati ma non riesco a creare la tabella con il calendario.
    CHI mi sa aiutare?????

    :?:?:?:?:?


  • User

    scusate si era formattato male


    @@@@@@@@@@@| Range scelto dall'utente |
    @@@@@@@@@@@|-------------------------|
    @@@@@@@@@@@|1 |2 |3 |.............|31|
    @@@@@@@@@@@|lun|mar|mer|.............|lun|

    Campo estratto dal db| V | V | X |.............| V |
    Campo estratto dal db| X | V | X |.............| X |



  • Consiglio Direttivo

    :?credo che se ci fai un esempio di cosa tiri fuori dalla tabella del database sia meglio, ovvero, che campi tiri fuori??


  • User

    Allora i dati estratti dal db sono voci divisi in tre colonne + il calendario del fatto/non fatto:
    -la 1° colonna rigurda gli AMBITI
    -la 2° colonna rigurda gli SOTTOAMBITI
    -la 3° colonna rigurda gli MACROATTIVITA'
    -ed infine il CALENDARIO.

    I dati gli ho estratti bene con una mega query però il mio problema riguarda il calendario perchè io volevo creare una pagina di report dove l'utente sceglieva tramite un form l'intervallo di tempo di suo interesse ed il report mi dovrebbe mostrare le prime tre colonne sopra citate e poi questo diavolo di calendario che mostra l'intervallo scelto su una sola riga indicante il giorno (es lun 3) e i valori immessi dentro questo calendario sono V=fatto e X=non fatto dove anche questi dati sono estrapolati dal db.

    GRAFICAMENTE DOVREBBE ESSERE COSI':

    AMBITO|SOTTOAMBITO|MACROATTIVITA|CALENDARIO|

    precisamente il calendario dovrebbe essere così:

    se l'utente scegliesse 10-01-2008 e 15-01-2008 visivamente vorrei ottenere una cosa del genere

    @@@@@@@@@@Gennaio@@@@@@@@@@
    Gio 10|Ven 11|Sab 12|Dom 13|Lun 14|Mar 15|
    @@@@@@@@@@@@@@@@@@@@@@@@
    V | X | X | X | V | V |
    @@@@@@@@@@@@@@@@@@@@@@@@

    spero che ora mi sia spiegato meglio.

    Mi sai dare una bella dritta???


  • Consiglio Direttivo

    O mi sfugge cosa tu intenda per calendario (cosa che non escludo) o credo di aver capito che la tua tabella su Db abbia i seguenti campi:
    campi tabella:Ambito - Sottoambito - macroattività - campodata - spunta

    è così?


  • User

    questo primo codice report_between.php permette di immettere le due date dell'intervallo di tempo preso in questione ed inoltre è presente un calendario in php di pura illustrazione
    [HTML]
    <link href="stile.css" rel="stylesheet" type="text/css" />
    <?php
    include ("config.php");
    include ("basetop.php");
    ?>

        <div class="box_top"><br/>
            <div class="box_top_botton">
            <?php
                    $servizio=$_REQUEST['servizio'];
                    $area=$_REQUEST['area'];
                    $aop=$_REQUEST['aop'];
                    $aop_s=$_REQUEST['aop_s'];
                    $sotta=$_REQUEST['sotta'];
                    $sotta_s=$_REQUEST['sotta_s'];
                    $matt=$_REQUEST['matt'];
                    $matt_s=$_REQUEST['matt_s'];
                    $data=$_REQUEST['data'];
            ?>                
                <!--<a href="index.php" title="Servizi" style='color: #990000'> Servizi </a>>
                <a href="aree.php?servizio=<?php echo"$servizio";?>" title="Aree" style='color:'> Aree di <?php echo"$servizio";?> </a>>
                <a href="aop.php?servizio=<?php echo"$servizio";?>&area=<?php echo"$area";?>" title="Ambito Operativo" style='color:'> Ambiti Operativi di <?php echo"$area";?> </a>>
                <a href="sotta.php?servizio=<?php echo"$servizio";?>&area=<?php echo"$area";?>&aop=<?php echo"$aop";?>&aop_s=<?php echo"$aop_s";?>" title="Sottoambito Operativo" style='color:'> Sottoambiti Operativi di <?php echo"$aop_s";?> </a>>
                <a href="matt.php?servizio=<?php echo"$servizio";?>&area=<?php echo"$area";?>&aop=<?php echo"$aop";?>&aop_s=<?php echo"$aop_s";?>&sotta=<?php echo"$sotta";?>&sotta_s=<?php echo"$sotta_s";?>" title="Macro Attività" style='color:'> Macro Attività di <?php echo"$sotta_s";?> </a>-->
                
            </div>
            <div class="box_top_title">
                <b>Scelta date</b>
            </div>
            <div class="box_top_login">
                <a href="login_page.php" title="Amministrazione" style='color: #666666; margin-right:10px;'> <b>Amministrazione</b></a>
            </div>
        </div>
        <div class="box_select">
            <div class="box_select_title">
                <div class="box_select_attivity">
                
                    <form action="result_report_between.php" method="post">
                        
                        <b>Intervallo data:</b><br/><br/><br/>
                        <table>
                        <tr>
                            <td></td>
                            <td><b>GG</b></td>
                            <td><b>MM</b></td>
                            <td><b>AAAA</b></td>
                        </tr>
                        <tr>
                            <td>data inizio</td>
                            <td><input type="text" name="d1" size=2 maxlength=2 value="<? echo $d1?>"></td>
                            <td><input type="text" name="m1" size=2 maxlength=2 value="<? echo $m1;?>"></td> 
                            <td><input type="text" name="y1" size=4 maxlength=4 value="<? echo $y1;?>"></td>
                        </tr>
                        <tr>
                            <td>data fine</td>
                            <td><input type="text" name="d2" size=2 maxlength=2 value="<? echo $d2?>"></td> 
                            <td><input type="text" name="m2" size=2 maxlength=2 value="<? echo $m2;?>"></td>
                            <td><input type="text" name="y2" size=4 maxlength=4 value="<? echo $y2;?>"></td>
                        </tr>
                        </table>
                        <br/><br/><input type="submit" value="Invia">
                        
                    </form>
                    
                    <div class="box_select_calendar">
                    
                    <?php 
                        function calendario($mese,$anno){ 
    

    global $_GET;

    if ($GET['x'] == NULL){
    $mese
    = $mese;
    $anno_ = $anno;
    }
    else{
    $mese_ = (int)strftime( "%m" ,(int)$GET['x']);
    $anno
    = (int)strftime( "%Y" ,(int)$GET['x']);
    $mese = $mese
    ;
    $anno = $anno_;
    }

    $prev = mktime(0, 0, 0, $mese_ -1, 1, $anno_);
    $next = mktime(0, 0, 0, $mese_ +1, 1, $anno_);

    $human_month = array("error", "Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre" );

    $settimana = array("Lun", "Mar", "Mer", "Gio", "Ven", "Sab", "Dom");
    $colonne = 7;
    $giorni = date("t",mktime(0, 0, 0, $mese, 1, $anno)); //giorni del mese in questione
    $primo_lunedi= date("w",mktime(0, 0, 0, $mese, 1, $anno)); //Array_parte da 0

    if($primo_lunedi==0){
    $primo_lunedi = 7;
    }

    print("<table width="210" colspacing="0" border="0">"); //table
    print("<tr height="20">\n\t\t<td colspan="".$colonne."" align="center"><a href="?x=".$prev.""style='color:' title='Mese precedente'><<</a> <b><span style='color:'>".$human_month[(int)$mese]." ".$anno_."</span></b> <a href="?x=".$next.""style='color:' title='Mese successivo'>>></a></td></tr><tr>");

    foreach($settimana as $val){

    print("<td height="20" style='color:'><b>".$val."</b></td>");

    }
    print("</tr>");

    for($i = 1; $i<$giorni+$primo_lunedi; $i++){
    if($i%$colonne+1==0){
    print("<tr>");
    }
    if($i<$primo_lunedi){
    print("<td> </td>");
    }
    else{
    $giorno_= $i-($primo_lunedi-1);
    $a = strtotime(date($anno_."-".$mese_."-".$giorno_));
    $b = strtotime(date("Y-m-d"));
    if($a != $b){
    print("<td style='color: #FFFFFF'>".$giorno_."</td>");
    }
    else{
    print("<td><b>[".$giorno_."]</b></td>");
    }
    }
    if($i%$colonne==0){
    print("</tr>");
    }
    }
    print("<tr height="30"> </tr>");
    print("</table>");
    }

    calendario(date("m"),date("Y"));
    ?>
    </div>
    </div>

    <?php
    include ("basebottom.php");
    ?>

    [/HTML]

    poi c'è il result_report_between.php

    [HTML]
    <link href="stile.css" rel="stylesheet" type="text/css" />
    <?php
    include ("config.php");
    include ("basetop.php");
    ?>

        <div class="box_top"><br/>
            <div class="box_top_botton">
            <?php
                    $servizio=$_REQUEST['servizio'];
                    $area=$_REQUEST['area'];
                    $aop=$_REQUEST['aop'];
                    $aop_s=$_REQUEST['aop_s'];
                    $sotta=$_REQUEST['sotta'];
                    $sotta_s=$_REQUEST['sotta_s'];
                    $matt=$_REQUEST['matt'];
                    $matt_s=$_REQUEST['matt_s'];
                    $data=$_REQUEST['data'];
            ?>                
                <!--<a href="index.php" title="Servizi" style='color:'> Servizi </a>>
                <a href="aree.php?servizio=<?php echo"$servizio";?>" title="Aree" style='color:'> Aree di <?php echo"$servizio";?> </a>>
                <a href="aop.php?servizio=<?php echo"$servizio";?>&area=<?php echo"$area";?>" title="Ambito Operativo" style='color:'> Ambiti Operativi di <?php echo"$area";?> </a>>
                <a href="sotta.php?servizio=<?php echo"$servizio";?>&area=<?php echo"$area";?>&aop=<?php echo"$aop";?>&aop_s=<?php echo"$aop_s";?>" title="Sottoambito Operativo" style='color:'> Sottoambiti Operativi di <?php echo"$aop_s";?> </a>>
                <a href="matt.php?servizio=<?php echo"$servizio";?>&area=<?php echo"$area";?>&aop=<?php echo"$aop";?>&aop_s=<?php echo"$aop_s";?>&sotta=<?php echo"$sotta";?>&sotta_s=<?php echo"$sotta_s";?>" title="Macro Attività" style='color:'> Macro Attività di <?php echo"$sotta_s";?> </a>-->
                
            </div>
            <div class="box_top_title">
                <b>Report</b>
            </div>
            <div class="box_top_login">
                <a href="login_page.php" title="Amministrazione" style='color:; margin-right:10px;'> <b>Amministrazione</b></a>
            </div>
        </div>
        <div class="box_select">
            <div class="box_select_title">
                <div class="box_select_attivity">
            
                <?php 
    
                        $query_ins = "SELECT S_A_OP AS Ambito_Operativo,S_SOTT_A AS Sottoambito_Operativo,S_M_ATT AS Macro_Attività,DATA AS Data,BANCA AS Banca 
    

    FROM t_a_op INNER JOIN tl_a_op_sott_a ON t_a_op.ID_A_OP=tl_a_op_sott_a.ID_A_OP INNER JOIN t_sott_a ON tl_a_op_sott_a.ID_SOTT_A=t_sott_a.ID_SOTT_A INNER JOIN tl_sott_a_m_att_proc ON t_sott_a.ID_SOTT_A=tl_sott_a_m_att_proc.ID_SOTT_A INNER JOIN t_m_att ON tl_sott_a_m_att_proc.ID_M_ATT=t_m_att.ID_M_ATT INNER JOIN tdi_cpn ON t_m_att.ID_M_ATT=tdi_cpn.ID_M_ATT WHERE DATA BETWEEN '01012008' AND '31012008' ORDER BY DATA";

                if(@mssql_query($query_ins)) {
                        //echo "<p>QUERY ESATTA</p>";
                        
                        $tree_mssql=@mssql_query($query_ins,$link);
                        
                        while($row=mssql_fetch_array($tree_mssql,MSSQL_BOTH)){
                            echo $row['Ambito_Operativo']."<hr style:'layout-flow:vertical-ideografic'/> ";
                            echo $row['Sottoambito_Operativo']."<hr style:'layout-flow:vertical-ideografic'/> ";
                            echo $row['Macro_Attività']." ";
                            echo $row['Data']." ";
                            echo $row['Banca']."<hr/>";
                        }
                        
                        
                        //Inizio codice per la stampa del calendario
                        $d1=$_POST['d1']; //Recupero la variabile globale del primo giorno
                        $m1=$_POST['m1']; //Recupero la variabile globale del primo mese
                        $y1=$_POST['y1']; //Recupero la variabile globale del primo anno
                        $data1=mktime(0,0,0,$m1,$d1,$y1);
                        $d2=$_POST['d2']; //Recupero la variabile globale del secondo giorno
                        $m2=$_POST['m2']; //Recupero la variabile globale del secondo mese
                        $y2=$_POST['y2']; //Recupero la variabile globale del secondo anno
                        $data2=mktime(0,0,0,$m2,$d2,$y2);
                        $giorni = array("Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab");
                        
                        $mesi = array("Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre","Novembre", "Dicembre");
                        
                        
                        if ($d1==null or $m1==null or $y1==null or $d2==null or $m2==null or $y2==null){ //Proseguo se almeno un numero è non definito
                        
                            echo "<br/>Hai commesso un errore nell'immisione di almeno una data!"; //Stampa l'errore
                        
                        }else {
                        
                            $numero_giorno_settimana1 = date("w",mktime(0,0,0,$m1,$d1,$y1));
                            $nome_giorno1 = $giorni[$numero_giorno_settimana1];
                            
                            $numero_mese1= date("n",mktime(0,0,0,$m1,$d1,$y1));
                            $numero_mese1--;
                            $nome_mese1 = $mesi[$numero_mese1];
                            
                            echo "<br/>dal $nome_giorno1".date(" d",mktime(0,0,0,$m1,$d1,$y1))." $nome_mese1".date(" Y",mktime(0,0,0,$m1,$d1,$y1))."";
                            
                            $numero_giorno_settimana2 = date("w",mktime(0,0,0,$m2,$d2,$y2));
                            $nome_giorno2 = $giorni[$numero_giorno_settimana2];
                            
                            $numero_mese2= date("n",mktime(0,0,0,$m2,$d2,$y2));
                            $numero_mese2--;
                            $nome_mese2 = $mesi[$numero_mese2];
                            
                            echo " al $nome_giorno2".date(" d",mktime(0,0,0,$m2,$d2,$y2))." $nome_mese2".date(" Y",mktime(0,0,0,$m2,$d2,$y2))."<br/><br/>";
                            
                            $tot_day=((($data2-$data1)/(24*60*60))+1);//il +1 serve per far contare il primo giorno dell'intervallo (es. 3-1=2 ma i val sono 1 2 3 => 3)
                            //echo"<br/>$data2<br/>";
                            //echo"<br/>$data1<br/>";
                            //echo "<br/>$tot_day<br/>";
                            
                            $data_count=$data1;
                        
                            while($data_count <= $data2){
                                $count=getdate($data_count);
                                $w_count= $count['wday'];
                                $m_count= $count['mon'];
                                $d_count= $count['mday'];
                                $y_count= $count['year'];
                                
                                if($d_count <= mktime(0,0,0,0,0,$y_count)){//se è prima dell'ultimo dell'anno
                                    if($d_count <= mktime(0,0,0,$m_count,0,$y_count)){//se è prima dell'ultimo del mese
                                    
                                        $nome_giorno =$giorni[$w_count];
                                        echo " $nome_giorno".date(" d|",mktime(0,0,0,$m_count,$d_count,$y_count))."";
                                        
                                        $data_count=mktime(0,0,0,$m_count,$d_count+1,$y_count);
                                    }else {//se è il primo del mese successivo
                                    
                                        $nome_giorno =$giorni[$w_count];
                                        echo " $nome_giorno".date(" d|",mktime(0,0,0,$m_count,$d_count,$y_count))."";
                                        
                                        $data_count=mktime(0,0,0,$m_count+1,$d_count+1,$y_count);
                                    }
                                }else {//se è il primo dell'anno successivo
                                
                                    $nome_giorno =$giorni[$w_count];
                                    echo " $nome_giorno".date(" d|",mktime(0,0,0,$m_count,$d_count,$y_count))."";
                                    
                                    $data_count=mktime(0,0,0,$m_count+1,$d_count+1,$y_count+1);
                                }
                            }    
                    }//Fine codice per la stampa del calendario
    
                
                
                
                }else {
                    echo "<p>QUERY ERRATA </p>";
                }
                
                mssql_close($link);
    
                ?>          
    
                </div>
    

    <?php
    include ("basebottom.php");
    ?>

    [/HTML]
    che fa una query funzionante sul db e poi io ho buttato giu un po' di codice che mi stampa a video i titoli del calendario