Pagina 54 di 67

Re: Sito web Arcade Database

Inviato: 03/10/2020, 19:28
da pucci
non ho capito questa parte della query di update che usi per togliere il flag mamecab only

Codice: Seleziona tutto

WHERE game_ismamecab_sn=1 AND NOT(
	game_isarcade_sn=1 AND game_isbios_sn=0 AND game_isdevice_sn=0 
	AND game_ismechanical_sn=0 AND display_screens<>0 AND NOT EXISTS(
		SELECT * FROM adb_mame_data WHERE adb_mame_data.id_mame = adb_mame.id 
		AND genre IN (implode($settings->GENRES_IGNORE_MAMECAB,",").")
	))";
l'update a "non mamecab" avviene solo se attualmente è considerato mamecab ed è vera questa condizione

Codice: Seleziona tutto

NOT(
	game_isarcade_sn=1 AND game_isbios_sn=0 AND game_isdevice_sn=0 
	AND game_ismechanical_sn=0 AND display_screens<>0 AND NOT EXISTS(
		SELECT * FROM adb_mame_data WHERE adb_mame_data.id_mame = adb_mame.id 
		AND genre IN (implode($settings->GENRES_IGNORE_MAMECAB,",").")
	))";
essendoci un NOT deve essere falsa questa condizione

Codice: Seleziona tutto

game_isarcade_sn=1 AND game_isbios_sn=0 AND game_isdevice_sn=0 
	AND game_ismechanical_sn=0 AND display_screens<>0 AND NOT EXISTS(
		SELECT * FROM adb_mame_data WHERE adb_mame_data.id_mame = adb_mame.id 
		AND genre IN (implode($settings->GENRES_IGNORE_MAMECAB,",").")
essendoci tanti AND perchè sia falsa basta che uno degli elementi sia falso:

game_isarcade_sn=1 --> se non è arcade (quindi se è MESS)
game_isbios_sn=0 --> se è un BIOS
isdevice_sn=0 --> se è un device
game_ismechanical_sn=0 --> se è mechanical
display_screens<>0 --> se è screenless
NOT EXISTS(
SELECT * FROM adb_mame_data WHERE adb_mame_data.id_mame = adb_mame.id
AND genre IN (implode($settings->GENRES_IGNORE_MAMECAB,",").") --> se il genere è tra quelli non mamecab


non capisco a cosa serva non resettare a tutti i giochi il flag mamecab se tanto poi lo vai a reimpostare con la prossima query

perchè non ti sei limitato ad un

Codice: Seleziona tutto

UPDATE adb_mame 
SET game_ismamecab_sn=0 
WHERE game_ismamecab_sn=1
?

Re: Sito web Arcade Database

Inviato: 03/10/2020, 19:44
da pucci
la seconda query è più semplice.
cosa è gioco da MAMEcab?

ogni gioco che abbia tutte queste caratteristiche:
  • deve essere Arcade
  • non deve essere un BIOS
  • non deve essere un device
  • non deve essere mechanical
  • non deve essere screenless
  • il suo genere non deve essere nella lista dei generi non adatti ai mamecab (qui metto solo quelli attualmente usato da genre.ini)

Codice: Seleziona tutto

    30175,  // Board Game
    28188,  // Calculator
    161,    // Casino
    31769,  // Coin Pusher
    28190,  // Computer
    34078   // Computer Graphic Workstation
    901,    // Electromechanical
    28191,  // Game Console
    28192,  // Handheld
    30176,  // Medal Game
    30406,  // Medical Equipment
    30177,  // Music
    28193,  // Printer
    167,    // Quiz
    31770,  // Slot Machine
    833,    // System
    159,    // Tabletop
    30178,  // Telephone
    902,    // Utilities

Re: Sito web Arcade Database

Inviato: 03/10/2020, 19:50
da pucci
forse ho capito la prima query, serve per caso ad evitare l'informazione "è adatto a mamecab" per le versioni più vecchie di MAME?
usando la mia query semplificata tutti i giochi non più presenti nell'ultimo MAME (ma presenti nelle versioni precedenti) risulterebbero non adatti ad un mamecab

è così?

Re: Sito web Arcade Database

Inviato: 03/10/2020, 20:30
da motoschifo
Il caso di update manuale non è più gestito quindi le query modificano di fatto tutti i giochi sempre, anche quelli non più attuali. Un tempo non era così, ma per velocizzare le operazioni ho sdoppiato le query.
Sostanzialmente metto a 0 tutto ciò che non è per cab, poi mette a 1 tutto ciò che è per cab negando la stessa condizione.

Facendo indistintamente l'update otterrei la data di ultima modifica del record sempre valorizzata ad oggi, cosa che non è vera in quanto il record potrebbe non aver subito reali modifiche.
In principio non esisteva un campo su db ma un campo calcolato in funzione di altri, poi ho voluto metterlo per semplificare le ricerche.

Ma con queste indicazioni, hai ancora giochi errati nella selezione del Mame?

Re: Sito web Arcade Database

Inviato: 03/10/2020, 20:42
da pucci
motoschifo ha scritto: 03/10/2020, 20:30 Il caso di update manuale non è più gestito quindi le query modificano di fatto tutti i giochi sempre, anche quelli non più attuali. Un tempo non era così, ma per velocizzare le operazioni ho sdoppiato le query.
Sostanzialmente metto a 0 tutto ciò che non è per cab, poi mette a 1 tutto ciò che è per cab negando la stessa condizione.

Facendo indistintamente l'update otterrei la data di ultima modifica del record sempre valorizzata ad oggi, cosa che non è vera in quanto il record potrebbe non aver subito reali modifiche.
In principio non esisteva un campo su db ma un campo calcolato in funzione di altri, poi ho voluto metterlo per semplificare le ricerche.

Ma con queste indicazioni, hai ancora giochi errati nella selezione del Mame?
quindi il fatto di non usare una query semplice come la mia è solo dovuto a questo? "Facendo indistintamente l'update otterrei la data di ultima modifica del record sempre valorizzata ad oggi, cosa che non è vera in quanto il record potrebbe non aver subito reali modifiche."

mi sfugge il problema dell'avere una data di ultima modifica "recente"

adesso provo con le tue indicazioni a vedere se c'è qualcosa di strano.

Sto testando ora

Re: Sito web Arcade Database

Inviato: 03/10/2020, 22:24
da motoschifo
La data di ultimo aggiornamento indica quando il gioco ha subito modifiche. La trovi nelle schede di dettaglio e serve anche in alcuni casi per capire quali record sono stati aggiornati (e magari lanciare elaborazioni solo su quelli).
Aggiornare sempre tutto non è nelle mie intenzioni, anzi la maggior parte delle query non "sporca" i dati se deve metterli uguali a quelli che ci sono già.
Un esempio di questa tecnica è quando occorre capire se il gioco ha subito cambiamenti, ad esempio dopo l'importazione.

In ogni caso, se si tratta di una data di ultima modifica, ha senso averla valorizzata solo nel caso di effettivi cambi. Altrimenti non serve a nulla e tanto vale toglierla.
Ah giusto per curiosità, quella data viene aggiornata in automatico quindi non sono io che lo faccio, ed è anche una verifica per capire se "qualcuno" ha cambiato cose. Tutte le mie tabelle hanno quel campo.

Re: Sito web Arcade Database

Inviato: 04/10/2020, 11:06
da pucci
motoschifo ha scritto: 03/10/2020, 20:30 Ma con queste indicazioni, hai ancora giochi errati nella selezione del Mame?
ora sembrerebbe a posto

ti mando a breve alcuni suggerimenti di modifiche al filtro arcade cab

Re: Sito web Arcade Database

Inviato: 06/05/2021, 23:07
da motoschifo
Su richiesta di AntoPisa, ho aggiunto il filtro software list anche nella parte "Giochi", che è quindi in grado di cercare i sistemi che utilizzano una particolare lista software.
Accetta anche più valori contemporaneamente e supporta l'autocompletamento, come molti dei filtri del sito.

Schermata del 2021-05-06 22-54-40.png

Re: Sito web Arcade Database

Inviato: 06/05/2021, 23:30
da Gothrek
ottimo!!!!

Re: Sito web Arcade Database

Inviato: 08/05/2021, 20:07
da motoschifo
Ho aggiunto un tasto per avere subito le ricerche salvate, utile per fare tutto con un paio di click anzichè passare dal menu apposito.
Non è perfetto, nel senso che le nuove ricerche salvate non compaiono subito, ma comunque lo sto trovando comodo.
Aggiornato per le pagine ita/eng, mame/mess e tutti i temi gestiti... al netto di errori ovviamente


Screenshot_2021-05-08 Giochi MAME.png