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

    Query a Mysql (ma per qualche motivo non mi richiama tutti i dati)

    Buonasera!

    Ho un problemone e mi rivolgo a voi che siete la mia ultima spiaggia

    Ho una query sql con cui sommo le ore che ho lavorato per progetto. Il problema è che mi sono accorto che non mi conta tutte le ore e neanche tutti i progetti. Sembra quasi che a un certo punto la richiesta al database si interrompa e i risultati sono solo parziali.

    Ecco il codice:
    Codice PHP:
    <? 
    include("figura.inc"); 
    $db mysql_connect($db_host$db_user$db_password);
    if (
    $db == FALSE)
    die (
    "Errore nella connessione. Verificare i parametri nel file config.php");
    mysql_select_db($db_name$db)
    or die (
    "Errore nella selezione del database. Verificare i parametri nel file config.php");
    $query mysql_query(" SELECT *,SUM(stunden) AS sum_points FROM helios_stunden GROUP BY projekt HAVING name=\"$username\" ORDER BY sum_points DESC");


    while (
    $row mysql_fetch_array($query)) {

    $projekt "$row[projekt]";
    $stunden "$row[sum_points]";


    ?>
    <tr>
    <td width="250"><? echo ("$projekt"); ?></td>
    <td><? echo ("$stunden"); ?></td></tr>
    <?

    }

    ?>

    Chiaramente ho controllato i contenuti del database e tutti i progetti contengono correttamente i dati.

    Come mai non riesco a calcolare tutte le ore di tutti i progetti (legati al mio nome nel database)?

    Un saluto!
    Andrea

  2. #2
    Scusate se continuo il post ma magari vi aiuta avere qualche informazione in più:

    I risultati sono i seguenti:

    WSF_Kenya 174.5
    CRM System 100
    FAS - Realizzazione sito internet 78
    Internetseite Kompi 49
    go-k-art - Internetauftritt 30
    Webseite Gokart 16
    Kompatscher - Internetauftritt 15
    vianova - service Webseite 7.5
    Non solo asini 4
    Ma in verità ci sono anche altri progetti e molte più ore a progetto...boh...
    Vi mando uno screenshot del database dove potete vedere alcuni dati. Le ore legate al progetto "buero" per esempio non vengono neanche visualizzate nel risultato!

    Grazie!

    Screenshot:

  3. #3
    Nessun aiutino?

  4. #4
    l'errore per me sta nella select, prova a togliere l'asterisco (*) e metti solo il campo "projekt",
    il campo "name" levalo da HAVING e mettilo con WHERE perchè è un campo che non visualizzerai, nel ORDER BY scrivi la SUM(stunden) e non sum_points
    La query finale dovrebbe essere così:

    SELECT projekt ,SUM(stunden) AS sum_points
    FROM helios_stunden
    WHERE name=\"$username\"
    GROUP BY projekt
    ORDER BY SUM(stunden) DESC");

    io in ASP la farei così adesso in PHP non so se cambia qualcosa!

  5. #5
    Ho trovato la soluzione, ho messo Where invece di HAVING ma non funzionava, allora ho spostato WHERE prima di GROUP BY, e funziona!!!


    Codice PHP:
    $query mysql_query(" SELECT projekt_id,name,projekt,SUM(stunden) AS sum_points FROM helios_stunden WHERE name='$username'  GROUP BY projekt_id ORDER BY SUM(stunden) DESC"); 

    Grazie!

  6. #6
    Sono contento che funziona, io ti avevo scritto la query proprio nell'ordine giusto infatti la clausola WHERE va sempre prima di GROUP BY. Ma avevo scordato di dirtelo.
    ciao

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.