Autor Zpráva
qwedsa
Profil
Mam v db tipy uzivatelu a potrebuji aby mi to automaticky vypocitalo body.Body mam porad stejne: 1= 1bod, 0=2body, 2=1bod, 10 a 02 je za 0,5 bodu.A napisu nekde vysledek zapasu a v tom mi to spocita ty body u kazdeho uzivatele.

tabulku v db mam takhle:

jmeno tip100 tip101 tip102
kaja 1 2 0
pitr 0 2 10
okan 2 02 1

Napisu nekde vysledek:
tip100=1
tip101=2
tip102=0

a ted to spocita body u kazdeho uzivatele:
jmeno body
kaja 4
pitr 1,5
okan 0,5


uz mi nekdo psal vysledek ale nejak se v tom nevyznam v tych cislech.
select
uzivatel,
sum(if(vysledek=tip,1,0)*if(vysledek='0',3,1)+if(vysledek in ('1','0') and tip='10',0.5,0)+if(vysledek in ('2','0') and tip='02',0.5,0)) bodu
from tabulky
group by uzivatel


predem vsem dik.
Warden
Profil
nevim jestli je dobrý způsob psát sem neustále jeden dotaz a pokaždé pod jiným nickem...
TSD
Profil
pito zřejmě hledá, kam až může v otravnosti zajít.

Už s tím táhni někam.
qwedsa
Profil
co prosim?Je pravda ze je to tu znuvu.Prevzal jsem to z jednoho vlakna.Ale nevim o co jde o nejakeho pita.Hledam to same.
Joker
Profil
qwedsa
Hledam to same.
Tak tomu se říká náhoda.
Každopádně ale stejný dotaz = do stejného vlákna.
TSD
Profil
Joker
To není až tak velká náhoda. Opravdu náhoda by bylo, kdyby nějaký admin zjistil, že mají stejnou IP adresu.
Kajman_
Profil *
TSD
Opravdu náhoda by bylo, kdyby nějaký admin zjistil, že mají stejnou IP adresu.

Jasně že mají :-)


qwedsa, pito
Co na tom nechápete? Sčítání, násobení nebo funkci if?
http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html#fun ction_if
qwedsa
Profil
v tych cislech
sum(if(vysledek=tip,1,0)*if(vysledek='0',3,1)+if(vysledek in ('1','0') and tip='10',0.5,0)+if(vysledek in ('2','0') and tip='02',0.5,0)) bodu

kde je ten spravny vysledek?
toto? vysledek=tip,1,0
qwedsa
Profil
tabulku v db mam takhle:

jmeno tip100 tip101 tip102
kaja 1 2 0
pitr 0 2 10
okan 2 02 1


takze to bude takhle?
Kajman_
Profil *
Návrh máte fuj.

Zkuste
tipy
uzivatel zapas tip
'kaja' 100 '1'
'kaja' 101 '2'
'kaja' 102 '0
'pitr' 100 '0'
...

vysledky
zapas vysledek
100 '1'
101 '2'
102 '0'

Nepříjemné v návrhu máte, že máte 02 a 2 hodnoty pro tip, což musíte ukládat jako string, aby se v tom dalo rozlišovat.

if(vysledek=tip,1,0)*if(vysledek='0',3,1) --pokud je vysledek stejny jako jeho tip, tak 3 body za remizu jinak 1
+if(vysledek in ('1','0') and tip='10',0.5,0) --pokud tipoval '10' a vysledek by '1' nebo '0' dej půl bodu
+if(vysledek in ('2','0') and tip='02',0.5,0) --pokud tipoval '02' a vysledek by '2' nebo '0' dej půl bodu

A pokud to stále nedokáže pochopit, tak si kupte knížku, nebo si zkuste sehnat peníze na někoho, kdo nemá s matematikou problémy a dokáže to naprogramovat.
qwedsa
Profil
takze vysledky pisu do toho jo?

(vysledek in ('1','0')

jak poznam ktery to je dany zapas
qwedsa
Profil
to musim jeste nekde zapsat aby to poznalo na jaky zapas dal dany tip.
qwedsa
Profil
to uz zapisu potom do group by uzivatel

<tr>
<td>Chelsea - Manchester United</td><td><center>".$Vysledek['100']."</center></td>
</tr>
qwedsa
Profil
mam to takhle:

<td width="100%">
<table><tr>
<td class="tabnov"><br>

<?php
require "db.php";
$query = MySQL_Query("SELECT * FROM `tipy` ORDER BY jmeno") or die (mysql_error());
echo "<table border'1'>";
while($Vysledek = mysql_fetch_array($query))

sum(if(vysledek=tip100,1,0)*if(vysledek='0',3,1)+if(vysledek in ('1','0') and tip='10',0.5,0)+if(vysledek in ('2','0') and tip='02',0.5,0)) bodu {
echo "
<tr>
<td>Chelsea - Manchester United</td><td><center>".$Vysledek['tip100']."</center></td></tr>
<tr>
<td>Wigan - Reading</td><td><center>".$Vysledek['tip101']."</center></td></tr>";
}

echo "</table>";
?>
<br><br><br><br><br><br><br><br><br><br>
</td></tr></table>


a pise mi to chybu:

Parse error: parse error, expecting `')'' in /3w/wz.cz/i/icq5pool/vysledky.php on line 11
qwedsa
Profil
11 radek vychazi to na echo nevim co s tym je
nightfish
Profil
while($Vysledek = mysql_fetch_array($query))

sum(if(vysledek=tip100,1,0)*if(vysledek='0',3,1)+if(vysledek in ('1','0') and tip='10',0.5,0)+if(vysledek in ('2','0') and tip='02',0.5,0)) bodu {

schválně jestli příjdeš na to, který řádek do toho kódu nepatří?

EDIT: to co ti psal Kajman, musí být součástí SQL dotazu
qwedsa
Profil
no 11 radek echo tam nepatri
qwedsa
Profil
omlouvam se ma tam byt Parse error: parse error, expecting `')'' in /3w/wz.cz/i/icq5pool/vysledky.php on line 12
takze 12 radek to je echo
nightfish
Profil
dobře, tak jinak
zaměř svou pozornost na kurzivou vyznačený text v mém příspěvku 11:51:39, konkrétně před výskytem otevírací složené závorky {
qwedsa
Profil
nemuzu najit nic

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: