Ako vypočítať a vypísať z mysql tabuľky percentuálnu hodnotu cez php kód?

07.05.2014 15:32
1
Dobrý deň
Potreboval by som vypočítať z mysql db cez php kód % hodnotu z dvoch hodnôt a vypísať hodnotou na web. Prvá hodnota je v mysql tabuľke pod názvom pocet a druhá hodnota je pod názvom number.
Ako by vyzeral php na výpočet percent z mysql ?
Za ochotu a pomoc vopred ďakujem.
07.05.2014 15:42
2
Dobrý den,
nevím, jestl je na to přímo nějaký výpočet, když se to tahá z databáze, ale protože s tím asi budete nějak pracovat, nahrál bych si hodnoty do proměnné a pak si je matematicky převedl na procenta, něco jako:
Kód:
$percents = ($number/$pocet) * 100;
07.05.2014 16:29
3
Původně odeslal malacanek
Dobrý den,
nevím, jestl je na to přímo nějaký výpočet, když se to tahá z databáze, ale protože s tím asi budete nějak pracovat, nahrál bych si hodnoty do proměnné a pak si je matematicky převedl na procenta, něco jako:
Kód:
$percents = ($number/$pocet) * 100;
to spravis uplne rovnako aj v db:
Select ((number/pocet) * 100) from tabulka
07.05.2014 16:33
4
Já si hlavně nejsem jistý, co je procentuální hodnota z dvou hodnot(pocet a number). Napiš to nějak přesněji, co to je za data a co z toho chceš vypočítat, ať dostaneš přesnou radu.
07.05.2014 16:47
5
Rapidně se tady zvyšuje počet lidí, co nejsou schopni ani položit srozumitelnou otázku :-(
07.05.2014 16:48
6
Původně odeslal Martin Kejzlar
Já si hlavně nejsem jistý, co je procentuální hodnota z dvou hodnot(pocet a number). Napiš to nějak přesněji, co to je za data a co z toho chceš vypočítat, ať dostaneš přesnou radu.
Jedná sa o e-mailovú štatistiku kde v mysql tabulke.:
pocet = počet preklikou
number = fixné číslo teda počet rozoslaních mailov

v databáze sa mení len hodnota pocet.Z týchto dvoch čísiel by som chcel vyrátať úspešnosť mailingu v percentách a k tomu by som potreboval php kód.
07.05.2014 17:01
7
to spravis uplne rovnako aj v db:
Select ((number/pocet) * 100) from tabulka
Samozřejmě, moje blbost...

Z týchto dvoch čísiel by som chcel vyrátať úspešnosť mailingu v percentách a k tomu by som potreboval php kód.
Odpověď už v podstatě máš, nebo pořád nechápu otázku... Akorát se otočí počet a číslo... tudíž to bude
Kód:
SELECT ((pocet/number) * 100) FROM tabulka
normálně přes query
07.05.2014 17:21
8
Momentálne časť toho php kód vyzerá takto.:

PHP kód:
elseif($_GET['idstatistiky']) {    
    
$query="select uid, urlcount, name_mailings, end_date, number, pocet from email_statistic2 WHERE uid=".$_GET['idstatistiky']." LIMIT 1 " ;
    echo 
'<br />';
    
$res mysql_query($query$db_l);
    
    
    if(
mysql_num_rows($res) > 0) {
      while(
$row mysql_fetch_assoc($res)) {
        echo 
'<p align="center">E-mailová kampaň.: <b><i>'.$row['name_mailings'].' </i></b><font color="black"> &nbsp;== &gt; <b> Počet otvorených mailov.: <b><font color="red">'.$row['pocet'].'</b><font color="black"><b>&nbsp; Počet preklikou.: <b><font color="green">'.$row['urlcount'].'<font color="black"><b>&nbsp; Úspešnosť.: <b><font color="blue">'.sem potrebujem premennú?.' % </p></b><br />'
Nejak sa my nedarý vložiť do toho kódu správne.:select ((number/pocet) * 100)
nakoľko ak ho tam dám tak my na stránke vypíše len ((number/pocet) * 100) a nie číslo %.
07.05.2014 17:25
9
Udělal bych to takto:
Kód:
elseif($_GET['idstatistiky']) {     
    $query="select uid, urlcount, name_mailings, end_date, number, pocet from email_statistic2 WHERE uid=".$_GET['idstatistiky']." LIMIT 1 " ; 
    echo '<br />'; 
    $res = mysql_query($query, $db_l); 
     
     
    if(mysql_num_rows($res) > 0) { 
      while($row = mysql_fetch_assoc($res)) {
        $percents = ($row['pocet']/$row['number']) * 100;
        echo '<p align="center">E-mailová kampaň.: <b><i>'.$row['name_mailings'].' </i></b><font color="black"> &nbsp;== &gt; <b> Počet otvorených mailov.: <b><font color="red">'.$row['pocet'].'</b><font color="black"><b>&nbsp; Počet preklikou.: <b><font color="green">'.$row['urlcount'].'<font color="black"><b>&nbsp; Úspešnosť.: <b><font color="blue">'.$percents.' % </p></b><br />';
mělo by to rovnou fungovat
07.05.2014 17:48
10
[QUOTE=malacanek;1085809]Udělal bych to takto:
[CODE]

Dík už to takto funguje.
Skúšal som to tam dať aj ja tak len som toto.:
PHP kód:
$percents = ($row['pocet']/$row['number_mailing']) * 100
mal vložené nad if a tak to nešlo.

Ešte by som sa informoval dá sa to aj zaokrúhliť na napr. 2 desatinné miestá ?
A ak sa dá tak ako?
07.05.2014 17:50
11
PHP: number_format - Manual
07.05.2014 17:53
12
A nebo round
PHP: round

jinak je to jen úryvek kódu, ale vzhledem k tomu, na jaké věci se ptáš, máš ošetřenou tu superglobální proměnnou GET, když ji máš přímo v mysql příkazu?
07.05.2014 18:46
13
$query="select uid, urlcount, name_mailings, end_date, number, pocet from email_statistic2 WHERE uid=".$_GET['idstatistiky']." LIMIT 1 " ;
zabezpec si to