• User Attivo

    Problema con lista voti in php

    Salve a voi,
    ho creato su un sito un metodo per permettere ai vari utenti di farsi votare fra loro...ora ho creato un altra pagina che mi visualizzasse gli ultimi voti inviati fra gli utenti...
    Esempio
    Marco ha vota Fabio con voto 7

    Questa è la pagina listavoti.php

    [PHP]

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <link rel="stylesheet" type="text/css" href="stilevoti.css" />

    <style>

    a
    {
    text-decoration: none;
    }

    </style>
    <body>
    <? //Apro la sessione e...
    session_start();

    include "config.php";
    //mi connetto al datase
    $link = mysql_connect("$db_host", "$db_database", "$db_username", "$db_password") or die("Errore connessione: ". mysql_error());
    //seleziono il database
    mysql_select_db('my_italiawebchat') or die("Errore apertura database: " . mysql_error());

    //seleziono dalla tabella voti i 4 campi da visualizzare

    $strsql="SELECT nick_votoricevente,nick_votoinviante,datavoto,votoricevuto,sesso,foto FROM voti INNER JOIN iscritti ON nick_votoinviante = nickname ORDER BY datavoto DESC LIMIT 7";

    $rs=@mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());
    //faccio un ciclo while

    while ($riga = mysql_fetch_array($rs))

    {
    $str_nickvotoricevente = $riga['nick_votoricevente'];

    $str_nickvotoinviante = $riga['nick_votoinviante'];
    $str_data = $riga['datavoto'];
    $str_voto = $riga['votoricevuto'];
    $str_foto = $riga['foto'];
    $str_sesso = $riga['sesso'];

    //Conrollo foto
    if($str_foto == '')

    $str_foto="amore.gif";

    if($str_sesso == 'femmina'){
    $classenick="donna";
    $colore="#FF99FF";
    }else{
    $classenick="uomo";
    $colore="#0066FF";
    }

    echo "<tr><td><a target="_blank"href="profiloaltri.php?nickname=".$str_nickvotoinviante.""><font class="$classenick" color="$colore">".$str_nickvotoinviante."</font></a></td><td> vota</td>
    <a target="_blank"href="profiloaltri.php?nickname=".$str_nickvotoricevente.""><font class="$classenick" color="$colore">".$str_nickvotoricevente."</font></a></td><td><br>con voto:$str_voto</td><br>";

    }//qui chiudi il while

    ?>
    [/PHP]
    Il problema e che non mi fa bene il controllo sul colore del sesso...succede che al primo nick femminile che trova mi stampa tutti i successivi in colore rosa.....come mai succede ciò?

    Questò è il codice html che viene fuori dalla pagina

    [html]

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <link rel="stylesheet" type="text/css" href="stilevoti.css" />

    <style>

    a
    {
    text-decoration: none;
    }

    </style>
    <body>
    <tr><td><a target="_blank"href="profiloaltri.php?nickname=Gigio78"><font class="uomo" color="#0066FF">Gigio78</font></a></td><td> vota</td>
    <a target="_blank"href="profiloaltri.php?nickname=carlo"><font class="uomo" color="#0066FF">carlo</font></a></td><td><br>con voto:6</td><br><tr><td><a target="_blank"href="profiloaltri.php?nickname=carlo"><font class="uomo" color="#0066FF">carlo</font></a></td><td> vota</td>
    <a target="_blank"href="profiloaltri.php?nickname=Gigio78"><font class="uomo" color="#0066FF">Gigio78</font></a></td><td><br>con voto:8</td><br><tr><td><a target="_blank"href="profiloaltri.php?nickname=carlitos"><font class="uomo" color="#0066FF">carlitos</font></a></td><td> vota</td>
    <a target="_blank"href="profiloaltri.php?nickname=laura"><font class="uomo" color="#0066FF">laura</font></a></td><td><br>con voto:3</td><br><tr><td><a target="_blank"href="profiloaltri.php?nickname=carlitos"><font class="uomo" color="#0066FF">carlitos</font></a></td><td> vota</td>
    <a target="_blank"href="profiloaltri.php?nickname=Gigio78"><font class="uomo" color="#0066FF">Gigio78</font></a></td><td><br>con voto:9</td><br><tr><td><a target="_blank"href="profiloaltri.php?nickname=Gigio78"><font class="uomo" color="#0066FF">Gigio78</font></a></td><td> vota</td>
    <a target="_blank"href="profiloaltri.php?nickname=carlitos"><font class="uomo" color="#0066FF">carlitos</font></a></td><td><br>con voto:1</td><br><tr><td><a target="_blank"href="profiloaltri.php?nickname=laura"><font class="donna" color="#FF99FF">laura</font></a></td><td> vota</td>
    <a target="_blank"href="profiloaltri.php?nickname=carlitos"><font class="donna" color="#FF99FF">carlitos</font></a></td><td><br>con voto:8</td><br><tr><td><a target="_blank"href="profiloaltri.php?nickname=laura"><font class="donna" color="#FF99FF">laura</font></a></td><td> vota</td>
    <a target="_blank"href="profiloaltri.php?nickname=Gigio78"><font class="donna" color="#FF99FF">Gigio78</font></a></td><td><br>con voto:8</td><br>[/html]


  • User Attivo

    Per prima cosa ti consiglierei di cambiare il campo, della tabella del database, relativo al sesso in un INTERO in cui 0 (zero) rappresenta maschio ed 1 (uno) femmina.

    Il problema potrebbe essere nel controllo della foto in cui ne apri e ne chiudi il controllo if.
    A prima vista sembra tutto bene comunque prova e fammi sapere

    Ciao a presto


  • User Attivo

    Ciao,
    il controllo relativo alla foto l ho tolto...ma non camba nulla:?
    Il campo sesso purtroppo non posso cambiarlo..perchè quel valore "maschio" o "femmina" lo uso su un bel pò di pagine..
    Ho notato che facendo cosi'...cioè spezzettando l echo...
    [php]
    $strsql="SELECT nick_votoricevente,nick_votoinviante,datavoto,votoricevuto,sesso,foto FROM voti INNER JOIN iscritti ON nick_votoinviante = nickname ORDER BY datavoto DESC LIMIT 7";

    echo "<tr><td><a target="_blank"href="profiloaltri.php?nickname=".$str_nickvotoinviante.""><font class="$classenick" color="$colore">".$str_nickvotoinviante."</font></a></td><td> vota</td><br>";

    [/php]Qui mi stampa corettamente il colore...però manca la parte relativa alla visualizzazione del nick che riceve il voto..ma se la inserisco mi sballa i colori..
    poi facendo cosi'...cioè cambiando nella query
    ON nick_votoinviante = nickname con ON nick_votoricevente = nickname e sempre spezzettando l echo...
    [php]
    $strsql="SELECT nick_votoricevente,nick_votoinviante,datavoto,votoricevuto,sesso,foto FROM voti INNER JOIN iscritti ON nick_votoricevente = nickname ORDER BY datavoto DESC LIMIT 7";

    echo "<tr><td><a target="_blank"href="profiloaltri.php?nickname=".$str_nickvotoricevente.""><font class="$classenick" color="$colore">".$str_nickvotoricevente."</font></a></td><td>con voto $str_voto</td><br>";

    [/php]Anche cosi' mi stampa correttamente il colore...il problemq e quando uso un unica query e provo ad unire la visualizzazione in un unico echo cosi'..

    [php]

    echo "<tr><td><a target="_blank"href="profiloaltri.php?nickname=".$str_nickvotoinviante.""><font class="$classenick" color="$colore">".$str_nickvotoinviante."</font></a></td><td> vota</td>
    <a target="_blank"href="profiloaltri.php?nickname=".$str_nickvotoricevente.""><font class="$classenick" color="$colore">".$str_nickvotoricevente."</font></a></td><td><br>con voto:$str_voto</td><br>"; [/php]