Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto
Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto
Samsung rinnova la serie pieghevole di punta con Galaxy Z Fold8 Ultra: pannello interno da 8 pollici quasi senza piega, cerniera Flex Titanium, Snapdragon 8 Elite Gen 5 for Galaxy e batteria finalmente da 5.000 mAh. Prezzo italiano da 2.299 a 2.899 euro. Tra colorimetro, benchmark reali e giorni di uso quotidiano, ecco dove questo pieghevole convince e dove il nome Ultra fatica ancora a trovare piena giustificazione
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing"
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing"
La nuova Insta360 X6 introduce sensori Sony da 1/1.1" e un SoC Triple AI a 4nm. Analizziamo le riprese 8K, il primo Dolby Vision nativo a 10-bit nel settore sferico e l'innovativo flusso di lavoro diretto sulla futura versione 22 di DaVinci Resolve.
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli
Dopo due settimane trascorse al volante della Dacia Spring 2026 possiamo raccontarvi tutto, dalle novità di motore e batteria, fino ai consumi in tutti le situazioni, compresa l'autonomia reale ad alta velocità
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 25-01-2007, 15:13   #1
fifth
Member
 
L'Avatar di fifth
 
Iscritto dal: Aug 2003
Messaggi: 184
interrogare db con javascript

Ciao a tutti. io ho in un file html una select di questo tipo:

<select name=choice size=1 onchange=go()>
<option value=uno>One</option>
<option value=due>Two</option>
<option value=tre>Three</option>
</select>

e una funzione js

function go(){
var choice = document.getElementById("choice").options[document.getElementById("choice").selectedIndex].value;
alert("choice = " + choice);
}

la risposta viene restituita corretta.
A questo punto ho bisogno di usare questa variabile per interrogare il database. Come posso realizzare questo passaggio nella funzione js?

Grazie
fifth è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2007, 15:33   #2
0rph3n
Senior Member
 
L'Avatar di 0rph3n
 
Iscritto dal: Apr 2005
Città: Resana - TV
Messaggi: 960
usare un linguaggio client side per interrogare un db è un po' improponibile, devi passare a qualche script server side che possa interagire appunto con il db

'iao
0rph3n è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2007, 15:42   #3
yorkeiser
Senior Member
 
L'Avatar di yorkeiser
 
Iscritto dal: Jul 2006
Città: Tristram
Messaggi: 517
Se vuoi farlo lato client con tecnologia Java, puoi utilizzare tranquillamente Applet e jdbc; con il solo javascript la vedo dura, a meno che non ti appoggi ad un linguaggio di scripting o qualche altro accrocchio, come da post di Orph3n
yorkeiser è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2007, 15:56   #4
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
Semplice usi javascript inseme all'oggetto xmlhttp, e il tutto prende il nome di AJAX ( alla gente piace cambiare nome alle cose per farle sembrare più complicate e affiscinanti...).
Ecco un esempio di una richiesta http ad uno script php, utilizzando il metodo GET(ma si può fare anche con POST)

Codice:
var myRequest=null;

function CreateXmlHttpObject(myFunction){
  var xmlhttpObject=null;
  try{
    xmlhttpObject=new XMLHttpRequest();
  }catch(e){
    try{
        xmlhttpObject=new ActiveXObject("Msxml2.XMLHTTP");
    }catch(e){
        xmlhttpObject=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
  xmlhttpObject.onreadystatechange=myFunction;
  return xmlhttpObject;
}

function httpReturnResponse(){
if(myRequest.readyState==4&&myRequest.status==200){
         var readText=myRequest.responseText;
}

function httpRequest(){
    myRequest=CreateXmlHttpObject(httpReturnResponse);
    myRequest.open("GET",php_link+"?variabile="+variabile,true);
    myRequest.send(null);
}
E' semplicissimo, te chiami la funzione httpRequest, la quale crea un oggetto xmlHttp che si occupa di interrogare lo scritp php(link_php è l'indirizzo) passandogli la variabile tramite GET(variabile=12345).
Dopo tornerà indietro il codice della pagina web chiamata, quindi torna indietro tutto quello di cui nello script php ne fai l'echo.
Quindi se farai l'echo di un risultato ottenuto dal DB, in readText avrai quel risultato

Ultima modifica di MEMon : 26-01-2007 alle 17:38.
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2007, 16:22   #5
giannola
Senior Member
 
L'Avatar di giannola
 
Iscritto dal: Oct 2005
Città: Palermo
Messaggi: 2579
Quote:
Originariamente inviato da MEMon
Semplice usi javascript inseme all'oggetto xmlhttp, e il tutto prende il nome di AJAX ( alla gente piace cambiare nome alle cose per farle sembrare più complicate e affiscinanti...).
Ecco un esempio di una richiesta http ad uno script php, utilizzando il metodo GET(ma si può fare anche con POST)

Codice:
var myRequest=null;

function CreateXmlHttpObject(myFunction){
  var xmlhttpObject=null;
  try{
    xmlhttpObject=new XMLHttpRequest();
  }catch(e){
    try{
        xmlhttpObject=new ActiveXObject("Msxml2.XMLHTTP");
    }catch(e){
        xmlhttpObject=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
  xmlhttpObject.onreadystatechange=myFunction;
  return xmlhttpObject;
}

function httpReturnResponse(){
if(myRequest.readyState==4&&myRequest.status==200){
         var readText=myRequest.responseText;
}

function httpRequest(){
    myRequest=CreateXmlHttpObject(httpReturnResponse);
    myRequest.open("GET",php_link+&variabile=12345,true);
    myRequest.send(null);
}
E' semplicissimo, te chiami la funzione httpRequest, la quale crea un oggetto xmlHttp che si occupa di interrogare lo scritp php(link_php è l'indirizzo) passandogli la variabile tramite GET(variabile=12345).
Dopo tornerà indietro il codice della pagina web chiamata, quindi torna indietro tutto quello di cui nello script php ne fai l'echo.
Quindi se farai l'echo di un risultato ottenuto dal DB, in readText avrai quel risultato
php che è ovviamente un linguaggio server sided cui faceva menzione 0rph3n.
scordatevi di poter usare il solo javascript per poter eseguire una connessione al db.
Non rientra nelle sue potenzialità.
Oltretutto MeMon sfruttare per i propri programmi la creazione di oggetti activeX equivale a renderli compatibili solo con windows, visto che sono una invenzione microsoft.
__________________
Utente gran figlio di Jobs ed in via di ubuntizzazione
Lippi, perchè non hai convocato loro ?
giannola è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2007, 16:35   #6
0rph3n
Senior Member
 
L'Avatar di 0rph3n
 
Iscritto dal: Apr 2005
Città: Resana - TV
Messaggi: 960
Quote:
Originariamente inviato da giannola
Oltretutto MeMon sfruttare per i propri programmi la creazione di oggetti activeX equivale a renderli compatibili solo con windows, visto che sono una invenzione microsoft.
quei due new ActiveXObject se noti sono dentro ad un blocco catch che cattura l'errore generato da new XMLHttpRequest()...
prova un po' ad immaginare perchè

'iao
0rph3n è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2007, 16:38   #7
giannola
Senior Member
 
L'Avatar di giannola
 
Iscritto dal: Oct 2005
Città: Palermo
Messaggi: 2579
Quote:
Originariamente inviato da 0rph3n
quei due new ActiveXObject se noti sono dentro ad un blocco catch che cattura l'errore generato da new XMLHttpRequest()...
prova un po' ad immaginare perchè

'iao

può bastare ?
__________________
Utente gran figlio di Jobs ed in via di ubuntizzazione
Lippi, perchè non hai convocato loro ?
giannola è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2007, 16:44   #8
0rph3n
Senior Member
 
L'Avatar di 0rph3n
 
Iscritto dal: Apr 2005
Città: Resana - TV
Messaggi: 960



0rph3n è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2007, 19:54   #9
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
sarà ma io lo utilizzo in una mia estensione che ovviamente va anche su linux.
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 26-01-2007, 10:38   #10
fifth
Member
 
L'Avatar di fifth
 
Iscritto dal: Aug 2003
Messaggi: 184
Quote:
Originariamente inviato da MEMon
Semplice usi javascript inseme all'oggetto xmlhttp, e il tutto prende il nome di AJAX ( alla gente piace cambiare nome alle cose per farle sembrare più complicate e affiscinanti...).
Ecco un esempio di una richiesta http ad uno script php, utilizzando il metodo GET(ma si può fare anche con POST)

Codice:
var myRequest=null;

function CreateXmlHttpObject(myFunction){
  var xmlhttpObject=null;
  try{
    xmlhttpObject=new XMLHttpRequest();
  }catch(e){
    try{
        xmlhttpObject=new ActiveXObject("Msxml2.XMLHTTP");
    }catch(e){
        xmlhttpObject=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
  xmlhttpObject.onreadystatechange=myFunction;
  return xmlhttpObject;
}

function httpReturnResponse(){
if(myRequest.readyState==4&&myRequest.status==200){
         var readText=myRequest.responseText;
}

function httpRequest(){
    myRequest=CreateXmlHttpObject(httpReturnResponse);
    myRequest.open("GET",php_link+&variabile=12345,true);
    myRequest.send(null);
}
E' semplicissimo, te chiami la funzione httpRequest, la quale crea un oggetto xmlHttp che si occupa di interrogare lo scritp php(link_php è l'indirizzo) passandogli la variabile tramite GET(variabile=12345).
Dopo tornerà indietro il codice della pagina web chiamata, quindi torna indietro tutto quello di cui nello script php ne fai l'echo.
Quindi se farai l'echo di un risultato ottenuto dal DB, in readText avrai quel risultato
sto provando. ma poi, l'interrogazione mysql la piazzo nel file php giusto? e come variabile da inserire nella query che nome metto? quello passato nella funzione js? il mio "choice"?
fifth è offline   Rispondi citando il messaggio o parte di esso
Old 26-01-2007, 10:51   #11
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
certo, e fai in modo che la pagina php stampi il risultato della query con echo
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 26-01-2007, 16:59   #12
fifth
Member
 
L'Avatar di fifth
 
Iscritto dal: Aug 2003
Messaggi: 184
non riesco a passargli quella variabile. nel file js io attribuisco

var choice = document.getElementById("choice").options[document.getElementById("choice").selectedIndex].value;

ok, poi torna al file php in cui inserisco la query, ma se nella query inserisco come criterio di scelta il mio choice, non funziona. probabilmente perchè non sa che choice è il nome assegnato dal file js alla scelta fatta nella select...
fifth è offline   Rispondi citando il messaggio o parte di esso
Old 26-01-2007, 17:10   #13
0rph3n
Senior Member
 
L'Avatar di 0rph3n
 
Iscritto dal: Apr 2005
Città: Resana - TV
Messaggi: 960
ma la pagina php da dove la chiami?
dovrai usare javascript per appiccicarci il parametro alla fine!
del tipo:
Codice:
document.location.href = "paginaInterfacciaDB.php?choice=" + choice;
o comunque qualcosa del genere!
e poi nella pagina php ti dovrai recuperare il parametro:
Codice:
$choice = $_GET['choice'];
'iao
0rph3n è offline   Rispondi citando il messaggio o parte di esso
Old 26-01-2007, 17:34   #14
fifth
Member
 
L'Avatar di fifth
 
Iscritto dal: Aug 2003
Messaggi: 184
Io un file "Index.php" in cui eseguo del codice javascript per far comparire due menu a tendina diversi in base alla scelta effettuta in un primo menu a tendina. Da qui vado tramite form ad un secondo file "auth.php" in cui propongo una terza scelta con menu a tendina ed è in questo che richiamo con l'evento onchange della select il file js che deve eseguire codice in stile ajax, quindi creare l'oggetto xmlhttprequest, leggere il valore della select precedente (choice) e fin qui va bene.
A questo punto, quando termina l'esecuzione, il controllo mi torna al file auth.php e non riesco a capire come fare per eseguire la query mysql in cui inserire il valore di choice memorizzato nel file js.

spero di essere riuscito a spiegarmi... lo so, sono un pò incasinato
fifth è offline   Rispondi citando il messaggio o parte di esso
Old 26-01-2007, 17:38   #15
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
choice gliela devi pssare con GEt ovviamente, forse ti sfugge come funziona.
In pratica ad uno script PHP puoi passare una variabile tramite l'URL, basta mettere un "?" dopo l'URL seguito dal nome della variabile e dal suo valore.
esempio:
Vuoi pssare alla pagina php(http://tuodominio/pippo.php) la variabile choice, quindi scrivi l'URL così:
http://tuodominio/pippo.php?choice=12345

ora nello script php per riprendere la variabile ti basta fare:
$scelta=$_GET['choice']
vedrai che $scelta ora vale 12345 e la puoi utilizzare come ti pare.

Vediamo con AJAX ora:
Codice:
var php_link="http://tuodominio/pippo.php";
var choice=12345;

function httpRequest(){
    myRequest=CreateXmlHttpObject(httpReturnResponse);
    myRequest.open("GET",php_link+"?choice="+choice,true);
    myRequest.send(null);
}
ed ecco che hai passato la variabile choice al php.
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 26-01-2007, 17:57   #16
fifth
Member
 
L'Avatar di fifth
 
Iscritto dal: Aug 2003
Messaggi: 184
In "auth.php" ho scritto

echo"
<select name=choice size=1 onchange=httpRequest()>
<option value=uno>One</option>
<option value=due>Two</option>
<option value=tre>Three</option>
</select>
";

$scelta=$_GET['choice'];

nel file js:

function httpRequest(){
var php_link="getTopicsByCountryID.php";
var choice = document.getElementById("choice").options[document.getElementById("choice").selectedIndex].value; alert("choice = " + choice);

myRequest=CreateXmlHttpObject(httpReturnResponse);
myRequest.open("GET",php_link+"?choice="+choice,true);
myRequest.send(null);

}

ma quando apre il file "auth.php" mi da l'errore

Notice: Undefined index: choice in C:\www\auth.php
fifth è offline   Rispondi citando il messaggio o parte di esso
Old 26-01-2007, 18:50   #17
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
che significa quande apre il file??

Comunque non va bene così, il php deve solo fare la query e stampare il risultato, la richiesta la devi lanciare da un altro file...
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 27-01-2007, 14:36   #18
fifth
Member
 
L'Avatar di fifth
 
Iscritto dal: Aug 2003
Messaggi: 184
mmmm......... ok

a proposito... conosci qualche script che mi permette di visualizzare il grafico a torta relativo ai dat estratti dalla query?
fifth è offline   Rispondi citando il messaggio o parte di esso
Old 28-01-2007, 12:51   #19
fifth
Member
 
L'Avatar di fifth
 
Iscritto dal: Aug 2003
Messaggi: 184
Più che altro il mio problema è come riuscire a passare le variabili che ho nel mio file php al file js...

########### file.php ###########

<?php
$var_uno = 1;
$var_uno = 2;
$var_uno = 3;
?>
<html>
<body onload=func()>

</body>
</html>


########### file.js###########

function func(){
/* ??? */
}

anche solo per stamparle con una alert.....
fifth è offline   Rispondi citando il messaggio o parte di esso
Old 28-01-2007, 13:07   #20
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
le devi stampare con un echo, e poi ti ritorneranno indietro dopo la chiamata AJAX e le potrai recuperare con responseText, come ti ho già detto due volte.
Rileggiti tutto
MEMon è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto Recensione Samsung Galaxy Z Fold8 Ultra: il pieg...
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing" Insta360 X6: Dolby Vision, 8K e montaggio "...
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli Due settimane con Dacia Spring 2026: novit&agrav...
AORUS GeForce RTX 5080 INFINITY WOOD 16G: una scheda video diversa dalle altre AORUS GeForce RTX 5080 INFINITY WOOD 16G: una sc...
Hyundai Ioniq 9: dopo due settimane di test non avremmo voluto restituirla Hyundai Ioniq 9: dopo due settimane di test non ...
Vogliono costruire un monumento per Elon...
Ring Intercom Audio crolla a 39,99€ su A...
La Francia blocca il divieto dei social ...
Trump citato in giudizio: chiesto lo sto...
PEC obbligatoria per revisione e passagg...
Il ripulitore di watermark Claude da 4.5...
Xiaomi 17 Ultra scambia il Sole per la L...
È arrivata la migliore e-bike Eng...
Apple Mac mini M4, ecco perché conviene ...
Robot aspirapolvere in offerta su Amazon...
Il nuovo pick-up elettrico di Ford &egra...
Google Pixel 11 arriva su Amazon: preord...
Mega sconti su attrezzi a batteria e rob...
Google Search dà per morto Sam Al...
Il noleggio delle GPU NVIDIA si quota in...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 22:58.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v