| Autor | Zpráva | ||
|---|---|---|---|
| frost Profil |
#1 · Zasláno: 19. 11. 2007, 13:30:06
Zdravím,
cyklus while mi nefunguje. Důvodem je něco ve zvýrazněném textu, ale kde je tedy problém? Ještě podotknu, že při tom jednom cyklu co se provede se zvýrazněná část provede správně. while ($zaznam=MySQL_Fetch_Array($vysledek)): //include '../vypocet_vzdalenosti.php'; $rychlost="6"; if(!isset($rychlost)) $rychlost=1; $rychlost_hriste="0"; $vesnice_x="174";//$_POST["souradnice_x"]; $vesnice_y="59";//$_POST["souradnice_y"]; $x=$vesnice_x-$zaznam["souradnice_x"]; $a=abs($x); if ($a>400) { $a=401-abs((400-$a)); } //echo $a."<br><br>"; $y=$vesnice_y-$zaznam["souradnice_y"]; $b=abs($y); if ($b>400) { $b=401-abs((400-$b)); } //echo $b."<br><br>"; $vysledek=(sqrt((pow($a,2)+pow($b,2)))); //pythagorova věta //echo $vysledek."<br><br>"; if ($vysledek<=30) { $m_vysledek=$vysledek/$rychlost; $hodiny = str_pad(floor($m_vysledek), 2, "0", STR_PAD_LEFT); $zbytek = ($m_vysledek-$hodiny)*60; $minuty = str_pad(floor($zbytek), 2, "0", STR_PAD_LEFT); $zbytek = ($zbytek-$minuty)*60; $sekundy = str_pad(round($zbytek), 2, "0", STR_PAD_LEFT); //echo $hodiny." : ".$minuty." : ".$sekundy; //echo "<br><br>1"; } elseif ($rychlost_hriste==0) { $m_vysledek=$vysledek/$rychlost; $hodiny = str_pad(floor($m_vysledek), 2, "0", STR_PAD_LEFT); $zbytek = ($m_vysledek-$hodiny)*60; $minuty = str_pad(floor($zbytek), 2, "0", STR_PAD_LEFT); $zbytek = ($zbytek-$minuty)*60; $sekundy = str_pad(round($zbytek), 2, "0", STR_PAD_LEFT); //echo $hodiny." : ".$minuty." : ".$sekundy; //echo "<br><br>2"; } else { $vysledek_do30=30/$rychlost; //echo $vysledek_do30."<br><br>"; $vysledek_nad30=($vysledek-30)/$rychlost_hriste; //echo $vysledek_nad30."<br><br>"; $vysledek_celkem=$vysledek_do30+$vysledek_nad30; //echo $vysledek_celkem."<br><br>"; $hodiny = str_pad(floor($vysledek_celkem), 2, "0", STR_PAD_LEFT); $zbytek = ($vysledek_celkem-$hodiny)*60; $minuty = str_pad(floor($zbytek), 2, "0", STR_PAD_LEFT); $zbytek = ($zbytek-$minuty)*60; $sekundy = str_pad(round($zbytek), 2, "0", STR_PAD_LEFT); //echo $hodiny." : ".$minuty." : ".$sekundy; //echo "<br><br>3"; }?> <table border="3" cellspacing="0" width="550"> <tr align="center"><td width="30%"><?php echo $zaznam["vesnice"]?></td><td width="30%"><?php echo $zaznam["jmeno"]?></td><td width="20%"><?php echo $zaznam["narodnost"]?></td><td width="20%"><?php echo $hodiny." : ".$minuty." : ".$sekundy;?></td></tr> </table> <?php endwhile; |
||
| djlj Profil |
#2 · Zasláno: 19. 11. 2007, 13:53:01
cyklus while mi nefunguje
Tak to je smutný. A opravdu se ti z databáze vybere požadovaný počet řádků? |
||
| frost Profil |
#3 · Zasláno: 19. 11. 2007, 14:01:45
Z databáze se vybere pouze jeden záznam ze dvou, pokud odstraním zvýrazněný kód, zobrazí se oba záznamy.
|
||
| nightfish Profil |
#4 · Zasláno: 19. 11. 2007, 14:24:27 · Upravil/a: nightfish
$vysledek=(sqrt((pow($a,2)+pow($b,2)))); //pythagorova věta
tenhle řádek spolehlivě přepíše obsah proměnné $vysledek, která se používá v podmínce cyklu while... :-) |
||
| frost Profil |
#5 · Zasláno: 19. 11. 2007, 14:34:09
Já jsem pták. To je ono.
Omlouvám se za celí tento thread. Pak mě ještě napadlo dát ty výpočty do funkce. To už se samozřejmě zobrazil správný počet záznamů, ale se stejným prvotním výpočtem. Nevíte proč funkce vždy počítala s prvotními hodnotami proměnných $zaznam["souradnice_x"] a $zaznam["souradnice_y"], nebo proč se už nesnažila počítat a jako výsledek vždy vrátila prvotní výpočet? |
||
|
Časová prodleva: 18 let
|
|||
0