Aggiungere la nazionalità a GDRCD 5.1 postato il 04/01/2012 18:07:20 nel forum programmazione, gdrcd e open source
Salve a tutti!
Sto provando ad aggiungere la nazionalità a GDRCD 5.1, ma trovo alcuni problemi a stampare i dati nella scheda.
In pratica, ho letteralmente copiato la tabella e la pagina di creazione delle razze (cioè la pagina "gestione_razze.inc.php" e la tabella "razza", creando la pagina "gestione_nazione.inc.php" e la tabella "nazione"), e riesco senza problemi a creare modificare e cancellare nazioni. Però, non riesco a fare in modo che la pagina principale della scheda, cioè la pagina "scheda.inc.php" riporti i dati della nazione nella scheda. Come posso fare?
Al momento, sto provando a modificare la query che preleva i dati della tabella razze per fare si che prelevi anche i dati della tabella nazioni, ed ho scritto così la query:
Pagine → 1 2
04/01/2012 23:26:57
Il problema è molto semplice. I campi della tabella razza e i campi della tabella nazione hanno gli stessi nomi, perciò quando vengono inseriti nell'array dei risultati si sovrascrivono a vicenda.
Devi rinominare i campi di una tabella nella query usando la direttiva AS
05/01/2012 09:12:54 e modificato da baboomba il 05/01/2012 09:13:47
Grazie leoblacksoul!
Avevi ragione, ho rinominato i campi della tabella "nazione" usando AS, e così facendo i dati non si sono sovrascritti.
Però ancora non ho risolto tutto. La razza non risulta più sconosciuta, ma la nazionalità si.
Ho provato a fare l'inverso rinominando i campi dell'altra tabella, ed ho controllato anche se è tutto a posto nei file "it-ITvocabulary.php" e "config.inc.php", ho controllato anche la tabella "nazione" nel database, ma sembra tutto a posto. Solo che non riesco in nessun modo ad estrarre i dati relativi alla nazionalità.
La query che ho provato a fare è la seguente (la parte modificata è sottolineata ed in grassetto):
05/01/2012 12:33:49
Il problema è ancora nella query. Hai rinominato i due campi con lo stesso nome, nazionem, invece di nazionem e nazionef
05/01/2012 15:12:33
Si, vero. Ho corretto, adesso nella query per il campo del nome femminile c'è "nazione.sing_f AS nazionef", ma la nazionalità risulta ancora sconosciuta.
05/01/2012 15:12:33
Si, vero. Ho corretto, adesso nella query per il campo del nome femminile c'è "nazione.sing_f AS nazionef", ma la nazionalità risulta ancora sconosciuta.
05/01/2012 17:25:05
Quindi stai dicendo che entra sempre in questo else:
05/01/2012 20:43:26
Ce l'ho fatta! Ho trovato l'inghippo.
La nazionalità non veniva assegnata perché nel database il campo "id_nazione" era uguale ad uno. È bastato cambiarlo in mille, e l'ha letta. Anche tutte le altre nazioni che come "id_nazione" hanno un numero superiore a mille, vengono lette.
Ti ringrazio moltissimo leoblacksoul, sei stato gentilissimo. Entro la settimana prossima realizzerò la patch, e mi piacerebbe condividerne la paternità, perché senza il tuo aiuto non ne sarei venuto a capo, ero in un vicolo cieco.
05/01/2012 21:43:53
Non preoccuparti, io ti ho solo corretto un paio di errori. ti consiglio di cercare di fare un file istruzioni chiaro per la patch, per esempio come ho fatto io con la Quote patch.
Comunque...il fatto che tiri in ballo la grandezza dei campi nel DB mi fa preoccupare XD
Il campo id_nazione è un int vero? Non l'avrai fatto varchar? XD Di solito gli int vengono messi a grandezza 11 da MySql, e il campo viene impostato AUTO_INCREMENT, dato che si tratta di un id
07/01/2012 14:24:01
Si, il campo è un int. L'intera tabella l'ho copiata pari pari a quella della razza, l'unica cosa che non ho riportato sono solo alcuni campi che alla nazionalità non penso che servissero (come i bonus delle caratteristiche o l'url del sito).
Il fatto è che la prima nazione l'ho creata grazie alla pagina di creazione da me realizzata copiando la pagina di creazione per le razze.
Però, visto che la tabella era vuota, l'id assegnato alla prima nazione è stato 1, e per questo non veniva riconosciuta.
La stessa cosa vale anche per le razze: se le razze hanno un id compreso tra 1 e 999, non vengono riconosciute. Se l'id è uguale o superiore a 1000, allora viene riconosciuto.
Mi sono accorto di questa cosa solo quando sono andato a controllare la tabella ed il contenuto della riga.
07/01/2012 16:40:04
ahh capisco....deve essere un qualche tipo di limitazione nel codice di GDRCD
Discussione seguita da
Pagine → 1 2
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD e Open Source Elenco Forum
I dati del generatore di rank sono stati aggiornati!