PHP error

Salve a tutti, sono da poco iscritto qui, e volevo chiedere aiuto su un codice php che non mi riesce.

Riporto qui sotto il codice, e l' errore che mi da. Chiedo gentilmente se qualcuno di voi mi potrebbe far notar l' errore/gli errori per un futuro miglioramento da parte mia. Ci Ho Provato... Grazie ^_^

___

<?

$MySql = "SELECT UltimaEsp, (DATE_ADD(UltimaEsp, INTERVAL 30 MINUTE) < NOW())) AS Tempo FROM Personaggio WHERE Nome = .pars($Login)."

$Result = mysql_query($MySql);

$rs = mysql_fetch_array($Result);

$Tempo_ok = $rs['Tempo'];

$UltimaEsp = $rs['UltimaEsp'];

$rs->close;

if ($Tempo_ok ==1) {

$MySql = "UPDATE Personaggio SET Carisma = Carisma + '0.1' WHERE Nome = '".$Login."'";

$Result = mysql_query($MySql);

$MySql = "UPDATE Personaggio SET UltimaEsp = NOW() WHERE Nome = '".$Login."'";

$Result = mysql_query($MySql);

$MySql = "SELECT IDAraldica FROM Personaggio WHERE Nome='.$Login.'";

$Result = mysql_query($mysql);

$r1=mysql_fetch_array($result);

$m2="SELECT * FROM Araldica";

$d2=mysql_query($m2);

$r2=mysql_fetch_array($d2);

$m3="SELECT Carisma FROM Personaggio WHERE Nome=.pars($Login).";

$d3=mysql_query($m3);

$r3=mysql_fetch_array($d3);

}

switch($r1[0])

{

case 1:

$m2="SELECT * FROM Araldica WHERE IDAraldica=2";

$d2=mysql_query($m2);

$r2=mysql_fetch_array($d2);

if($r3[0]>=$r2[Carisma]) $mod=2;

else $mod=1;

break;

case 2:

$m2="SELECT * FROM Araldica WHERE IDAraldica=3";

$d2=mysql_query($m2);

$r2=mysql_fetch_array($d2);

if($r3[0]>=$r2[Carisma]) $mod=3;

else $mod=2;

break;

case 3:

$m2="SELECT * FROM Araldica WHERE IDAraldica=4";

$d2=mysql_query($m2);

$r2=mysql_fetch_array($d2);

if($r3[0]>=$r2[Carisma]) $mod=4;

else $mod=3;

break;

case 4:

$m2="SELECT * from Araldica WHERE IDAraldica=5";

$d2=mysql_query($m2);

$r2=mysql_fetch_array($d2);

if($r3[0]>=$r2[Carisma]) $mod=5;

else $mod=4;

break;

case 5:

$m2="SELECT * FROM Araldica WHERE IDAraldica=6";

$d2=mysql_query($m2);

$r2=mysql_fetch_array($d2);

if($r3[0]>=$r2[Carisma]) $mod=6;

else $mod=5;

break;

case 6:

$m2="SELECT * FROM Araldica WHERE IDAraldica=7";

$d2=mysql_query($m2);

$r2=mysql_fetch_array($d2);

if($r3[0]>=$r2[Carisma]) $mod=7;

else $mod=6;

break;

}

$qq=mysql_query("UPDATE Personaggio SET IDAraldica = $mod WHERE Nome = .pars($login).") or die(mysql_error());

?>

___

Parse error: syntax error, unexpected T_VARIABLE -||- nella riga 4 (on line 4)

___

Grazie ancora per le eventuali correzioni...

inviato 10 anni fa
webal
X 0 X

Niente di grave, è un problema causato dagli stani apici che stai usando. In prativa la riga:

WHERE Nome = .pars($Login)."

deve diventare:

WHERE Nome = '".pars($Login)."'"

Da dove hai fatto il copia-incolla?

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Ho copiato il file che stavo progettando, dal pannello di controllo del mio sito. Perchè?

risposto 10 anni fa
webal
X 0 X

Perché non so come si possano digitare quelle virgolette da tastiera. Normalmente è il WORD che cambia le virgolette in quel modo (virgolette semplici in virgolette aperte e chiuse).

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Cambiate le virgolette... ma l' errore rimane, sempre nella stessa linea... aiutatemi x__x

risposto 10 anni fa
webal
X 0 X

Avevo dimenticato il ";" ma ora da errore lo stesso:

Fatal error: Call to undefined function: pars()       (nella riga 3)

 :'(

risposto 10 anni fa
webal
X 0 X

Si tratta di tutt'altro errore. Il PHP si lamenta perché non riconosce la funzione pars(). Questa non è una funzione nativa di PHP quindi dovrebbe essere definita in qualche altro file esterno. Il tuo script comunque non presenta nessuna istruzione per caricare file esterni che ipoteticamente definiscono questa funzione.

In pratica non puoi farci niente. Controlla la sorgente di questo script e verifica di aver preso tutto il necessario per farlo girare.

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Sistemato!  :) Ora mi chiedevo come fare delle medie di statistiche.

Intendo, prendendo in considerazione un gruppo di utenti, facciamo conto calcolando dei valori che stanno sul database, segnate, come si può fare una media?

Facciamo un esempio:

Mario - Valore 5

Luca - Valore 8

Ernesto - Valore 15

Sotto questo gruppo "esempio" nel mio sito vorrei mettere una media di quei valori. In questo caso verrebbe 28 : 3, ovvero 9.3 periodico. Vorrei limitare sempre la media alle prime 3 cifre dopo la virgola.

Ovviamente i valori muteranno con l' andar del tempo, quindi pure la media.

Facciamo conto che la tabella del db che contiene gli utenti si chiami "Utenti", ed ogni singolo visitatore è nello spazio "Utente".

Io quello che vorrei ottenere è:

Mario - Valore 5

Luca - Valore 8

Ernesto - Valore 15

Media - 9.333

Come posso fare? Oltre ad indicazioni potete aiutarmi nel codice?

Grazie  :bye:

risposto 10 anni fa
webal
X 0 X

In pratica vuoi aggiungere un altro campo al database, ma se il databasen on è tuo, ovvero se usi quello del gioco di ruolo, non è che puoi modificarlo a piacimento. O no?

risposto 10 anni fa
Marco Grazia
X 0 X

Il Database del gioco di ruolo si che posso modificarlo con nuove cose ^_^ ma per fare ciò che ho chiesto, come potrei fare?  :bye:

risposto 10 anni fa
webal
X 0 X

Allora, per come la vedo io, credo che la media ti convenga sempre calcolarla senza immagazzinarla in alcun modo.

La media è un dato variabile calcolato sulla base di altri ati pure variabili, quindi va bene immagazzinare sul database i "pesi" dei giocatori, ma la loro media, no, dato che questi "pesi" possono variare nel corso del gioco, rischi immagazzinando anche il dato della media, di fare un lavoro inutile.

In pratica rischi due cose: di estrarre dal database un valore di media calcolato su valore dei "pesi" che non è più veritiero, ovvero su "pesi" immagazzinati tempo prima e non su quelli attuali; ma anche di sover calcolare comunque sempre il valore la media, ogni volta che tiri fuori il valore dei singoli giocatori, quindi non immagazzinarlo, ma calcolalo ogni volta che ti server, anche per la media matematica, quelle che hai ottenuto tu, è una menata per il calcolatore e non richiede certo risorse tali da bloccare la macchina, anzi è meno potente in termini di cicli macchina, di una richiestra di estrazione dati dal database, ergo non lo fare ;)

Come formattare la media: ci sono due metodi.

1) una funzione matematica sul risultato, come ad esempio l'utilizzo della funzione round()

2) lasciando il valore calcolato così com'è, ma utilizzando una funzione di formattazione come sprintf()

risposto 10 anni fa
Marco Grazia
X 0 X

Quindi il preciso codice da inserire? Sarebbe utile a mio parere inserirlo...

risposto 10 anni fa
webal
X 0 X

 :police: Questa discussione sta naufragando verso lidi ignoti... siamo partiti da un parser error  :o (regola 8 del regolamento)

Quindi il preciso codice da inserire? Sarebbe utile a mio parere inserirlo...

Vorrei sbagliarmi webal ma è difficile che qualcuno realizzi gratuitamente del codice complesso come quello che stai chiedendo.  :dunno:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Semplicemente non volevo aprire un altro post, e ne ho approfittato di questo. Comunque sia speravo solamente in delle indicazioni più precise, vabbè faccio a meno. Grazie lo stesso.

risposto 10 anni fa
webal
X 0 X
Semplicemente non volevo aprire un altro post, e ne ho approfittato di questo.

Il regolamento parla chiaro  :police:

Comunque sia speravo solamente in delle indicazioni più precise.

Per questo tipo di richieste non hai limitazioni  O0

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Sbagli a non aprire altri argomenti, facendolo faciliti la ricerca.

risposto 10 anni fa
Marco Grazia
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda