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

    Passaggio variabili al PHP da javascript

    Salve !

    ho il seguente codice in una funzione javascript che preleva gli identificativi data_da e data_a:

    codice:
    // Controllo Data
    ....
            if(document.getElementById('date_da').value != "")
    	{
    	   data_da = document.getElementById('date_da').value;
    	}
    	if(document.getElementById('date_a').value != "")
    	{
    	   data_a = document.getElementById('date_a').value;
    	}
    ...
    più avanti nella stessa funzione ho il codice <?php ..?> dove faccio la select sul database
    e ho bisogno di passare data_da e data_a, come posso fare per passare le due variabili così come sono al PHP,
    ma soprattutto come posso visualizzarle dopo averle assegnate sopra ? (con System.out.println() sembra on vada bene.

    Grazie

  2. #2
    Il problema è sempre lo stesso: PHP lavora lato server, per cui processa il tuo script ed invia al client (il browser che visualizza la pagina) il codice HTML che lo sviluppatore ha previsto di visualizzare.... Javascript compreso!
    Javascript invece lavora lato client: quindi una volta che tutto l'HTML inviato dal server (quindi una volta che PHP lo ha processato).
    Il tuo problema è che provi ad usare javascript per modificare PHP, ma non potrà mai accadere, salvo reload della pagina (o salvo l'utilizzo di componenti AJAX)!!!!
    Devi ragionare al contrario.
    In base a quello che dovrà fare (successivamente) JS come deve essere composto da PHP il codice JS?

    Mi sembra di capire che te hai una form dove l'utente inserisce due date.
    Al pulsante di INVIO della form, le due variabili vengono passate ad uno script PHP (quello indicato dalla action nel tag form) che poi processa questi dati.
    È un normale scambio di dati tra script attraverso la form ed uno tra gli array super globali $_POST o $_GET.

    Detto questo, non capisco quale sia il tuo probelma.
    Forse dovresti spiegare meglio lo scenario del tuo script.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  3. #3
    Io ho fatto in questo modo guarda :
    codice:
    
     function View() {
        var chart;
        
        // Controllo Data
            if(document.getElementById('date_da').value != "")
    	{
    	   data_da  = document.getElementById('date_da').value;
    	}
    	if(document.getElementById('date_a').value != "")
    	{
    	   data_a = document.getElementById('date_a').value;
    	}
            <?php
               
               
               $data_da = $_GET['data_da'];
               $myData_da = date('Y-m-d', strtotime($data_da));
               
               $data_a = $_GET['data_a'];
               $myData_a = date('Y-m-d', strtotime($data_a));
              
               echo $myData_da;
               echo $myData_a;
         
            ?>
           .....
    ma non riesco a fare l'echo per vedere cosa c'è dentro; View() viene chiamata per visualizzare un grafico e gli devo passare le date che poi utilizzo nella select più avanti con codice PHP e sempre nella funzione view() ecco :



    codice:
    <tr>
    				<form name="testform4">
                                            <label for="nome">Scegli le date e visualizza grafico:</label>
    					<label for="nome">Data Iniziale:</label>
    					<input class="text_area" type="text" name="date_da" id="date_da" size="12" cols="35" rows="3" value="<?php echo $this->eventi->date_da;?>" />
    					 	<script language="JavaScript">
    						new tcal ({
    							// form name
    							'formname': 'testform4',
    							// input name
    							'controlname': 'date_da'
    						});
    						</script>
    	
    					  <label for="nome">Data Finale:</label>
    					   <input class="text_area" type="text" name="date_a" id="date_a" size="12" cols="35" rows="3" value="<?php echo $this->eventi->date_a;?>" />
    						<script language="JavaScript">
    						new tcal ({
    							// form name
    							'formname': 'testform4',
    							// input name
    							'controlname': 'date_a'
    						});
    						</script>
                                                    
    						 <td style="border:#FFF; width:43%">
    							<a style="cursor:pointer" onclick='View()'>[img]images/graphic.jpg[/img]</a>
    						 </td>
                                               
    					</form>
                                  
    			</tr>

  4. #4
    Perché non funziona anche in questo modo ? Ora sembra corretto; mi analizzate un pò il codice per favore per capire dove sbaglio ?
    Ecco la scelta delle date e la chiamata :
    codice:
    <tr>
    				<form name="testform4" action='<?php echo $_SERVER["PHP_SELF"]; ?>' method='post'>
                                            <label for="nome">Scegli le date e visualizza grafico:</label>
    					<label for="nome">Data Iniziale:</label>
    					<input class="text_area" type="text" name="date_da" id="date_da" size="12" cols="35" rows="3" value="<?php echo $this->eventi->date_da;?>" />
    					 	<script language="JavaScript">
    						new tcal ({
    							// form name
    							'formname': 'testform4',
    							// input name
    							'controlname': 'date_da'
    						});
    						</script>
    	
    					  <label for="nome">Data Finale:</label>
    					   <input class="text_area" type="text" name="date_a" id="date_a" size="12" cols="35" rows="3" value="<?php echo $this->eventi->date_a;?>" />
    						<script language="JavaScript">
    						new tcal ({
    							// form name
    							'formname': 'testform4',
    							// input name
    							'controlname': 'date_a'
    						});
    						</script>
                                                    
    						 <td style="border:#FFF; width:43%">
    							<a style="cursor:pointer" onclick='View()'>[img]images/graphic.jpg[/img]</a>
    						 </td>
                                            
                                                
    					</form>
        
                               
      
    			</tr>
    e poi la funzione con il click dull'immagine grafico (che funziona):

    codice:
    function View() {
        var chart;
        
        // Controllo Data
        //    if(document.getElementById('date_da').value != "")
        //	{
        //	   data_/da  = document.getElementById('date_da').value;
        //	}
        //	if(document.getElementById('date_a').value != "")
        //	{
        //	   data_a = document.getElementById('date_a').value;
        //	}
         
           
    
          <?php
               
              if(isset($_POST["submit"])){
                 $data_da = $_POST['date_da'];
                 $myData_da = date('Y-m-d', strtotime($data_da));
               
                 $data_a = $_POST['date_a'];
                 $myData_a = date('Y-m-d', strtotime($data_a));
              
               
               echo $myData_da;
               echo $myData_a;
               }
         
            ?>
            $(document).ready(function() {
            
            chart = new Highcharts.Chart({
    ................

  5. #5
    guarda che se lo posti indendato così e oltretutto usando CODE anziché PHP, è difficile che qualcuno si prende la briga di analizzarti il codice!!!

  6. #6
    OK -- scusate.. e in php rettifico la richiesta

    avendo questo codice in un file .php :

    Codice PHP:
     .....
     function View() {
         var chart;
            
            var data_da1 = "";
        var data_a1 = "";
            if(document.getElementById('date_da1').value != "")
         {
            data_da1 = document.getElementById('date_da1').value;
        }
        if(document.getElementById('date_a1').value != "")
        {
            data_a1 = document.getElementById('date_a1').value;
        }
      
        
            $(document).ready(function() {
            
            chart = new Highcharts.Chart({
                chart: {
                    renderTo: 'container',
                    type: 'column',
                    margin: [ 50, 50, 100, 80]
                },
                title: {
                    text: 'testo'
                },
                xAxis: {
                    categories: [
                        <?php 
                             $query 
    "SELECT DATE_FORMAT(data_store, '%d-%m-%Y')as data_store, valore FROM mytab WHERE id = $id and data_store >=  ???..." ;
                             
    $risultato $this->db->loadQuery($query); 
    ....
    ...
    ORA :
    considerate che View() viene attivata alla pressione di un bottone e funziona;
    considerate che la data scelta viene passata correttamente in data_da1 sopra (nel formato YYYY-mm-DD) e con un'alert ho visto che esiste in data_da1,
    come faccio a passare la variabile data_da1 alla select nella fattispecie ?? Devo prenderla con _GET o come fare ? Inoltre come convertirla se data_da1 è in formato stringa ?

    (Credo che ora sia abbastanza chiaro).
    Grazie

  7. #7
    Originariamente inviato da Marcolino21

    come faccio a passare la variabile data_da1 alla select nella fattispecie ?? Devo prenderla con _GET o come fare ? Inoltre come convertirla se data_da1 è in formato stringa ?

    (Credo che ora sia abbastanza chiaro).
    Grazie
    Sì ora è chiaro.
    Lo devi fare usando tecnica Ajax:
    con una chiamata ajax passi la variabile data_da1 a uno script php cher farà la select sul DB ti restituirà il risultato che e tu poi lo metterai nel tuo categories: []

  8. #8
    Hanno risposto nel frattempo!
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  9. #9
    Originariamente inviato da philbert
    Sì ora è chiaro.
    Lo devi fare usando tecnica Ajax:
    con una chiamata ajax passi la variabile data_da1 a uno script php cher farà la select sul DB ti restituirà il risultato che e tu poi lo metterai nel tuo categories: []
    Acc...come io sto vedendo sulla rete che si potrebbe anche farne a meno di ajax
    magari utilizzando $_GET, ... ma sto provando e non funziona

    Fammi un'esempio nella fattispecie per favore.
    Grazie mille

  10. #10
    Originariamente inviato da Marcolino21
    Acc...come io sto vedendo sulla rete che si potrebbe anche farne a meno di ajax
    Sempre il solito problema! Se non utilizzi ajax devi considerare che PHP è un linguaggio lato server mentre javascript lato client per cui quando viene eseguito javascript lo script PHP è già terminato!!!
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

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.