X

Autorius Tema: Distinct funkcija  (Skaityta 75 kartus)

Neprisijungęs TBagT

  • Naujokas
  • *
  • Įrašai: 19
  • Karma: +0/-0
    • Žiūrėti profilį
Distinct funkcija
« Įrašytas: 2012-05-15 22:05:38 pm »
Sveiki vėl čia taip pat dėl count(IPAS) kaip ir susitvarkiau, bet dabar jai yra daugiau negu trys IPai su tuo pačiu achievement tai vis prideda po 50% nu bent dabar.
$quer = mysql_query( "SELECT DISTINCT count(IPAS), ACHIEVEMENTID as allpl FROM achvforplayers" );<html>
<head>
<link rel='stylesheet' href='style.css'>
<title>THISPLAY Umbrella</title>
<link rel='shortcut icon' href='http://icons.iconarchive.com/icons/deleket/halloween-avatars/16/Zombie-icon.png' type='image/x-icon' />
</head>

</html>

<?php

include "inc/config.php";
include 
"inc/header.php";

$ip=$_SERVER'REMOTE_ADDR' ];
$query "SELECT count(ACHIEVIMENT) as total FROM achievements"
$result mysql_query($query) or die(mysql_error()); 



echo 
"<div id='topSummaryAchievements'>";

include 
"inc/headerachv.php";

$data mysql_query("SELECT * FROM `achievements` ORDER BY `playerhas` DESC"
or die(
mysql_error()); 

while( 
$info mysql_fetch_array$data ) ) { 
echo "<br clear='left' />

<img src='http://cdn.steamcommunity.com/public/images/trans.gif' width='1' height='11' border='0' /><br />

<div class='achieveImgHolder'><img src='"
.$info['achv_image']."' width='64' height='64' border='0' /></div>

<div class='achieveTxtHolder'>"
;
$quer mysql_query"SELECT DISTINCT count(IPAS), ACHIEVEMENTID as allpl FROM achvforplayers" );
if( mysql_num_rows$quer ) > ) {
while( $que mysql_fetch_array$quer ) ) {
$procent 100*$info['playerhas']/$queallpl ];
echo "
<div class='achieveFill'><img src='http://cdn.steamcommunity.com/public/images/skin_1/globalAchieveFill.gif' width='"
.$procent."%' height='62' border='0' /></div>
"
;
echo "<div class='achieveSurround'><img src='http://cdn.steamcommunity.com/public/images/skin_1/globalAchieveSurround.gif' width='768' height='66' border='0' /></div>

<div class='achieveTxt'>

<h3>"
.$info['ACHIEVIMENT'] . "</h3>

<h5>"
.$info['DESCRIPTION']." <font size='1'>( Reward: ".$info['REWARD']."xp )</font></h5>

</div>

<div class='achievePercent'>"
;
printf("%.1f"$procent);
if( $g_playershaveachv == $g_allplayers ) {
echo " %</div>";
}
else {
echo "%<br><font color='grey'>( ".$g_playershaveachv." )</font></div>";
}
}
}
else {
echo "
<div class='achieveFill'><img src='http://cdn.steamcommunity.com/public/images/skin_1/globalAchieveFill.gif' width='0%' height='62' border='0' /></div>
"
;
echo "<div class='achieveSurround'><img src='http://cdn.steamcommunity.com/public/images/skin_1/globalAchieveSurround.gif' width='768' height='66' border='0' /></div>

<div class='achieveTxt'>

<h3>"
.$info['ACHIEVIMENT'] . "</h3>

<h5>"
.$info['DESCRIPTION']." <font size='1'>( Reward: ".$info['REWARD']."xp )</font></h5>

</div>

<div class='achievePercent'>"
;
echo "0%<br><font color='grey'>( 0 )</font></div>";
}
echo "</div>";
}
include 
"inc/footer.php";
?>

Neprisijungęs SniuurksT

  • Naujokas
  • *
  • Įrašai: 117
  • Karma: +1/-1
    • Žiūrėti profilį
Ats: Distinct funkcija
« Atsakymas #1 Įrašytas: 2012-05-15 22:10:29 pm »
Viska paaiškink daug aiškiau, nes dabar nieko neina suprasti, nei kas tau neveikia, nei ką tu nori padaryti.

Neprisijungęs TBagT

  • Naujokas
  • *
  • Įrašai: 19
  • Karma: +0/-0
    • Žiūrėti profilį
Ats: Distinct funkcija
« Atsakymas #2 Įrašytas: 2012-05-15 22:16:52 pm »
Žaidėjai serveryje gauna pasiekimus( achievements ) kai gauna pasiekimą jis yra iškart įrašomas į databazę ir pvz žaidėjas turi 10 pasiekimų tai bus 10 kolonų su tokiu pačiu ip, name bet skirtingu pasiekimo id'u. Ir kai gauna tą pasiekimą kitame table prie pasiekimo kur yra kolona playershas pridedamas dar vienas. Ir man reikia, kad pagrindiniame puslapyje rodytų kiek žaidėjų išviso turi tą pasiekimą procentais tai pagal mane skaičiavimas toks 100*kiek žmonių turi tą pasiekimą / išviso žaidėjų turinčių bet kurį kitą ar tą patį pasiekimą. Tai pvz yra 5 žaidėjai 4 iš jų turi po 1 pasiekimą o penktasis turi 5 pasiekimus tai query neskaičiuotu penkto žaidėjo pasikartojančių kolonų nes query aš atliekų DISTINCT count(IPAS), kad neskaičiuotu to pačio ip tai turėtu vistiek gautis kad yra tik 5 adresai o šiuo metu meta, kad yra 9 žmonės nors yra 5 nes penktasis turi 5 pasiekimus. Tai kaip būtu galima padaryti, kad skaičiuotu normaliai ?

Neprisijungęs TBagT

  • Naujokas
  • *
  • Įrašai: 19
  • Karma: +0/-0
    • Žiūrėti profilį
Ats: Distinct funkcija
« Atsakymas #3 Įrašytas: 2012-05-17 06:57:37 am »
Susitvarkiau pats...

html css photoshop php forumas

Ats: Distinct funkcija
« Atsakymas #3 Įrašytas: 2012-05-17 06:57:37 am »