Visualizzazione risultati 1 fino 2 di 2

Discussione: Ricavare nome da id con ciclo for

  1. #1
    Guest

    Predefinito Ricavare nome da id con ciclo for

    Salve a tutti, nel mio browser game, per formulare la classifca degli utenti adotto la seguente funzione:

    Codice PHP:
    function user_stats($popolazione)
    {
    global
    $db_id;

    $query="select id, name, (select sum(".$popolazione.") from towns where owner=users.id), alliance from users order by (select sum(".$popolazione.") from towns where owner=users.id) desc";
    $result=mysql_query($query, $db_id); $user_stats=array();
    for (
    $i=0; $row=mysql_fetch_row($result); $i++) $user_stats[$i]=$row;

    return
    $user_stats;
    }
    In questo modo risulta che:

    - $user_stats[$i][0] = Id giocatore;
    - $user_stats[$i][1] = Nome giocatore;
    - $user_stats[$i][2] = Popolazione totale del giocatore;
    - $user_stats[$i][3] = Id alleanza del giocatore;


    Per formare la classifca poi faccio un ciclo for, dove nella prima pagina verranno visualizzati 50 giocatori:

    Codice PHP:
    for ($i=$id; (($i<$id+50)&&($i<count($user_stats))); $i++)

    Ora però vorrei risalire al nome della alleanza dall'id della alleanza e questo lo vorrei fare per tutti i giocatori, la query per risalirci è:

    SELECT name FROM alliance WHERE id = $id_alleanza


    Ora il problema è che non so come fare in modo che questo lo faccia per tutti i giocatori, andando a formare una variabile array con apice [$i] in modo che esso possa essere incrementaot dal ciclo for, come per le altre variabili che stampo correttamente.


    Grazie in anticipo,

    Marco

  2. #2
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Si fa unendo le due tabelle, questa è una possibile query (spero di aver compreso correttamente la struttura del DB):
    Codice:
    SELECT users.id, users.name, (select sum(".$popolazione.") from towns where owner=users.id) AS population, alliance.id, alliance.name
    FROM users, alliance
    WHERE owner = users.id AND users.alliance = alliance.id
    ORDER BY population
    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •