Visualizzazione risultati 1 fino 7 di 7

Discussione: Problema query

  1. #1
    Guest

    Predefinito Problema query

    Ciao raga!
    Vi espongo subito il mio problema: io devo creare una query che estragga dal db dei dati e li ordini in modo decrescente......mi spiego meglio: devo fare una classifica in php/mysql e in pratica chi ha più punti deve essere in testa etc....insomma una classifica!
    Poi dovevo far comparire affianco al nome un trangolino verde se il nome sale in classifica e uno rosso se il nome scende,come potrei fare?
    Grazie anticipatamente per le dritte!

  2. #2
    Guest

    Predefinito

    Prima di tutto devi dirci com'è strutturata la tabella o le tabelle insteressate.
    Per la questione del trend, devi rapportare i record di un range di tempo con un altro. Devi decidere tu quale (la settimana corrente con la scorsa, o il mese, o l'anno, ecc)


    Ciao!

  3. #3
    Guest

    Predefinito

    la tabella non l'ho ancora creata ma dovrebbe essere qualcosa del tipo:

    id|nome giocatore|punteggio

    una cosa semplice insomma che riesco a crearmi da solo!
    Invece non mi è molto chiaro come risolvere il problema delle freccie rosse e verdi......comunque il tempo è in base settimanale trattandosi di una classifica per il fantacalcio!

  4. #4
    Guest

    Predefinito

    La query sarà semplice:
    Codice:
    SELECT * FROM tabella ORDER BY punteggio DESC
    Dovrai però aggiungere un campo 'giorno' in cui memorizzi la data relativa a quel record, per poi fare un'altra query della scorsa settimana e fare il confronto: se il punteggio della prima query è superiore allo stesso della seconda query, la freccia sarà in su (trend crescente), altrimenti giù (trend decrescente); se sono uguali potrai mettere un'immagine di uguale.


    Ciao!

  5. #5
    Guest

    Predefinito

    scusa ma non ho ben capito(oggi sono tardo ) quale sarà la query che devo confrontare tra loro?
    thx x la pazienza che stai portando!

  6. #6
    Guest

    Predefinito

    Una volta aggiunto il campo con la data di ogni record, dovrai fare due query: una per il periodo scelto (la settimana corrente?) e un'altra per la settimana precedente a quella scelta (entrambi i range di tempo te le ricavi con php, con le funzioni date e mktime).
    Una volta estratti questi dati, li puoi confrontare tramite le funzioni per gli array.


    Ciao!

  7. #7
    Guest

    Predefinito

    in pratica debug sta cercando di dire qualcosa del genere:
    Codice PHP:
    <?php
    //connessione
    $con = mysql_connect(..);
    mysql_select...);
    $query = "SELECT * FROM tabella ORDER BY punteggio DESC";
    $result = mysl_query($query);
    while (
    $row = mysql_fetch_array($result)) {
    $attualepunteggio = "punteggio di adesso(in int)";
    echo
    $row['utente'] . 'ha di punteggio ' . '$attualepunteggio . ' ';
    if ($attualepunteggio >= $row['
    punteggio']) {
    echo '
    <img src="salito.gif">';
    }
    elseif ($auttualepunteggio == $row['
    punteggio']) {
    echo '
    <img src="satatico.gif">';
    }
    else {
    echo '
    <img src="sceso.gif">';
    }
    }
    ?>
    è un esempio proprio banale
    certo è da dire che dovrai trovare un modo di fare gli upload ed anche di trovare il nuovo punteggio, altrimenti potresti fare un campo con il vecchio punteggio ed uno con il nuovo ed al posto della variabile $attualepunteggio ci metti $row['nuovopunteggio'] così avresti solo il problema degli upload

    ciao

Regole di scrittura

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