Autor Zpráva
Mikaelson
Profil *
Ahoj, moc se omlouvám, že obtěžuji tímto dotazem, ale snažím se hromadně updatovat databázi a bohužel mi to nejde :(

Zde je kód:
----------------
$query = "SELECT * FROM players";
$result = mysql_query($query, $connection);
while ($row=mysql_fetch_array($result))[/b]{

$Formacena = ($row[Forma]+1)/2;
$Zapasucelkem = $row["Spielenec"] + $row["Zapasu"];
$Golucelkem = $row["Goly"] + $row["Strelec"];


if ($row["Vek"] == '18') {$Vekcena = 0.7;}
elseif ($row["Vek"] == '19') {$Vekcena = 1;}
elseif ($row["Vek"] == '20') {$Vekcena = 1.1;}
elseif ($row["Vek"] == '21') {$Vekcena = 1.3;}
elseif ($row["Vek"] == '22') {$Vekcena = 1.5;}
elseif ($row["Vek"] == '23') {$Vekcena = 1.6;}
elseif ($row["Vek"] == '24') {$Vekcena = 1.7;}


if ($row["Delka"] == '1') {$Delkacena = 0.7;}
elseif ($row["Delka"] == '2') {$Delkacena = 1;}


if ($Aktualnikolo > 7)
{
if ($row["Zapasu"]/$Aktualnikolo == 0) {$Zapasucena = 0.5;}
elseif ($row["Zapasu"]/$Aktualnikolo >= 0.05 AND $row["Zapasu"]/$Aktualnikolo < 0.1) {$Zapasucena = 0.55;}
elseif ($row["Zapasu"]/$Aktualnikolo >= 0.1 AND $row["Zapasu"]/$Aktualnikolo < 0.15) {$Zapasucena = 0.6;}
elseif ($row["Zapasu"]/$Aktualnikolo >= 0.15 AND $row["Zapasu"]/$Aktualnikolo < 0.2) {$Zapasucena = 0.65;}
elseif ($row["Zapasu"]/$Aktualnikolo >= 0.2 AND $row["Zapasu"]/$Aktualnikolo < 0.25) {$Zapasucena = 0.7;}
elseif ($row["Zapasu"]/$Aktualnikolo >= 0.25 AND $row["Zapasu"]/$Aktualnikolo < 0.3) {$Zapasucena = 0.75;}


if ($row["Pozice"] == 'D') {
if ($row["Goly"]/$Aktualnikolo == 0) {$Golycena = 0.9;}
elseif ($row["Goly"]/$Aktualnikolo > 0 AND $row["Goly"]/$Aktualnikolo < 0.1) {$Golycena = 0.95;}
elseif ($row["Goly"]/$Aktualnikolo >= 0.1 AND $row["Goly"]/$Aktualnikolo < 0.2) {$Golycena = 1;}
elseif ($row["Goly"]/$Aktualnikolo >= 1) {$Golycena = 2;}
}
elseif ($row["Pozice"] == 'M') {
if ($row["Goly"]/$Aktualnikolo == 0) {$Golycena = 0.7;}
}
if ($Aktualnikolo < 8){$Golycena = 1;}

[b]$acenatrh = round($row[Kvalita]*$Vekcena*$Formacena*1000000*$Delkacena*$Zapasucena*$Golycena,-4);





$query = "UPDATE players SET Trznicena = $acenatrh";
$result = mysql_query($query, $connection);


----------------------

Vím, že tímto způsobem to nepůjde a bohužel se mi absolutně nedaří s tím cokoliv udělat...

Kdyby mi kdokoliv mohl poradit, byl bych moc rád.

Ještě 1x dík, Michal
AM_
Profil
1) vkládej pastovaný kód do tagu kódu [ pre ]
2] Co přesně nefunguje (co to má dělat)? věštit neumíme :)
Mikaelson
Profil *
Mno mám databázi hráčů (players) a potřebuji, aby se mi do sloupce (Trznicena) vkládala u každého hráče jiná hodnota v závislosti na $acenatrh = round($row[Kvalita]*$Vekcena*$Formacena*1000000*$Delkacena*$Zapasucena*$Golycena,-4);

mysql_query si s tím nějak prostě neporadí...

Jinak ale stejně děkuji za feedback :)
king26
Profil
$query = "UPDATE players SET Trznicena = $acenatrh";
$result = mysql_query($query, $connection);

timhle ale updatujes vsechny hrace, a zapises do sloupecku Trznicena stejnou hodnotu ne?

pokud by si chtel kazdymu jinou, jako ze chces, musis to dat do toho while() a dat este do SQl podminku, ze nazev_hrace=$row['nazev_hrace']
Mikaelson
Profil *
jj děkuji moc, tohle funguje... Jen mám teď problém, že při sběru z tabulky

[PRE]$query = "SELECT * FROM players";
$result = mysql_query($query, $connection);
while ($row=mysql_fetch_array($result))[/pre]

mi to vždy udělá pouze pro 1 jediného hráče :-(
nightfish
Profil
Mikaelson
protože si výsledek update dotazu uložíš do proměnné $result, a tím si přepíšeš původní dotaz...
takže u updatu si výsledek ukládej (třeba) do $result2 a bude to fungovat
Mikaelson
Profil *
Hustěěěěěě!!!! Díky moc lidi, moc jste mi pomohli!

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: