Login Esegui login | Non sei registrato? Iscriviti ora (è gratuito!)
Username: Password:
  • Annuncio Pubblicitario

[PHP][Javascript]Cambiamenti in tempo reale.

Cerchi consigli per migliorare il tuo sito? Vuoi aprire un sito in poco tempo?
Discuti con altri webmaster, chiedi chiarimenti ed opinioni in tutta libertà.
Lo spam verrà cancellato.

[PHP][Javascript]Cambiamenti in tempo reale.

Messaggioda A R O S » mer giu 08, 2011 7:32 pm

Salve ragazzi e ciao Andy xD

Allora vi spiego subito il mio dilemma. Sto progettando un codice che dovrebbe permettermi di muovere su di un immagine un DIV, vi spiego come ho fatto.

<?php

Prima di tutto ogni utente registrato al mio sito ha in phpmyadmin ( database ) oltre ai campi, Username, Password, Email ecc.. due campi aggiuntivi chiamati rispetivamente X e Y.

Li richiamo quindi dal database.

$mysql =" Select X e y dall'utente con nome = al nome del personaggio connesso." // naturalment enon ho scritto così, è per render e l'idea :P

in seguito creo le rispettive variabili:

$X = Result del richiamo mysql
$Y = result del richiamo mysql

Ora a centro pagina ho un div con un immagine e un altro div ( che và sopra di questo ) con un puntino rosso.

< div id=mappa ><img src ecc...>
<div id= puntino style= Qui arriva ilv ero è proprio meccanismo, setto margin top e left in base a X e Y del database></div>
</div>

Ora con due BUTTON faccio muovere il div ( faccio aggiungere 20px ogni volta che clicco a X o Y). IL PROBLEMA!

Quando cliccko sul BUTTON left, sulla mappa il puntino rosso non si muove, però se aggiorno si muove. Allora ho provato con un redirect alla fine del comando, e tutto va bene. Però quando ci sono piu utenti connessi io non riesco a vedere i loro movimenti a meno che non aggiorno la mappa. Questa cosa è frustante! Io vorrei vedere i movimenti degli altri utenti in tempo reale! Credo sia javascript?
COME FARE? T_T

ecco un video per farvi capire cosa vorrei fare. = http://www.youtube.com/watch?v=4rJqvm5eIAY
"Io sono un lupo...niente e nessuno lo può negare perché io so quale animale vive dentro di me"
Avatar utente
A R O S
Aficionado
Aficionado
 
Messaggi: 81
Iscritto il: sab mag 14, 2011 11:54 pm

Re: [PHP][Javascript]Cambiamenti in tempo reale.

Messaggioda Andy94 » mer giu 08, 2011 7:37 pm

A parte il fatto che ho capito ben poco della dinamica di questa pagina, direi proprio che è JavaScript, o più nel dettaglio AJAX.

Devi fare una chiamata AJAX periodica che ti aggiorni ciò che ti serve, ma per aiutarti devo capire meglio. [^]
Avatar utente
Andy94
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 9998
Iscritto il: lun apr 09, 2007 8:39 pm

Re: [PHP][Javascript]Cambiamenti in tempo reale.

Messaggioda A R O S » mer giu 08, 2011 8:13 pm

Hai ragione Andy mi sono spiegato malissimo.

Allora, in questa pagina io vado a richiamare dal database due campi: X e Y ogni uno di loro ha valore INT ( ovvero un numero ).
Ogni utente registrato sul mio sito ha di per se per default impostati X e Y a 10.
Ora ritornando alla pagina, ho un ciclo in php che crea dei div per ogni pg connesso.
I div hanno impostato come Margin Top e Margin left le variabili X e Y. Esempio.
<div ID = PG Style=" margin top = <?=$X?> margin left = <?=Y?>></div>
Tramite degli input type BUTTON faccio aumentare e diminuire le variabili X e Y aggiornando il loro numero dal database.
Tipo se io premo il Button Left, una funzione in php fà un UPDATE a X e gli aggiunge 10.
Sulla Mappa quindi il margin top del dvi cambierebbe e si và a spostare.
Il problema è che se non aggiorno la pagina, non vedo il cambiamento/spostamento.
E questo è un problema quando ci sono piu personaggi connessi. Infatti per vedere ogni loro movimento dovrei fare un refresh automatico che và ad eseguirsi ogni secondo. @.@

Come posso avere un risultato simile al video? ovvero che ogni spostamento venga visto in tempo reale?

Andy Grazie dell'aiuto, come sempre :P
"Io sono un lupo...niente e nessuno lo può negare perché io so quale animale vive dentro di me"
Avatar utente
A R O S
Aficionado
Aficionado
 
Messaggi: 81
Iscritto il: sab mag 14, 2011 11:54 pm


Re: [PHP][Javascript]Cambiamenti in tempo reale.

Messaggioda Andy94 » mer giu 08, 2011 9:53 pm

L'evento della pressione del pulsante è gestito da del codice JavaScript?
Se sì, postalo: è lì che dobbiamo inserire quanto necessario per aggiornare il tutto istantaneamente.
Avatar utente
Andy94
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 9998
Iscritto il: lun apr 09, 2007 8:39 pm

Re: [PHP][Javascript]Cambiamenti in tempo reale.

Messaggioda A R O S » mer giu 08, 2011 10:13 pm

Diamine ç_ç non è gestito dal java ma ben si da una funzione php! E' un problema vero? ç_ç

Ecco la funzione in php:
Codice: Seleziona tutto
<?php

session_start(); // Avvio una sessione
include ("Data/parametriDatabase.php"); // Includo i parametri del database per la connessione.

$Login=$_SESSION['Login']; // Dico che la variabile Login corrisponde all'utente della sessione attuale.
$Nome = $Login;

if ($_GET['Comando'] == 'SX') {
$MySql = "UPDATE Presenti SET X = X -10;
$MySql .= " WHERE Nome = '".$Nome."'";
mysql_query($MySql);

header( "Location: Mappa_Principale.php" );
}

elseif ($_GET['Comando'] == 'DX') {

$MySql = "UPDATE Presenti SET X = X +10";
$MySql .= " WHERE Nome = '".$Nome."'";
mysql_query($MySql);

header( "Location: Mappa_Principale.php" );
}
elseif ($_GET['Comando'] == 'UP') {

$MySql = "UPDATE Presenti SET Y = Y - 10";
$MySql .= " WHERE Nome = '".$Nome."'";
mysql_query($MySql);

header( "Location: Mappa_Principale.php" );

}
elseif ($_GET['Comando'] == 'DOWN') {

$MySql = "UPDATE Presenti SET Y = Y + 10";
$MySql .= " WHERE Nome = '".$Nome."'";
mysql_query($MySql);

header( "Location: Mappa_Principale.php" );

}
?>


Gli input invece sono fatti così:

Codice: Seleziona tutto
<img src="Immagini/JoyPad/JoyPad.png" alt="Joy Pad" border="0" usemap="#Map" />
<map name="Map" id="Map">
  <area shape="rect" coords="171,3,204,28" href="JoyPad.php?Comando=SX" />
  <area shape="rect" coords="7,4,22,28" href="JoyPad.php?Comando=UP" />
  <area shape="rect" coords="55,5,87,27" href="JoyPad.php?Comando=DX" />
  <area shape="rect" coords="121,2,136,28" href="JoyPad.php?Comando=DOWN" />
</map>
"Io sono un lupo...niente e nessuno lo può negare perché io so quale animale vive dentro di me"
Avatar utente
A R O S
Aficionado
Aficionado
 
Messaggi: 81
Iscritto il: sab mag 14, 2011 11:54 pm

Re: [PHP][Javascript]Cambiamenti in tempo reale.

Messaggioda Andy94 » gio giu 09, 2011 2:09 pm

D'accordo, ma non è tutto (mi sembra che manchi qualcosa).

Hai un indirizzo dove raggiungere questa risorsa?
In sintesi, a te serve una cosa tipo (pseudocode):
Codice: Seleziona tutto
function aggiornaMappa(){
//qui va la richiesta ajax per l'aggiornamento dei dati
}
setInterval("aggiornaMappa()", 1000);

Se puoi fornire l'indirizzo o l'intero sorgente della pagina vediamo se è possibile finalizzare la cosa. [^]
Avatar utente
Andy94
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 9998
Iscritto il: lun apr 09, 2007 8:39 pm

Re: [PHP][Javascript]Cambiamenti in tempo reale.

Messaggioda A R O S » gio giu 09, 2011 4:27 pm

Appena ti becco, ti mando il codice sorgente in privato!
"Io sono un lupo...niente e nessuno lo può negare perché io so quale animale vive dentro di me"
Avatar utente
A R O S
Aficionado
Aficionado
 
Messaggi: 81
Iscritto il: sab mag 14, 2011 11:54 pm

Re: [PHP][Javascript]Cambiamenti in tempo reale.

Messaggioda dararag » gio giu 09, 2011 8:33 pm

Scusate, vado di fretta e non ho letto bene tutto il codice, ma mi sembra che non si muovano in tempo reale tutti i pallini perché non aggiorni in tempo reale la visualizzazione degli altri pallini, ma prendi dati solo su quello dell'utente attivo .-. potrei sbagliarmi, nel caso scusatemi, ripasserò [:P]
Maledette aziende produttrici, l'unico telefilm interessante degli ultimi tempi l'hanno interrotto alla decima puntata... e chi voleva sapere la fine?
Avatar utente
dararag
Silver Member
Silver Member
 
Messaggi: 1116
Iscritto il: mar gen 22, 2008 8:57 pm
Località: Casoria


Torna a Sviluppo Web

Chi c’è in linea

Visitano il forum: Nessuno e 0 ospiti

Powered by phpBB © 2002, 2005, 2007, 2008 phpBB Group
Traduzione Italiana phpBB.it

megalab.it: testata telematica quotidiana registrata al Tribunale di Cosenza n. 22/09 del 13.08.2009, editore Master New Media S.r.l.; © Copyright 2008 Master New Media S.r.l. a socio unico - P.I. 02947530784. GRUPPO EDIZIONI MASTER Spa Tutti i diritti sono riservati. Per la pubblicità: Master Advertising