Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    107

    [niubbo] primi passi con mysql

    Ho creato una tabella con due voci: "pagina" e "voto". Ovviamente serve per votare alcune pagine: funziona. Il problema è al momento di richiamare i risultati...

    Con il seguente codice

    Codice PHP:
    <?php
    $query 
    "SELECT * FROM voti;";
    $query "SELECT * FROM voti ORDER BY voti_voti;";
    $result mysql_query($query$db);


    while (
    $row mysql_fetch_array($result)){
        print 
    $row[voti_pagina]." ".$row[voti_voti]." ".$row[voti_ip]."
    \n"
    ;
    }
    ?>
    Mi riporta in ordine di voto tutte le pagine tutte le volte che sono state votate, esempio:

    pagina A - 3
    pagina B - 2
    pagina A - 1

    Mentre io vorrei la somma dei voti:

    pagina A - 4
    pagina B - 2

    Come devo fare?

  2. #2
    Prima di tutto, questo codice andrebbe un po corretto
    codice:
    $query = "SELECT * FROM voti;";
    $query = "SELECT * FROM voti ORDER BY voti_voti;";
    è inutile che tu faccia in questo modo, perke la cmq la variabili si sovrascrive
    codice:
    $query = "SELECT * FROM voti ORDER BY voti_voti;";
    Puo bastare solo questo, cmq il ; è inutile. Poi usa gli apici o le virgolette negli indici delgi array, il motivo è che senza apici php potrebbe interpretare quello che scrivi nel nome dell'indice come una costante, almeno che sia dichiarata.
    codice:
    <?php
    $query = "SELECT * FROM voti ORDER BY voti_voti";
    $result = mysql_query($query, $db);
    
    
    while ($row = mysql_fetch_array($result)){
        print $row['voti_pagina']." ".$row['voti_voti']." ".$row['voti_ip']."
    \n";
    }
    ?>
    Per quello che vuoi fare tu invece, potresti fare in questo modo:
    codice:
    <?PHP
    $result = mysql_query ( 'select * from voti order by voti_voti ' );
    $arr = Array ( ) ;
    while ( $row = mysql_fetch_array ( $result , MYSQL_ASSOC ) )
    {
        $arr[$row['voti_pagina']] = $arr[$row['voti_pagina']] + $row['voti_voti'];
    }
    
    while ( list ( $k , $v ) = each ( $arr ) )
    {
       echo "Pagina: " . $k . " - " . $v ;
    }
    
    ?>
    se è quello che ho capito tu voglia fare
    Chiamatemi sven se volete non ho voglia di fare una nuova email per una nuova registrazione xD
    Mac Future User , Ventilatore for PC Cooler user , - dry is coming -

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.