Torna indietro   Hardware Upgrade Forum > Software > Programmazione

NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT
NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT
Nelle ultime settimane abbiamo provato tre delle proposte top di gamma di NZXT nelle categorie case, dissipatori e ventole. Rispettivamente, parliamo dell'H9 Flow RGB+, Kraken Elite 420 e F140X. Si tratta, chiaramente, di prodotti di fascia alta che si rivolgono agli utenti DIY che desiderano il massimo per la propria build. Tuttavia, mentre i primi due dispositivi mantengono questa direzione, le ventole purtroppo hanno mostrato qualche tallone d'Achille di troppo
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN è il primo monitor gaming con pannello QD-OLED Gen 5 a layout RGB Stripe Pixel e 360 Hz su 34 pollici: lo abbiamo misurato con sonde colorimetriche e NVIDIA LDAT. Ecco tutti i dati
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Nothing Phone (4a) Pro cambia pelle: l'alluminio unibody sostituisce la trasparenza integrale, portando una solidità inedita. Sotto il cofano troviamo uno Snapdragon 7 Gen 4 che spinge forte, mentre il display è quasi da top dig amma. Con un teleobiettivo 3.5x e la Glyph Matrix evoluta, è la prova di maturità di Carl Pei. C'è qualche compromesso, ma a 499EUR la sostanza hardware e la sua unicità lo rendono un buon "flagship killer" in salsa 2026
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-04-2012, 12:23   #1
Baio84
Member
 
Iscritto dal: Apr 2012
Messaggi: 56
[PHP] Aiuto classifica campionato

Sono nuovo e innanzitutto faccio un saluto a tutti quelli del forum!

Gestisco il sito della squadra in cui gioco. Ogni settimana inserisco a mano i risultati e aggiorno, sempre a mano, la classifica. Stancato di tutto questo lavoro dispendioso, giro su internet e scopro il linguaggio php. Me lo studio per bene, e ora sto cercando di utilizzarlo per far aggiornare automaticamente la tabella.
Come avete capito sono un principiante, per cui alcuni passaggi del mio codice risulteranno sicuramente troppo pesanti perchè magari potrei utilizzare qualche funzione che però ancora non conosco.

Vi illustro il mio progetto. Da una prima pagina inserisco i risultati delle partite che invio poi ad un'altra pagina che li elabora in un database. Ecco il codice della seconda pagina:

Codice:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Senza nome 1</title>
</head>

<body>

<?php

	$prova="giorn_prova.txt"; //Inizializza file con le giornate
	
	if(isset($_POST['invia'])) //Controlla se il pulsante invia è stato premuto
	{
		$giornate=file($prova); //Legge il file come un array
		for($c=0;$c<2;$c++) //Ciclo eseguito 2 volte che elabora i risultati delle 2 partite di una giornata
		{
			$partite=explode(":",$giornate[$c]); //Leggo le giornate una alla volta
			$casa=$partite[0]; //La squadra che gioca in casa
			$fuori=$partite[1]; //La squadra che gioca fuori casa
			if($_POST["$casa"]>$_POST["$fuori"]) //Se vince la squadra di casa, allora...
			{
				$gfc=$_POST["$casa"]; //Gol fatti dalla squadra di casa
				$gsc=$_POST["$fuori"]; //Gol subiti dalla squadra di casa
				$gff=$_POST["$fuori"]; //Gol fatti dalla squadra di fuori casa
				$gsf=$_POST["$casa"]; //Gol subiti dalla squadra di fuori casa
				$vittcasa=+1; //Aggiungo +1 alle vittorie in casa
				$persafuori=+1; //Aggiungo +1 alle sconfitte fuori casa
				
                                $connessione=odbc_connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=public/classifica.mdb","","") or die("Connessione fallita"); //Connessione al database
				$sql = "SELECT * FROM Classifica WHERE SQUADRA = '$casa'"; //Query che seleziona la riga della squadra che gioca in casa
				$record=odbc_exec($connessione,$sql) or die("Query fallita"); //Esecuzione query
				$dbgfc=odbc_result($record,"GF"); //Estraggo i gol fatti in totale dalla squadra di casa
				$dbgsc=odbc_result($record,"GS"); //Estraggo i gol subiti in totale dalla squadra di casa
				$dbvittcasa=odbc_result($record,"VC");  //Estraggo le vittorie in casa totali della squadra di casa
				$nuovodbgfc=$dbgfc + $gfc; //Gli sommo i gol di giornata
				$nuovodbgsc=$dbgsc + $gsc; //Gli sommo i gol di giornata
				$nuovodbvittcasa=$dbvittcasa + $vittcasa; //Gli sommo la vittoria di giornata
				$sql="UPDATE Classifica SET GF='$nuovodbgfc', GS='$nuovodbgsc', VC='$nuovodbvittcasa' WHERE SQUADRA = '$casa'"; //Query che aggiorna i nuovi dati
				$update=odbc_exec($connessione,$sql) or die("Query fallita"); //Esecuzione query
				
                                $sql = "SELECT * FROM Classifica WHERE SQUADRA = '$fuori'"; //Query che seleziona la riga della squadra che gioca fuori casa
				$record=odbc_exec($connessione,$sql) or die("Query fallita"); //Esecuzione query
				odbc_result_all($record); //Query di prova
				$dbgff=odbc_result($record,"GF"); //Estraggo i gol fatti in totale dalla squadra fuori casa
				$dbgsf=odbc_result($record,"GS"); //Estraggo i gol subiti in totale dalla squadra fuori casa
				$dbpersafuori=odbc_result($record,"PF");  //Estraggo le sconfitte fuori casa totali della squadra fuori casa
				$nuovodbgff=$dbgff + $gff; //Gli sommo i gol di giornata
				$nuovodbgsf=$dbgsf + $gsf; //Gli sommo i gol di giornata
				$nuovodbpersafuori=$dbpersafuori + $persafuori; //Gli sommo la sconfitta di giornata
				$sql="UPDATE Classifica SET GF='$nuovodbgff', GS='$nuovodbgsf', PF='$nuovodbpersafuori' WHERE SQUADRA = '$fuori'"; //Query che aggiorna i nuovi dati
				$update=odbc_exec($connessione,$sql) or die("Query fallita"); //Esecuzione query
				
                                odbc_close($connessione); //Chiudo la connessione
			}
			elseif($_POST["$casa"]<$_POST["$fuori"])
			{
				echo $casa." 0<br />";
				echo $fuori." +3<br /><br />";
			}
			else
			{
				echo $casa." +1<br />";
				echo $fuori." +1<br /><br />";
			}			
		}
	}
	

?>



</body>

</html>
Il codice funziona bene. I dati riguardanti la squadra di casa me li estrae, li aggiorna e li inserisce. Non mi fa la stessa cosa con quella che gioca fuori casa. Infatti, stampandomi la tabella con la query di prova (in grassetto), di dice che non trova righe da stampare. Quindi credo che i problemi siano due: o non mi legge la variabile $fuori (ma questo lo escludo perchè se gli faccio un echo me la stampa corretta), o faccio qualche errore con la query.

Ulteriori informazioni:
-Siccome è ancora tutto in prova, le squadre totali sono 4, quindi 2 partite per giornata;
-l'elseif e l'else al momento non contano. Daranno il loro contributo quando risolverò questa parte;
-utilizzo come database Access. Non uso Mysql perchè su Aruba dovrei pagare un supplemento. Anzi, sarei grato se qualcuno potesse postare una guida sulle varie funzioni ODBC legate a PHP.

Ringrazio chiunque voglia darmi una mano

EDIT: Facendo un'ulteriore prova, la query non riesce proprio a leggere la variabile $fuori, perchè se la sostituisco ancora con la variabile $casa, i dati me li aggiorna. A me sembra una cosa strana.

Ultima modifica di Baio84 : 06-04-2012 alle 18:27.
Baio84 è offline   Rispondi citando il messaggio o parte di esso
Old 07-04-2012, 00:51   #2
junpyx
Member
 
Iscritto dal: Feb 2009
Messaggi: 81
Lo so che è banale, ma hai provato a stampare e controllato che "fuori" sia riempita dal valore che ti aspetti?
junpyx è offline   Rispondi citando il messaggio o parte di esso
Old 07-04-2012, 02:25   #3
Baio84
Member
 
Iscritto dal: Apr 2012
Messaggi: 56
Sì, e l'ho stampato proprio la riga precedente alla query. Prima di arrivare a questo codice, ho fatto diverse prove per vedere se le variabili venivano lette, se il risultato che ottenevo era quello che volevo, ma non ho mai avuto problemi. Prima ho provato a chiamare $fuori in $fuori_casa, ma non la legge lo stesso.

EDIT: Il nome che mi visualizza la variabile è corretto; lo stesso nome è corretto all'interno del database. Non riesco proprio a capire quale sia l'inghippo!

Ultima modifica di Baio84 : 07-04-2012 alle 12:51.
Baio84 è offline   Rispondi citando il messaggio o parte di esso
Old 07-04-2012, 21:11   #4
Ballantine
Member
 
L'Avatar di Ballantine
 
Iscritto dal: May 2004
Messaggi: 278
Se, come dici tu, sostituendo nella seconda SELECT la variabile $fuori con la variabile $casa la query funziona, probabilmente il problema è nella variabile $fuori, anche se non lo vedi. Fai una prova con una sola partita e se, ad esempio, la squadra che ha giocato fuori si chiama Milan, fai un test stupido del tipo:
Codice:
if (strcmp($fuori, "Milan") == 0)
   echo "ok";
else
   echo "errore";
Così escludi che ci siano spazi bianchi aggiuntivi o roba simile.
__________________
PROCESSORE: AMD Athlon64 2800+ Boxed - MOTHERBOARD: Gigabyte K8NS nForce3 250 - SCHEDA VIDEO: 3D Prophet 9800 Pro 128MB - RAM: 512MB Corsair Value + 512 V-Data - CASE: Chieftech Dragon - ALIMENTATORE: Q-TEC 550W - HARD DISK: Seagate SATA 80 GB - LETTORE DVD: LG 16x52x - MASTERIZZATORE: Nec ND-3520

Ultima modifica di Ballantine : 07-04-2012 alle 21:13.
Ballantine è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2012, 01:16   #5
Baio84
Member
 
Iscritto dal: Apr 2012
Messaggi: 56
Avevo pensato anch'io che fosse un problema di lettura, ma non sapevo come dimostrarlo. Grazie al tuo consiglio, ora è tutto più chiaro. Infatti c'è proprio un errore nel valore passato dalla variabile. La funzione strcmp dà valore positivo. C'è qualche altra funzione che mi aiuti a capire più specificatamente cosa devo correggere, o devo controllare passo passo tutti i passaggi che compie la variabile?

EDIT: Però c'è una cosa strana: $fuori viene letta giusta quando vado a determinare i gol subiti dalla squadra di casa ($gsc). Solo nella query viene letta in modo sbagliato

Ultima modifica di Baio84 : 08-04-2012 alle 01:37.
Baio84 è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2012, 10:44   #6
Ballantine
Member
 
L'Avatar di Ballantine
 
Iscritto dal: May 2004
Messaggi: 278
Quote:
Originariamente inviato da Baio84 Guarda i messaggi
Avevo pensato anch'io che fosse un problema di lettura, ma non sapevo come dimostrarlo. Grazie al tuo consiglio, ora è tutto più chiaro. Infatti c'è proprio un errore nel valore passato dalla variabile. La funzione strcmp dà valore positivo. C'è qualche altra funzione che mi aiuti a capire più specificatamente cosa devo correggere, o devo controllare passo passo tutti i passaggi che compie la variabile?

EDIT: Però c'è una cosa strana: $fuori viene letta giusta quando vado a determinare i gol subiti dalla squadra di casa ($gsc). Solo nella query viene letta in modo sbagliato
Ok, direi che abbiamo trovato il problema
Se non ho capito male, il tuo file di testo è scritto in questo modo:
Codice:
Milan:Inter
Juventus:Napoli
Leggendo la definizione del metodo file(), che usi per caricare i dati nell'array, puoi leggere una nota: "Each line in the resulting array will include the line ending, unless FILE_IGNORE_NEW_LINES is used, so you still need to use rtrim() if you do not want the line ending present."
In soldoni, in ogni linea del tuo file c'è un carattere speciale (\n) che demarca la fine della linea stessa, e quindi a livello di codice il file giorn_prova.txt viene visto in questo modo:
Codice:
Milan:Inter\n
Juventus:Napoli\n
Il metodo file() salva anche questi caratteri speciali, e quando tu assegni un valore alla variabile $fuori includi anche il carattere speciale attaccato al nome della squadra. Nel momento in cui tu cerchi sul database la squadra che ha giocato fuori casa non riesci a trovarla proprio perché vai a cercare, ad esempio, "Inter\n" invece di "Inter".
In teoria potresti evitare a priori di salvare nell'array questi caratteri speciali usando un'apposita flag quando chiami il metodo open:
Codice:
$giornate=file($prova, FILE_IGNORE_NEW_LINES);
ma leggendo i commenti nella pagina che ti ho linkato sopra sembra che questa opzione non funzioni sempre perfettamente con i file di testo creati su Windows. Secondo me la soluzione migliore è utilizzare uno dei metodi della famiglia trim, che si occupano proprio di ripulire l'inizio e/o la fine delle stringhe dai caratteri speciali. Siccome nel tuo caso il carattere speciale è sempre alla fine del nome della squadra che gioca fuori casa puoi usare il metodo rtrim() in questo modo:
Codice:
$fuori=rtrim($partite[1]); //La squadra che gioca fuori casa
Quote:
Originariamente inviato da Baio84
EDIT: Però c'è una cosa strana: $fuori viene letta giusta quando vado a determinare i gol subiti dalla squadra di casa ($gsc). Solo nella query viene letta in modo sbagliato
Se dopo l'aggiunta di rtrim() non riuscirai più a leggere correttamente i gol subiti dalla squadra di casa allora si dovrà controllare in che modo vai a salvare questo dato, ma potrebbe tranquillamente darsi che i caratteri speciali vengano ignorati... purtroppo ho usato PHP una sola volta e non mi ricordo bene come funziona
__________________
PROCESSORE: AMD Athlon64 2800+ Boxed - MOTHERBOARD: Gigabyte K8NS nForce3 250 - SCHEDA VIDEO: 3D Prophet 9800 Pro 128MB - RAM: 512MB Corsair Value + 512 V-Data - CASE: Chieftech Dragon - ALIMENTATORE: Q-TEC 550W - HARD DISK: Seagate SATA 80 GB - LETTORE DVD: LG 16x52x - MASTERIZZATORE: Nec ND-3520

Ultima modifica di Ballantine : 08-04-2012 alle 10:46.
Ballantine è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2012, 15:54   #7
Baio84
Member
 
Iscritto dal: Apr 2012
Messaggi: 56
Sei di ottimo aiuto!
Con la funzione rtrim, ora la query mi vede la partita che gioca fuori casa!
Ma come da te pronosticato, poi i gol fatti e subiti fuori casa non mi venivano letti. Ho risolto nella stessa maniera perchè il problema era analogo. Infatti nel form per inviare i gol utilizzo ancora file(). Riutilizzando rtrim risolvo tutto.

Intanto ti ringrazio infinitamente!

Ne approfitto per chiederti una cosa: c'è una squadra che si chiama Gazoldo d/Ippoliti. Questo viene inviato tramite POST, $_POST['Gazoldo d/Ippoliti'] non viene letto, perchè durante l'invio la squadra viene salvata come Gazoldo_d/Ippoliti. Per ovviare a questo problema posso utilizzare ancora rtrim?

Intanto finisco di completare il codice!
Baio84 è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2012, 20:14   #8
Ballantine
Member
 
L'Avatar di Ballantine
 
Iscritto dal: May 2004
Messaggi: 278
Se non sbaglio quello di sostituire gli spazi con il carattere "_" è un comportamento standard, poiché lo spazio in quel contesto non è considerato un carattere valido. rtrim() in questo caso non serve, però puoi usare str_replace(), che sostituisce tutte le occorrenze di un carattere in una stringa con un altro carattere a scelta:
Codice:
$casa = str_replace(' ', '_', $partite[0]); //La squadra che gioca in casa
$fuori = str_replace(' ', '_', rtrim($partite[1])); //La squadra che gioca fuori casa
Così facendo sostituisci tutti gli spazi con l'underscore, risolvendo il problema del POST, ma probabilmente vai a creare un problema nell'inserimento dei dati nel database, dove il nome della squadra non ha l'underscore. Quindi potresti utilizzare 4 variabili: 2 da usare quando lavori con $_POST e 2 da usare per le query nel database.
Codice:
$casa_post = str_replace(' ', '_', $partite[0]); //La squadra che gioca in casa, da usare nel POST
$casa_db = $partite[0]; //La squadra che gioca in casa, da usare nelle query
$fuori_post = str_replace(' ', '_', rtrim($partite[1])); //La squadra che gioca fuori casa, da usare nel POST
$fuori_db = rtrim($partite[1]); //La squadra che gioca fuori casa, da usare nelle query
Non è molto elegante ma dovrebbe funzionare
__________________
PROCESSORE: AMD Athlon64 2800+ Boxed - MOTHERBOARD: Gigabyte K8NS nForce3 250 - SCHEDA VIDEO: 3D Prophet 9800 Pro 128MB - RAM: 512MB Corsair Value + 512 V-Data - CASE: Chieftech Dragon - ALIMENTATORE: Q-TEC 550W - HARD DISK: Seagate SATA 80 GB - LETTORE DVD: LG 16x52x - MASTERIZZATORE: Nec ND-3520
Ballantine è offline   Rispondi citando il messaggio o parte di esso
Old 09-04-2012, 03:51   #9
Baio84
Member
 
Iscritto dal: Apr 2012
Messaggi: 56
E anche qui la tua esperienza è stata preziosa!

Non pensare che ti voglia sfruttare, perchè prima di chiedere cerco sul mio bel libro una possibile soluzione o mi faccio una bella ricerca su internet, ma sono agli inizi e il mondo php è molto vasto e alcuni argomenti, come le query, non sono molto trattate.

Una volta riempita la mia tabella con i dati che le invio, vorrei farle calcolare alcune cose. Su internet ho trovato qualcosa, ma credo di fare alcuni errori di sintassi (anche perchè credo che fra mysql e odbc ci siano differenze).

Ecco la mia query:

$sql="SELECT DISTINCT VC + VF AS V, NC + NF AS N, PC + PF AS P, V *3+ N AS PUNTI, GF - GS AS GF - GS, NC *(-2)+ PC *(-3)+ VF *2+ PF *(-1) AS M.I., V + N + P AS GIORNATE FROM Classifica";

Dove: VC= Vinte Casa; VF= Vinte Fuori; V= Vinte Totali; stessa logica per le nulle (cioè pareggiate) e quelle perse; M.I.= Media Inglese.
Non dovrebbero esserci errori di apici, ma con le operazioni non sono sicuro. Poi forse c'è qualche errore quando faccio le moltiplicazioni coi numeri negativi. Potrei magari aggiornare direttamente la tabella con un UPDATE senza dover passare per la SELECT?
Baio84 è offline   Rispondi citando il messaggio o parte di esso
Old 09-04-2012, 03:52   #10
Baio84
Member
 
Iscritto dal: Apr 2012
Messaggi: 56
E anche qui la tua esperienza è stata preziosa!

Non pensare che ti voglia sfruttare, perchè prima di chiedere cerco sul mio bel libro una possibile soluzione o mi faccio una bella ricerca su internet, ma sono agli inizi e il mondo php è molto vasto e alcuni argomenti, come le query, non sono molto trattate.

Una volta riempita la mia tabella con i dati che le invio, vorrei farle calcolare alcune cose. Su internet ho trovato qualcosa, ma credo di fare alcuni errori di sintassi (anche perchè credo che fra mysql e odbc ci siano differenze).

Ecco la mia query:

$sql="SELECT DISTINCT VC + VF AS V, NC + NF AS N, PC + PF AS P, V *3+ N AS PUNTI, GF - GS AS GF - GS, NC *(-2)+ PC *(-3)+ VF *2+ PF *(-1) AS M.I., V + N + P AS GIORNATE FROM Classifica";

Dove: VC= Vinte Casa; VF= Vinte Fuori; V= Vinte Totali; stessa logica per le nulle (cioè pareggiate) e quelle perse; M.I.= Media Inglese.
Non dovrebbero esserci errori di apici, ma con le operazioni non sono sicuro. Poi forse c'è qualche errore quando faccio le moltiplicazioni coi numeri negativi. Potrei magari aggiornare direttamente la tabella con un UPDATE senza dover passare per la SELECT?
Baio84 è offline   Rispondi citando il messaggio o parte di esso
Old 09-04-2012, 03:53   #11
Baio84
Member
 
Iscritto dal: Apr 2012
Messaggi: 56
E anche qui la tua esperienza è stata preziosa!

Non pensare che ti voglia sfruttare, perchè prima di chiedere cerco sul mio bel libro una possibile soluzione o mi faccio una bella ricerca su internet, ma sono agli inizi e il mondo php è molto vasto e alcuni argomenti, come le query, non sono molto trattate.

Una volta riempita la mia tabella con i dati che le invio, vorrei farle calcolare alcune cose. Su internet ho trovato qualcosa, ma credo di fare alcuni errori di sintassi (anche perchè credo che fra mysql e odbc ci siano differenze).

Ecco la mia query:

Codice:
$sql="SELECT DISTINCT VC + VF AS V, NC + NF AS N, PC + PF AS P, V *3+ N AS PUNTI, GF - GS AS GF - GS, NC *(-2)+ PC *(-3)+ VF *2+ PF *(-1) AS M.I., V + N + P AS GIORNATE FROM Classifica";
Dove: VC= Vinte Casa; VF= Vinte Fuori; V= Vinte Totali; stessa logica per le nulle (cioè pareggiate) e quelle perse; M.I.= Media Inglese.
Non dovrebbero esserci errori di apici, ma con le operazioni non sono sicuro. Poi forse c'è qualche errore quando faccio le moltiplicazioni coi numeri negativi. Potrei magari aggiornare direttamente la tabella con un UPDATE senza dover passare per la SELECT?
Baio84 è offline   Rispondi citando il messaggio o parte di esso
Old 09-04-2012, 10:00   #12
Baio84
Member
 
Iscritto dal: Apr 2012
Messaggi: 56
Perdonatemi i post uguali! Ieri sera ho avuto dei problemi nel postare
Baio84 è offline   Rispondi citando il messaggio o parte di esso
Old 11-04-2012, 12:01   #13
Ballantine
Member
 
L'Avatar di Ballantine
 
Iscritto dal: May 2004
Messaggi: 278
Questa la passo, sulla sintassi SQL sono un po' arrugginito
__________________
PROCESSORE: AMD Athlon64 2800+ Boxed - MOTHERBOARD: Gigabyte K8NS nForce3 250 - SCHEDA VIDEO: 3D Prophet 9800 Pro 128MB - RAM: 512MB Corsair Value + 512 V-Data - CASE: Chieftech Dragon - ALIMENTATORE: Q-TEC 550W - HARD DISK: Seagate SATA 80 GB - LETTORE DVD: LG 16x52x - MASTERIZZATORE: Nec ND-3520
Ballantine è offline   Rispondi citando il messaggio o parte di esso
Old 11-04-2012, 14:38   #14
Baio84
Member
 
Iscritto dal: Apr 2012
Messaggi: 56
Intanto ti ringrazio!

Ho provato anche una query più semplice come:

$sql="SELECT VC + VF AS V FROM Classifica";

ma niente da fare. Ho provato a mettere apici, doppi apici, parentesi, ma mi restituiva sempre questo errore "The SELECT statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect., SQL state 37000".

Spero che qualcuno corra in mio soccorso

EDIT: Con buona volontà e pazienza ho risolto il problema delle query!
Dunque, per essere d'aiuto al forum, cerco di dare qualche dritta:
- in una SELECT puoi inserire tutte le operazioni che si vogliono, basta che gli operatori siano separati (esempio 2 + 3, e non 2+3);
- se vogliamo che le operazioni siano inserite in una nuova colonna tramite il comando AS, se il nome è composto da degli spazi, dobbiamo metterlo fra parentesi quadre (esempio VITTORIE CASA, dovrà essere scritto [VITTORIE CASA]); invece se nel nome ci sono dei punti, la query dà errore e non ho trovato nessuna soluzione, se non quella di toglierli (anche con [ING. GINO] dà errore);
- per moltiplicare con un numero negativo come (-2) * 3, in questo modo non è possibile e non mi sono applicato molto per risolvere questo problema. L'unico consiglio (come poi ho fatto io) è che se nella vostra espressione ci sarà almeno un valore positivo, partire da questo e sottrarre poi (esempio, (-2) * 3 + 5, si può scrivere 5 - 2 * 3 ma in questa forma la query la accoglie a braccia aperte; per maggior sicurezza potete mettere fra parentesi la moltiplicazione);
- le operazioni si possono fare anche tramite l'UPDATE. Anche per l'UPDATE valgono i primi due punti detti per la SELECT. Per le operazioni è un po' più delicato. Se l'operazione presenta solo due numeri, nessun problema. Se ne presenta di più, è necessario spezzettare l'espressione con delle parentesi. Nei miei casi: GIORNATE = (VINTE + NULLE + PERSE), [MEDIA INGLESE] = (2 * VINTEFUORI) - PERSEFUORI - (2 * NULLECASA) - (3 * PERSECASA). In questo modo la query veniva letta.

Ora non sono proprio il più adatto a dire che queste sono le regole per le operazioni, anche perchè le regole vere e proprie non le conosco, però facendo così la query funziona e se qualcuno dovesse avere lo stesso problema, facendo così potrebbe risolvere

Ultima modifica di Baio84 : 12-04-2012 alle 09:10.
Baio84 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abb...
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz ASUS ROG Swift OLED PG34WCDN recensione: il prim...
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico Recensione Nothing Phone (4a) Pro: finalmente in...
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro WoW: Midnight, Blizzard mette il primo, storico ...
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
EK Waterblock si arrende agli aumenti, i...
Geekbench si aggiorna: tutti i test con ...
Per la prima volta un computer quantisti...
Telecamere Reolink 4K su Amazon: Wi-Fi 6...
Anthropic vuole farsi i chip da sola? Co...
Il fondatore di Framework: il personal c...
JBL Live Flex 3 a 129€ su Amazon: ANC ad...
Come un uomo ha costruito un'azienda da ...
Multe fino a 400 euro anche se hai pagat...
Tapo lancia una valanga di offerte su Am...
Little Snitch su Linux: finalmente dispo...
John Deere accetta un accordo da 99 mili...
Gli astronauti di Artemis II osservano i...
OpenAI lancia ChatGPT Pro da 100 dollari...
Allarme rosso: CPU-Z e HWMonitor, segnal...
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: 19:14.


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