le due variabili sono numeriche;
ok, questo esclude un possibile errore di omissione degli apici. Nel caso di restituzione di valori numerici, lo script dovrebbe apparentemente funzionare per come lo hai scritto.
La condizione in questo caso sembrerebbe corretta; bisogna quindi scoprire cosa sta dietro a quel tuo "non succede nulla".
Intanto ti consiglierei di rivedere la logica, come già ti è stato accennato.
Senza andare a stravolgere il tuo elaborato, io sistemerei meglio la sequenza delle azioni nello script che già hai.
- Per prima cosa farei in modo che l'intera successione di chiamate AJAX (cioè il tuosetInterval) sia lanciata solo se la condizione principale viene verificata.
- Seconda cosa, anziché il metodo ajax() userei il load(), che sostanzialmente è una "semplificazione" per impostare una chiamata AJAX.
- Terza cosa, dal momento che l'evento di ricezione della risposta dal server è asincrono (cioè non sai quando e se riceverai risposta dal server) userei un setTimeout, anziché il setInterval, da lanciare ogni volta che avverrà la risposta dal server. In tal modo, se ci dovessero essere problemi di collegamento col server, non si rischia di accavallare le varie richieste, ma ogni richiesta partirà solo dopo ogni risposta ricevuta.
Potrebbe essere una cosa del genere:
codice:
var function aggiornaDati(){
$("#divrisposta").load("lettura_dati_db.php", function(){
AttendiPoiAggiornaDati();
});
}
var function AttendiPoiAggiornaDati(){
setTimeout(aggiornaDati, 5000);
}
if ($_SESSION['id2']!=$_SESSION['id1']) AttendiPoiAggiornaDati(); // Oppure direttamente aggiornaDati(); se non si vuole l'attesa dopo l'apertura della pagina
Sia chiaro, questi accorgimenti non vogliono essere posti a determinare la risoluzione del problema in questione; sono solo suggerimenti e sono comunque da valutare meglio secondo il reale contesto.
Ad ogni modo non è possibile determinare con chiarezza le cause del problema che lamenti perché mancano dettagli importanti.
Andando per esclusione: dal momento che stai integrando codice PHP, devi necessariamente avere sicurezza che l'HTML restituito sia corretto. Ti invito quindi a fare delle verifiche attraverso il tuo stesso browser: controlla prima di tutto il "codice sorgente" e verifica che quella parte di JavaScript sia sintatticamente corretta e che lo script in questione sia riportato come tu lo aspetteresti.
In altre parole, guardando il codice sorgente HTML (una volta aperta la pagina nel browser) quelle due variabili PHP dovranno essere riportate come valori numerici (come tu hai supposto). Se così non fosse, allora qui c'è il/un problema.
Verifica e fai sapere.
PS:
occhio, qui si parla di JavaScript e JavaScript non è Java; nell'ambito di un forum tecnico (e della programmazione in generale) è essenziale non confondere il nome dei due diversi linguaggi.