Da funzione php a funzione js

andrex1191

Utente Attivo
5 Apr 2011
78
0
0
Salve,
devo usare l'evento onchange di una select, in pratica quando l'utente sceglie un'opzione verrà eseguita una funzione che prenderà in input il value della option scelta e darà in output una stringa..
il codice della on change è questo:
HTML:
 <select name="date" onchange="this.form.txtrisultato.value=nomeFunzione(this.value);" >
e fin quì ci sono..il problema è che la mia funzione è in php e non in javascript
Quindi ora vi chiedo..
1)è possibile convertire la mia funzione php in js in modo da poterla richiamare nell'onchange come ho fatto?? la funzione è questa:
PHP:
function nomeFunzione($idses)
   {
       
       $query = "SELECT orario_inizio, orario_fine FROM sessione WHERE id = '{$idses}'";
       $es = mysql_query($query) or die("errore nell'invio della query in funzione".mysql_error());
       $arr = mysql_fetch_assoc($es);

       $inizio = $arr['orario_inizio'];
       $fine = $arr['orario_fine'];

       $ris = "Dalle ".$inizio." alle ".$fine;
       return $ris;

   }

2)oppure è possibile richiamare all'interno dell'evento onchange una funzione php ?(credo sia una cosa molto stupida ma lo chiedo comunque)

Grazie per le risposte
e scusate se ho chiesto una cosa fuori dal mondo..
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Non sono un esperto ma io ho sempre usato questa tecnica:

Invio la form con l'evento onchange,

HTML:
<select name="date" onchange="this.form.submit();">


Poi se il post è settato richiamo la funzione,

PHP:
if(isset($_POST['date']) {

$esegui = nomeFunzione($_POST['date']);

}

L'unico difetto è che la pagina si deve ricaricare ma secondo me, che ho ancora tanto da imparare, è molto piu semplice che usare javascript
 

andrex1191

Utente Attivo
5 Apr 2011
78
0
0
Grazie per la risposta..
ma non ho capito molto bene..
il mio form deve puntare alla stessa pagina?
come passo alla mia funzione il value della option scelta?
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Si il form deve richiamare la stessa pagina:

HTML:
<form method='post'>

o

HTML:
<form method='post' action='stessapagina.php'>

Il value della option viene memorizzato nel POST['date'] in questo caso

HTML:
<select name='date'....

richiamando la funzione come ho scritto sopra nella variabile $esegui verrà memorizzato il risultato della funzione e potrai usare la variabile per mandare in output il risultato

PHP:
if(isset($_POST['date']) {

$esegui = nomeFunzione($_POST['date']);//$_POST['date'] è il value della option scelta

}  

echo "Siamo aperti " . $esegui; //$esegui è il return della tua funzione

Se attualmente il tuo form richiama un altra pagina per elaborare i dati bisogna trovare un altra soluzione o adattare entrambe le pagine
 

andrex1191

Utente Attivo
5 Apr 2011
78
0
0
Ho capito ora il tuo metodo ma non è quello che cerco, mi serve una cosa dinamica anche perchè nella pagina successiva devo rielaborare tutti i dati inseriti..quindi mi risulta scomodo. Grazie mille comunque..
spero in un aiuto divino..è una settimana che ci sono dietro e non ci salto fuori
 

andrex1191

Utente Attivo
5 Apr 2011
78
0
0
Ho appena trovato una nuova soluzione che non richiede il js e fa tutto dinamicamente..
pensandoci forse è un metodo "poco ortodosso" però funziona !!
in pratica consiste nel fare Tutto nella creazione delle option passando come value per ogni option l'intera stringa "dalle__alle__" in questo modo:
HTML:
  <select name="date" onchange="this.form.mostraorario.value =this.value" >
PHP:
<?php
while ($arraysessione = mysql_fetch_assoc($eseguises))
{
                                 
$inizio = $arraysessione['orario_inizio'];
$fine = $arraysessione['orario_fine'];
$ris = "Dalle".$inizio."alle".$fine;
$data = $arraysessione["Data"];

 echo '<option value='.$ris.' >'.$data.'</option>';

 }
  ?>

in questo modo nella text "mostraorario" uscirà l'orario corrispondente alla data scelta l'unico grosso problema è che il value di una option non accetta spazi..quindi il DalleAlle mi esce tutto attaccato :|
(le sto provando tutte)
 

andrex1191

Utente Attivo
5 Apr 2011
78
0
0
tutto bene quel che finisce bene, alla fine ce l'ho fatta e senza usare ajax..
in questo modo:

HTML:
<select name="date" onchange="this.form.orario.value = formattaorario(this.value);>
nella select all'evento onchange richiamo una funzione js che riceve in input la value della option scelta

PHP:
<?php
 while ($arraysessione = mysql_fetch_assoc($eseguises))
{
$inizio = $arraysessione['orario_inizio'];
$fine = $arraysessione['orario_fine'];
$data = $arraysessione["Data"];
$value = $inizio."-".$fine."-".$data;

echo '<option value='.$value.' >'.$data.'</option>';

}
?>
Per ogni option la value sarà uguale ad una stringa contenente gli orari senza spazi (perchè è un value) ma divisi da trattini
così facendo con una semplice funzione js riformatto(grazie ai trattini) il value ricevuto in input e restituisco la stringa che mi serve con gli spazi:
Codice:
function formattaorario(stringa)
                   {
                       var arr = stringa.split('-');
                       var orario = "dalle" + arr['0'] + "alle" + arr['1'];
                       return orario;
                   }

Sono convinto che stilisticamente parlando faccia schifo..ma l'importante per me è che funzioni, soprattutto senza l'uso di ajax

Saluti :D e grazie
 
Discussioni simili
Autore Titolo Forum Risposte Data
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
P Funzione jQuery Ajax invio file a php jQuery 1
M Utilizzare la funzione mysql_num_rows() in PHP 5 PHP 3
D Come usare funzione php PHP 6
Shyson Modificare funzione php PHP 15
pjtertdj Visualizzazione dati in php da mysql con funzione matematica in javascript PHP 1
L Problema funzione mail() PHP PHP 3
maxnegri [PHP]Funzione di calcolo prezzo di una camera in un range di date PHP 62
L [PHP] problema count messo in una funzione. PHP 1
Monital funzione php si ripete due volte PHP 6
GiErre [PHP] [HTML] Disabilitare un link in funzione della piattaforma PHP 7
Monital Funzione php e campo database come variabile PHP 6
M PHP - Funzione non e scrive il risultato PHP 3
F [PHP] La funzione setcookie PHP 0
C [RISOLTO][PHP] Funzione ONclick PHP 14
A [PHP] Problema invio mail con funzione mail() PHP 3
C richiamare una funzione in un altro script php PHP 1
S [PHP] errore funzione sleep PHP 5
MarcoGrazia [PHP] Verifica dell'input utente tramite funzione generica. PHP 0
B [PHP]la pagina php non si carica se aggiungo funzione while PHP 10
A Chiamata funzione PHP con onclick PHP 8
alexbrasile PHP convertire la funzione fsockopen in curl PHP 0
Gaetano1991h [PHP] Chi mi sa spiegare la funzione di questo codice? PHP 1
M [PHP] Errore nell' assegnazione della variabile $this->id su una funzione PHP 1
trattorino [PHP] funzione per visualizzare solo carattere PHP 2
S PHP: inviare via email contenuto di una funzione PHP 4
A Chiamare una specifica funzione in una pagina php PHP 1
G Problema php relativo a funzione di un pulsante PHP 8
D PHP:funzione che opera una query su argomento PHP 8
JackIlPazzo Chiamare una funzione specifica di php da una richiesta ajax? PHP 2
M Far partire una funzione/codice php con javascript Javascript 1
JackIlPazzo Eseguire funzione php senza ricaricare pagina? PHP 3
neo996sps [PHP e funzioni con PDO] Funzione per generare corpo tabella PHP 1
V Chiamata funzione php da javascript Ajax 3
X Conversione funzione php PHP 0
M Disabilitare alcune funzione php da scipt PHP 3
gandalf1959 funzione mail() e variabili su un link nel body in formato xxx.php?$a=$codicecontrollo PHP 2
C Limiti funzione mail() di php PHP 1
P Passare un valore, o arriare una funzione da pagina2.php in pagina1.php Javascript 2
M Applicare funzione php ad ogni elemto html Ajax 3
B AIUTO: come passare una variabile php ad una funzione javascript Javascript 2
F funzione javascript all'interno di un codice php PHP 38
G funzione include di php e paramentri variabili PHP 4
X NOW() funzione mysql eseguita da php PHP 6
I Richiamare funzione jquery all'invio del form php Javascript 6
S php problemi di funzione header usando la fuzione di jquery post PHP 4
S problema con funzione php PHP 3
A Funzione exec di php, errore 127 PHP 0
M PhP Problema funzione mssql PHP 5
H Funzione php non viene richiamata! PHP 41

Discussioni simili