Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: [problema]

  1. #1

    [problema]

    Ciao a tutti

    Avrei bisogno di costruire una funzione che crei delle "partite casuali" tra 10 "squadre" che prendo da una tabella nel DB..
    Mi spiego meglio:

    codice:
    $query = "SELECT nome FROM team WHERE serie='1'";
    $ris = mysql_query($query, $conn) or die("Errore nella query: " . mysql_error());
    In quel modo l'array $ris contiene 10 nomi, come faccio ad abbinarli a due a due?
    come delle partite di un campionato insomma...

    ESEMPIO
    Giorno 1: Valore 1 Vs Valore 3
    Giorno 2: Valore 1 Vs Valore 7, ecc ecc

    Il tutto rigorosamente casuale..
    Ed ovviamente la coppia Valore 1 <-> Valore 3 dovrebbe esserci una sola volta...

    Grazie per l'aiuto...

    The Happyest Times
    Are The Ones
    That Are Shared

  2. #2
    Utente di HTML.it L'avatar di Graboid
    Registrato dal
    Oct 2004
    Messaggi
    619
    occhio al titolo del post che non va bene, dovresti cambiarlo.

  3. #3
    spiace ma non posso modificarlo..
    The Happyest Times
    Are The Ones
    That Are Shared

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    prova a scaricarti la classe di and3a per il calcolo combinatorio, inserisci un array con tutte le squadre e ti genera tutte le combinazioni degli incontri.
    http://www.phpclasses.org/browse/package/1901.html

  5. #5
    Ciao, e grazie mille per il tuo aiuto..

    Tuttavia non riesco a farlo andare, sarà che non conosco le classi..

    mi potresti dare una mano?

    ecco cosa ho fatto:
    codice:
    $query = "SELECT nome FROM team WHERE serie='1'";
    $ris = mysql_query($query, $conn) or die("Errore nella query: " . mysql_error());
    unset($query);
    $row = mysql_fetch_array($ris); // $row dovrebbe essere l'array in questione, contenente 10 elementi da abbinare 
    
    $c = &new Combinatory('-'); // note that separator('-') is optional
    $matches = &$c->result( $row, 2, "Cn,k" ); // 2 is the class or combination possibility, Pn is the method
    // METHODS TO CALCULATE: Pn - Pn(k) - Dn,k - D'n,k - Cn,k - C'n,k
    echo count( $matches );
    echo '<pre>';
    var_dump( $matches );
    echo '</pre>';
    L'output che ricevo è questo:

    codice:
    array(1) {
      [0]=>
      string(5) "1111-"
    }
    sapresrti dirmi come andare avanti??
    The Happyest Times
    Are The Ones
    That Are Shared

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Neanche io sono ferratissimo sulla programmazione a oggetti.
    Comunque non fare nessuna query, ti dichiari un array con tutte le squadre e poi la classe ti calcola tutte le combinazioni.

    esempio
    Codice PHP:
    $container = array( 'torino''milan''roma''inter''sampdoria','atalanta' );
    $c = &new Combinatory('-'); // note that separator('-') is optional
    $matches = &$c->result$container2"Dn,k" ); // 2 is the class or combination possibility, Pn is the method

    // METHODS TO CALCULATE: Pn - Pn(k) - Dn,k - D'n,k - Cn,k - C'n,k
    echo '<pre>';
    var_dump$matches );
    echo 
    '</pre>'
    Una volta che hai l'array poi ci devi lavorare un pò su per separare le squadre di ciascun incontro, suddividerle per giornata e inserirle nel database.

  7. #7
    si ma come creo l'array prendendo i dati dalla tabella di un db?
    The Happyest Times
    Are The Ones
    That Are Shared

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Originariamente inviato da Nebula88
    si ma come creo l'array prendendo i dati dalla tabella di un db?
    fai una query con la quale estrai tutti i singoli nomi delle squadre
    $query = mysql_query("select distinct nome_squadra from tabella") or die(mysql_error() );

    e poi mentre cicli ti crei l'array.

    while ($row = mysql_fetch_assoc($query) )
    $squadre[] = $row['nome_squadra'];

    ora che hai l'array $squadre puoi applicare la classe di andr3a.

  9. #9
    Ok Grazie Mille!

    Adesso ottengo quello che voglio, guarda qui

    Però come gestisco l'array $matches in modo da ordinare i dati nel db?!

    In pratica a me interessa che i valori [0], [9], [18], e gli altri multipli di 9 vadano nella giornata 1;

    I valori [1],[10],[19] e gli altri multipli di 9 vadano nella giornata 2; ecc ecc

    come faccio?
    The Happyest Times
    Are The Ones
    That Are Shared

  10. #10
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Originariamente inviato da nicola75ss
    Una volta che hai l'array poi ci devi lavorare un pò su per separare le squadre di ciascun incontro, suddividerle per giornata e inserirle nel database.

    E' quello che ti dicevo prima infatti.
    Adesso sono un pò incasinato con un mio problema. Se mi viene in mente qualcosa ti faccio sapere, se qualcuno non risolve prima.

    p.s. spera che i moderatori abbiano pietà e non ti chiudano la discussione per il titolo.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.