Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    MySQL Tabella giocatori

    Ciao a tutti,sto creando un browser game calcistico e adesso mi trovo di fronte ad un primo problema!
    I giocatori devono essere creati a caso dal database ogni tot di tempo.Come posso fare?
    I campi devono essere questi:

    Nome(random)
    Cognome(random)
    Età(random compresa 16-19)
    Ruolo(random)

    Grazie mille per l'aiuto!

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    A partire dalla versione 5.1 di mysql è stato introdotto il supporto degli eventi. Ciò significa che puoi eseguire delle query a intervalli prestabiliti.

    Ti posto un esempio banale, poi documentati in proprio.

    codice:
    CREATE TABLE giocatori (
    id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    nome CHAR(32),
    cognome CHAR(32),
    eta TINYINT,
    ruolo CHAR(32),
    PRIMARY KEY(id)
    ) ENGINE = MYISAM;
    
    SET GLOBAL event_scheduler = 1;
    
    
    CREATE EVENT nuovo_utente ON SCHEDULE EVERY 5 SECOND DO
    INSERT INTO giocatori (nome,cognome,eta,ruolo) VALUES (
    MD5(RAND()), MD5(RAND()), FLOOR(16  + RAND() * 4), MD5(RAND()) );
    La query genererà ogni 5 secondi un nuovo record con un'età compresa tra 16 e 19 mentre per gli altri tre campi mi sono limitato a generare una stringa alfanumerica di 32 caratteri.

  3. #3
    Posso anche scrivere dei record riempiendoli con nomi e cognomi e poi a caso ne vengano presi 2 e così avrò un giocatore con nome e cognome?

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Puoi fare quello che vuoi.

    codice:
    create event nuovo_utente on schedule every 5 second do
    insert into giocatori (nome,cognome,eta,ruolo) 
    select nome,cognome,floor(16  + rand() * 4), md5(rand()) from nominativi order by rand() limit 1;
    In quest'altro esempio nome e cognome di un singolo record verranno estratti casualmente da un'altra tabella nominativi. Ho lasciato la generazione casuale dell'età.
    Ovvio che se viene inserito più volte lo stesso nominativo non ha senso che l'età non sia sempre la stessa. Vedi tu cosa vuoi ottenere.

    edit. Ah, ovviamente un evento del genere non avrebbe nemmeno molto senso visto che ti troveresti una tabella piena di dati ridondanti.

  5. #5
    Sisi,1000 grazie,sei stato utilissimo!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.