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

Discussione: classifica

  1. #1

    classifica

    Ciao a tutti, io nel mio sito devo fare una pagina dove mi dice la classifica di chi ha mandato piu messaggi.
    tipo cosi:
    posizione: 1 user: gino messaggi inviati: 697
    posizione: 2 user: pino messaggi inviati: 380
    posizione: 3 user: rino messaggi inviati: 97
    e cosi via...
    come posso fare?
    il db registra i mess inviati dei utenti...
    qualcuno si è gia trovato in una situazione simile?
    ciao a tutti grazie per le future risposte...

  2. #2
    SELECT username, count(*) as numero FROM messaggi GROUP BY username ORDER BY numero DESC

    puoi risolvere semplicemente con una query tipo questa

    ciao

  3. #3
    ciao, grazie x la risposta, ma poi stampa in celle cosi?

  4. #4
    piu che altro volevo fare in modo che non si vedessero piu di 20 user per pagina...
    non so come si puo fare...

  5. #5
    davo per scontato che ti mancasse solo la query visto che hai già il database

    allora devi fare questo
    Codice PHP:
    <?php
    //cambia i dati di connessione a mysql
    $link mysql_connect('tuohost''tua_user''tua_password');

    //cambia il nome del database
    mysql_select_db('nometuodatabase'$link);

    //cambia il nome della tabella da messaggi al nome vero e metti il vero nome del campo che identifica l'utente
    $query mysql_query("SELECT username, count(*) as numero FROM messaggi GROUP BY username ORDER BY numero DESC");
    $i 1;

    //anche qui devi sostituire username con il vero nome del campo che identifica l'utente
    while ($row mysql_fetch_array($query)) {
       echo 
    "posizione: {$i} user: {$row['username']} messaggi inviati: {$row['numero']}";
       
    $i++;
    }

    mysql_close($link);
    ?>
    Per la paginazione dei risultati poi c'è una pillola nel regolamento.
    Ti ho messo i commenti per le cose che devi modificare
    Ciao

  6. #6
    bello
    un ultima cosa, cosi mette primo quello che ha mandato piu messaggi e cosi via giusto?
    cosa dovrei fare per metterne 20 per pagina di user?
    sai tipo vedi prima i primi 20, poi con un link infondo alla pagina andare dai users 21 a 40..

  7. #7
    devi usare il LIMIT nella query ma per questo ti conviene leggerti la pillola che trovi nel regolamento

    a grandi linee in fondo alla query puoi mettere
    ... ORDER BY numero DESC LIMIT 0, 20

    che significa parti dal primo record (il conteggio inizia con lo 0) e prendine 20

    nella pagina successiva ti basterà incrementare lo 0 con un 20 e così via fino alla fine dei record, ma come ti ho detto studiati la pillola che trovi in fondo al regolamento

    ciao

  8. #8
    ok lo farò...
    grazie per tutto sei stato davvero bravo è paziente alla prossima

  9. #9
    l'ultima cosa, ma se faccio cosi, mi dice:
    posizione: 1 user: jackass messaggi inviati: 1
    ma invece sono molti di piu i messaggi inviati,
    anche con gli altri user fa cosi...
    la posizione è giusta, il nick è giusto ma i messaggi inviati no, cosa puo essere?

  10. #10
    non si puo fare niente?

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.