Annonce

#16 2004-07-26 09:02:15

Treddo,
Invité

Re: Vote

Je viens de m'appercevoir d'une petite erreur, le résultat n'est pas arrondi ce qui peux générer des résultats du style 5,5465465465464.

Voici la modif, il faut remplacer la ligne :

   $voteresultat = $voteresultat / $NbVotant;

par celle ci :

   $voteresultat = round($voteresultat / $NbVotant, 2);

A+

#17 2004-07-26 13:41:49

Marc 77
Membre
Nemours, France
2003-01-04
391

Re: Vote

Correction faite, ça marche.


BSF Test
Dimage A1 AMD 2200Win XP Pro + SP2 PhpWg 1.3.2 IE 6

Hors ligne

#18 2004-07-26 14:26:10

laurie1681
Membre
2004-04-29
98

Hors ligne

#19 2004-07-26 14:43:29

Treddo
Invité

Re: Vote

Désolé Laurie, que veux tu dire par MOD ?
Si c'est un package tout fait, c'est non pour l'instant, j"ai d'autre amélioration en vue.

#20 2004-07-27 14:05:10

Marc 77
Membre
Nemours, France
2003-01-04
391

Re: Vote

Non, Treddo, ce que veut dire Laurie, je pense, est de faire une compil de tes modifs et de le mettre dans la section Mod


BSF Test
Dimage A1 AMD 2200Win XP Pro + SP2 PhpWg 1.3.2 IE 6

Hors ligne

#21 2004-07-27 15:52:06

Treddo
Invité

Re: Vote

Je pense que le mieux est d'attendre d'avoir un truc complet. Je suis sur la liste des photos les mieux notés en affichan le nb de votant, la moyene, l'écart type, la note mini et la note max. Mais j'ai quelque problème à comprendre le réaffichage de la page, je voudrait faire comme pour les 10 plus vues.
J'ai prévu aussi de faire une modif pour ne pas que les détenteurs puissent voter pour leur propres photos sans toucher à la table image d'origine.

Mais c'est comme vous voulez si vous y tenez vraiment je peux le faire.

A+

#22 2004-07-27 20:37:17

laurie1681
Membre
2004-04-29
98

Re: Vote

ok treddo on te laisse faire c dejà très bien mais si tu peux faire encore mieux on patientera. en tous cas merci pour tes efforts

Hors ligne

#23 2004-08-08 20:12:38

dimdim
Invité

Re: Vote

Treddo a écrit:

Si tu veux que les visiteurs aient les memes droit, il faut enlever le début

------------------------------------------------------------------
if ( $user['is_the_guest'])
{
  //Ici je mets des petites images pour les visiteurs
  //     et il ne peuvent pas voter
  $picture_size = get_picture_size( $original_width, $original_height,
                  150, 150 );
  $final_width  = $picture_size[0];
  $final_height = $picture_size[1];
}
else
{
-------------------------------------------------------------------
et aussi la dernière accolade du source à ajouter.

Je ne te garantie pas que ca marche comme cela, je n'est pas essayé

Merci à toi Treddo pour ce mod, c'est bien cool, bon boulot !

Mais j'ai une question: moi je désire que les visiteurs puissent aussi voter. Mais bon j'ai un pti problème, voilà ce qu'il se passe pour le moment:

Pour les membres de la galerie, pas de problème, les votes se comptabilisent bien les uns avec les autres.

Par contre, une fois qu'un visiteur (non-enregistré donc) a voté pour une image, plus aucun autre visiteur ne peut voter... N'y aurait-il pas moyen d'ajouter une ptite portion de code vérifiant l'adresse IP du visiteur, de sorte qu'un visiteur ne puissent plus voter (jusqu'à ce que son IP change) et permettre ainsi à n'importe quel autre visiteur de pouvoir voter?

Grand merci d'avance pour l'info, et j'attends avec impatience l'évolution de ce mod !

#24 2004-08-09 13:09:46

Marc 77
Membre
Nemours, France
2003-01-04
391

Re: Vote

Par contre, une fois qu'un visiteur (non-enregistré donc) a voté pour une image, plus aucun autre visiteur ne peut voter...

Ce qui est assez normal, puisque dans Pwg le "visiteur" est un login à part entière.


BSF Test
Dimage A1 AMD 2200Win XP Pro + SP2 PhpWg 1.3.2 IE 6

Hors ligne

#25 2004-08-09 18:36:20

dimdim
Invité

Re: Vote

Et bien oui effectivement, et c'est pour ça que j'aimerais pouvoir différencier les visiteurs suivant leur IP...

#26 2004-08-25 10:21:43

Treddo
Invité

Re: Vote

Est-ce utile sachant que très peu d'utilisateurs on une IP fixe ?

#27 2004-08-25 10:28:52

dimdim
Membre
Le Roeulx (Belgique)
2004-08-10
13

Re: Vote

Bah non, après avoir bien réfléchi c'est mieux que seuls les membres enregistrés puissent voter, les votes seront comme ça plus équitables.

Treddo, si tu développe une page affichant les miniatures par nombre de votes (genre les 20 photos ayant le + de votes), je suis preneur !

Encore merci pour ton code !


- dim -

Hors ligne

#28 2004-08-25 17:27:58

Treddo
Invité

Re: Vote

J'ai commencé a faire une modif pour afficher les photos classées par vote avec la note mini, la maxi, le Nb de vote et l'écart type mais cela implique trop de modif dans différents fichiers et j'ai donc fais machine arrière pour rester un maximum compatible avec la version originale.

Par contre voici une requette SQL qui pourra te donner les infos

SELECT phpwebgallery_pc_vote.Vote_Id_Image,
AVG( phpwebgallery_pc_vote.Vote_Choix )  AS Note_Moyenne,
STD( phpwebgallery_pc_vote.Vote_Choix )  AS Note_Ecart,
MIN( phpwebgallery_pc_vote.Vote_Choix )  AS Note_Min,
MAX( phpwebgallery_pc_vote.Vote_Choix )  AS Note_Max,
phpwebgallery_images.file,
phpwebgallery_images.name
FROM phpwebgallery_pc_vote
INNER  JOIN phpwebgallery_images ON phpwebgallery_pc_vote.Vote_Id_Image = phpwebgallery_images.id
GROUP  BY phpwebgallery_pc_vote.Vote_Id_Image
ORDER  BY  `Note_Moyenne`  DESC

#29 2004-08-27 13:26:40

Treddo
Invité

Re: Vote

Bonjour,

J'ai fait une petite modif qui ne chamboule pas tout et qui n'est peut etre pas parfaite pour les pro du dev mais qui à le mérite de marcher.

La première affiche les 100 photos les mieux notées et la deuxième les 100 photos les plus controversées. Vous pourrez donc mettre l'une ou l'autre ou les deux si ca vous interresse.

1> dans .\template\default\category.vtp après les lignes suivantes :

              <!--/VTP_favorites-->
              <br />&nbsp;<img src="{#lien_collapsed}" alt="&gt;" />&nbsp;<span style="font-weight:bold;">{#stats}</span>
              <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="{#lien_collapsed}" alt="&gt;" />&nbsp;<a href="{#most_visited_url}"><span title="{#most_visited_cat_hint}" style="font-weight:bold;">{#top_number}&nbsp;{#most_visited_cat}</span></a>
              <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="{#lien_collapsed}" alt="&gt;" />&nbsp;<a href="{#recent_url}"><span title="{#recent_cat_hint}" style="font-weight:bold;">{#recent_cat}</span></a> {#icon_short}


Ajouter :

               <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="{#lien_collapsed}" alt="&gt;" />&nbsp;<a href="./meilleurnote.php"><span title="Les mieux notées" style="font-weight:bold;">Les mieux notées</span></a> {#icon_short}
               <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="{#lien_collapsed}" alt="&gt;" />&nbsp;<a href="./controverse.php"><span title="Les plus controversées" style="font-weight:bold;">Les plus controversées</span></a> {#icon_short}

2> créer un fichier .\controverse.php pour les + controversées avec ceci comme code:

<?php
$title = "Les Notes";
include_once( './include/init.inc.php' );
initialize_category();

//----------------------------------------------------- template initialization
include('include/page_header.php');
$handle = $vtp->Open( './template/'.$user['template'].'/category.vtp' );
initialize_template();

//------------------------------------------------------------------
//Les meilleurs
//------------------------------------------------------------------

  $array_cat_directories = array();
  $query = "SELECT ".PREFIX_TABLE."pc_vote.Vote_Id_Image, ";
  $query.= "COUNT(  ".PREFIX_TABLE."pc_vote.Vote_Choix )  AS Note_Votes, ";
  $query.= "AVG(  ".PREFIX_TABLE."pc_vote.Vote_Choix )  AS Note_Moyenne, ";
  $query.= "STD(  ".PREFIX_TABLE."pc_vote.Vote_Choix )  AS Note_Ecart, ";
  $query.= "MIN(  ".PREFIX_TABLE."pc_vote.Vote_Choix )  AS Note_Min, ";
  $query.= "MAX(  ".PREFIX_TABLE."pc_vote.Vote_Choix )  AS Note_Max, ";
  $query.= PREFIX_TABLE."images.name, ";
  $query.= PREFIX_TABLE."images.file, ";
  $query.= PREFIX_TABLE."images.filesize, ";
  $query.= PREFIX_TABLE."images.tn_ext, ";
  $query.= PREFIX_TABLE."images.storage_category_id ";
  $query.= "FROM   ".PREFIX_TABLE."pc_vote ";
  $query.= "INNER JOIN   ".PREFIX_TABLE."images ON   ".PREFIX_TABLE."pc_vote.Vote_Id_Image =  ".PREFIX_TABLE."images.id ";
  $query.= "GROUP  BY  `Vote_Id_Image`";
  $query.= "ORDER BY Note_Ecart DESC LIMIT 0,100";
  $result = mysql_query( $query );

  while ( $row = mysql_fetch_array( $result ) )
  {
    // retrieving the storage dir of the picture
    if ( !isset($array_cat_directories[$row['storage_category_id']]))
    {
      $array_cat_directories[$row['storage_category_id']] =
        get_complete_dir( $row['storage_category_id'] );
    }
    $cat_directory = $array_cat_directories[$row['storage_category_id']];

    $file = get_filename_wo_extension( $row['file'] );

    // thumbnail url
    $thumbnail_url = $cat_directory;
    $thumbnail_url.= 'thumbnail/'.$conf['prefix_thumbnail'];
    $thumbnail_url.= $file.'.'.$row['tn_ext'];


    echo '<p align="center">';
    echo '<table border>';
    echo '<tr><td rowspan="2" width="165" height="165"> <p align="center"><img src="' .$thumbnail_url .'"</p> </td> ';
    echo '<td width="300"><p align="center">';
    if ($row['name'] != '')
    {
        echo $row['name'] ;
    }
    else
    {
        echo $row['file'] ;
    }
    echo '</p></td></tr>';

    echo '<tr><td width="300">';
    echo '<blockquote>';
    echo '<br /><br />  Nb Votes  = ' .$row['Note_Votes'] ;
    echo '<br />  Moyenne   = ' .round($row['Note_Moyenne'] ,2) ;
    echo '<br />  Ecart     = ' .round($row['Note_Ecart'] ,2) ;
    echo '<br />  Min       = ' .$row['Note_Min'] ;
    echo '<br />  Max       = ' .$row['Note_Max'] .'</td>';
    echo '</blockquote>';
    echo '</td>    </tr>';
    echo '</table>';
    echo '</p>';

  }

include('include/page_tail.php');

?>

3> créer un fichier ./meilleurnote.php pour les mieux notées identique au précédent sauf la ligne :

  $query.= "ORDER BY Note_Ecart DESC LIMIT 0,100";

qu'il faut remplacer par :

  $query.= "ORDER BY Note_Moyenne DESC LIMIT 0,100";

Voila ca marche si vous voulez + ou moins de photos vous changez la LIMIT.
Je l'ai mis en place sur mon site si vous voulez allez voir http://galerie1.free.fr

A+

#30 2004-08-27 17:00:11

dimdim
Membre
Le Roeulx (Belgique)
2004-08-10
13

Re: Vote

hum j'ai une erreur au lancement de ma page de résultats de vote qui dit que "mysql_fetch_array(): supplied argument is not a valid MySQL" à la ligne 33... ligne ou il y a while ( $row = mysql_fetch_array ( $result ) )

?!


- dim -

Hors ligne

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact