 | |
Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum |
Dubbio progetto Basi Clicca QUI per vedere il messaggio nel forum |
carla86 |
anke secondo me xke praticamente l'errore è la finestrella d windows ke dice "Si è verificato un errore in Apache HTTP Server. L'applicazione verrà chiusa."
La cosa divertente è ke ora ho provato sul portatile e li funziona a differenza del pc fisso! |
morte2097 |
io i grant li ho utilizzati solo in fase d'iscrizione e ho salvato l'utente con il nick e la password (nei grant) mentre per il passaggio turni ho creato prima una vista (turni[id_naz,data] ) che mi crea una tabella contenete tutte le tuple ke hanno la data d'iscrizione maggiore della nazione di turno poi ho fatto la seguente query
SELECT id_naz,data
FROM turni
WHERE data <= ALL (SELECT data FROM turni );
ke mi restituisce la data del giocatore ke si è inscritto dopo l'utente in turno. l'unico problema è se fossi arrivato all'ultimo giocatore, in tal caso la stringa ke mi restituisce è vuota, faccio un banale controllo in php e slitto il turno al giocatore con la data più vekkia.
Un altro problema l'ho riscontrato nel caso un giocatore si registri quindi è nuovo, li ho creato una colonna apposta senza toccare la colonna dei turni,un pass temporaneo per identificare il giocatore come nuovo e dargli la possibilità di effettuare i primi investimenti, una volta ke ha passato il turno slitta in fondo alla tabella essendo l'ultimo arrivato.Mi sembra ovvio dirvi ke tutto ciò si verificava al passaggio del turno. |
morte2097 |
non vi spaventate per l'orario ma soffro d'insonnia! |
antares85 |
boh, ancora non mi risulta chiaro...cioè mi sembra strano che non si debbano usare grant, credo sia una delle parti principali del progetto, poi magari mi sbaglio, cmq ci rifletterò su bene bene quando arriverò a quel punto...grazie cmq! |
morte2097 |
certo ke li devi usare i grant se no come fa un utente a effettuare il login ed a gestire il gioco? |
antares85 |
scusa morte2097 potresti chiarirmi meglio il concetto:
"ho salvato l'utente con il nick e la password (nei grant)"
come si fa a salvare nick e pwd (e altri dati) nei grant? la mia ignorantezza mi dice che con i grant si possono solo assegnare o togliere permessi... |
morte2097 |
allora
$nime è il nick
$pwd è la password
$sql2 = " GRANT INSERT,SELECT,UPDATE,DELETE ON mondo.*
TO '$nime'@localhost
IDENTIFIED BY '$pwd'"; |
morte2097 |
automaticamente crea un user nel database "mysql" nella tabella "user" con relativa password. |
antares85 |
ah ok, mysql, mi ero perso questo dettaglio :P
grazie! |
antares85 |
e di conseguenza se poi all'utente devi revocare i permessi perchè non è di turno fai una revoke insert, delete, update ON '$nime'@localhost ? |
morte2097 |
no no calma, io i permessi li revoco solo quando elimino un utente, per il turno uso un attributo in nazione, 1 se è il suo turno, 0 se non lo è. |
antares85 |
scusa ancora morte2097, vediamo se ho capito bene:
tu usi un campo boolean che indica se un giocatore è di turno o meno.
dubbio1: crei l'utente tramite una funzione mysql che ti permette di creare appunto l'utente assegnandogli user, password e permessi ? (io uso postgres e ce n'è una simile). oppure prima crei l'utente e poi gli assegni i permessi?
dubbio 2: se non sbaglio dicevi che i grant li assegnavi solo in fase di registrazione; ma se poi non li assegni/revochi durante il gioco a che servono? tanto vale far visualizzare determinate pagine per effettuare determinate azioni in base al valore del campo boolean che indica se il giocatore è di turno o no...anche perchè non penso sia obbligatorio assegnare i permessi, se non lo si fa credo sia implicito che l'utente appena creato li abbia tutti... |
antares85 |
ps: te crei l'utente con una sorta di create user o semplicemente aggiungi un record alla tabella dei giocatori? |
ste182 |
scusate, ma voi ogni volta che registrate un utente, lo create e gli date i permessi pure su SQL?? che senso ha?:shock:
io ho creato un solo utente "basi" con i relativi permessi, ogni connessione al db utilizza tale utente. |
antares85 |
tutti quelli che si collegano usano un utente solo? e come distingui chi è di turno da chi non lo è? |
DarkSchneider |
Originally posted by antares85
tutti quelli che si collegano usano un utente solo? e come distingui chi è di turno da chi non lo è?
beh, per quello basterebbe un campo in una qualsiasi tabella
in cui viene specificato il nome utente che ha preso il turno
in quel determinato momento..
a ogni cambio turno il campo viene aggiornato col nome utente
che ha il turno.. |
ideafix |
Io ho fatto come ste182, un solo utente , non servono certo dei grant per gestire la turnazione.
Ho consegnato il progetto nella sessione di Aprile , ed il prof. non ha avuto problemi su questo punto! |
Amorphis |
anchio uso un solo utente per gestire il gioco .
basta una tabella Nome,PWd etc ... per il login
mi sembra strano se in uno gioco online ci sono 1000 utenti sarano anche 1000 utenti con permessi sul DB . |
antares85 |
grazie per i chiarimenti! |
Amorphis |
ciao
ho qualche domanda.
1) come avete implementato le strade ?
l'unica cosa che mi viene in mente e' una table con 2 colone DA,A
che significa che esiste una starada da .. a , e poi per calcolare i PM neccesari per arrivare da a ad z cosa si puo' fare? dijkstra?
2) avete usato qualcosa altro di html e php ? javascript etc? |
-Oblivion- |
Qui potete trovare dijkstra in MYSQL.
http://www.artfulsoftware.com/infot...hp?&bw=1344#766
Questa è una versione rielaborata da queslla in T-Sql.
Il codice sembra difficile, ma se si fanno un po' di prove ce la si fa a capirlo.
Per quanto riguarda il codice usato, ovviamente oltre all html e php, abbiamo usato javascript. |
Amorphis |
non so perche dici ovviamente .. perche non e' insegnato ne richiesto usarlo . |
-Oblivion- |
Evviva la polemica!!
Vorresti realizzare il progetto senza html e php?! :D
E' vero, potresti utilizzare l'asp al posto del php, ma non ricordo se nelle specifiche è rischiesto esplicitamente in php... non è che sono tanti i linguaggi supportati per interfacciarsi con i database...
Per quanto riguarda l'html, qualsiasi tipo di interfaccia è da fare in html, a meno che tu non conosca altri linguaggi supportati dai browser... |
dArkLuis |
scusate, ma come si fa a richiamare una funzione, create con sql, attraverso php??? |
b.elite |
Originally posted by dArkLuis
scusate, ma come si fa a richiamare una funzione, create con sql, attraverso php???
ciao, usi la query "select none_funzione()" e poi la dai come parametro a mysql_query o pg_query a seconda del db che usi... |
dArkLuis |
io sto utilizzando postegreSQL e ho provato ad utilizzare pg_query ma mi da un warning:"pg_query():10 is not a valid PostegreSQL link resource in C:\...\..."
ed in effetti, se faccio echo del valore restituito, non mi stampa niente...quindi c'è qualche problema |
b.elite |
Originally posted by dArkLuis
io sto utilizzando postegreSQL e ho provato ad utilizzare pg_query ma mi da un warning:"pg_query():10 is not a valid PostegreSQL link resource in C:\...\..."
ed in effetti, se faccio echo del valore restituito, non mi stampa niente...quindi c'è qualche problema
ma hai fatto la connessione al database?
dai un occhiata alle slide di montanelli che spiega passo passo come fare...
cmq mi sembra che pg_query voglia due parametri: la query e la connessione al db |
dArkLuis |
si, mi funziona tutto...pg_query mi funziona quando faccio altro, solo se richiamo la funziona non mi funziona. Sei sicuro che per chiamare le funzioni si utilizza il pg_query?? |
b.elite |
Originally posted by dArkLuis
si, mi funziona tutto...pg_query mi funziona quando faccio altro, solo se richiamo la funziona non mi funziona. Sei sicuro che per chiamare le funzioni si utilizza il pg_query??
sicurissimo, ho gia conseganto il progetto:cool:
fai così:
$db = pg_connect($parametri);
$sql="select nome_funzione()";
$risultato = pg_query($db,$sql);
fai attenzione agli apici se magari la tua funzione prende come parametri delle stringhe...
ma che errore ti da? |
dArkLuis |
non mi da proprio un errore, ma un warning, l'ho scritto qualche post prima. cmq si, prende una stringa come paramentro, quindi deve essere cosi:
$sql="SELECT gestione_turno('$nazione');";
$turno=pg_query($db,$sql);
giusto?? |
b.elite |
Originally posted by dArkLuis
non mi da proprio un errore, ma un warning, l'ho scritto qualche post prima. cmq si, prende una stringa come paramentro, quindi deve essere cosi:
$sql="SELECT gestione_turno('$nazione');";
$turno=pg_query($db,$sql);
giusto??
esatto io ho sempre fatto così, io facevo senza ; alla fine della query ma credo sia indifferente... |
dArkLuis |
ciao, forse non ho capito bene la traccia, ma come si fa ad avere punti PI alla fine del turno??Perchè il testo dice solo se si avrà avuto un aumento della popolazione e del risorse naturali...però non possono aumentare tutte e due contemporaenamente perchè il testo dice che uno fa diminuire l'altro. Quindi la mia domanda è in che situazione c'è un aumento di PI della nazione?? |
carla86 |
Come avete fatto a fare la gestione dei turni?
Mi spiego meglio: Il testo dice ke un giocatore quando non è di turno può visualizzare i suoi dati (la nazione, quanti pi, quante citta e cosi via...) quindi nn lo posso sloggare ma allo stesso tempo gli devo togliere la possibilità d fare azioni..
Cosa avete fatto voi?
E un altra domanda: io sto utilizzando mysql. Dove posso mettere i trigger e le funzioni? in qualsiasi punto del file php o all'inizio? e le funzioni sql?
GRAZIE Carla |
|
|
|
|