Autor Zpráva
Tata
Profil
gwh mi pomohol dať dhromady nasledujúci scritp:

<?php
$max_sirka = 425; //tu sa nastaví šírka DIVu, v ktorom sa budú zobrazovať výsledky
$rows = $_POST['rows']; //tu by to malo zo zadaných hodnôt vybrať najväčšiu
for($i = 1; $i <= $rows; $i++){
if(isset($suma)){
if($_POST['suma_'.$i] > $suma) $nejvetsi_suma = $_POST['suma_'.$i];
else $nejvetsi_suma = $suma;
}
$suma = $_POST['suma_'.$i];
}
for($i = 1; $i < $rows; $i++){
$nazov = $_POST['nazov_'.$i];
$suma = $_POST['suma_'.$i]; //tu by to malo vypočítať koeficienet, ktorým sa
//budú všetkyzadané hodnoty prepočítavať tak, aby
//sa v grafickom vyjadrení zmestili na šírku do toho DIVu
$koef = $nejvetsi_suma / $max_sirka;
$sirka = $suma / $koef;
if($sirka < 1) $sirka = 3;
$riadok = "
<div>\$suma:$suma</div>
<div>\$nazov:$nazov</div>
<div>\$nejvetsi_suma:$nejvetsi_suma</div>
<div>\$max_sirka:$max_sirka</div>
<div>\$koef:$koef</div>
<div>\$sirka:sirka</div>
//sem príde nejaký 15x15px jednofarebný gif, ktorému sa nastaví šírka prepočítana
//ako suma_i/koef.
echo $riadok;
$soubor = "rozpocet.dat";
$wriadok = $riadok."<br />";
if(File_Exists($soubor)){
$fp = FOpen($soubor, "a");
FWrite($fp, $wriadok);
FClose($fp);
}else echo "Soubor $soubor neexistuje!";
}
?>

Robí to záhadnú chybu, ktorú si nevieme vysvetliť. Ak sa zadá prvá hodnota ako maximálna, prepočty nefungujú.
Ak je však maximum na ktorejkoľvek inej pozícii, je všetko v poriadku.
Skúsi sa na to niekto pozrieť?
Údaje sa zadávajú cez dva formuláre:
V prvom sa zadáva iba počet riadkov. na základe toho sa vygeneruje druhý, ktorom sa zadáva iba názov a suma. Potom sa volá tento script.
Toto téma je uzamčeno. Odpověď nelze zaslat.