Witam,
Mój problem wygląda tak:
W pliku test.php utworzylem formularz:
<?php
if($_SESSION["access"]=="yes")
{
echo '<form method="POST" action="index.php?module=brown">
<p>Rok: <select name="rok">
<option value="2009">2009</option>
<option value="2010">2010</option>
</select></p>
<!-- <p>Miesiąc: <select name="miesiac">
<option value="1">Styczeń</option>
<option value="2">Luty</option>
<option value="3">Marzec</option>
<option value="4">Kwiecień</option>
<option value="5">Maj</option>
<option value="6">Czerwiec</option>
<option value="7">Lipiec</option>
<option value="8">Sierpień</option>
<option value="9">Wrzesień</option>
<option value="10">Październik</option>
<option value="11">Listopad</option>
<option value="12">Grudzień</option>
<br></br>
-->
<p><input type="submit" value="BROWN"/></p>
</select></p>
</form>';
} else
{
echo "<b>Błąd:</b> musisz być zalogowany!"; }
?>
po wejściu na strone index.php?module=test przechodze do powyższego pliku.
W liscie wybieranej wybieram przykladowo rok 2009.
Pojawia się lista z produktami.
//poniżej fragment listy

Po kliknięciu przykładowo na produkt pierwszy pojawia się komunikat
Błąd: nie znaloziono produktu!
Produkt taki napewno istnieje, myśle że zmienna $_POST["rok"] nie jest przekazywana....
Jestem początkującym więc proszę o wyrozumiałość.
Poniżej źródło pliku brown.php
<?php
//$rok=2009; //Rok obiegowy (rok dla którego chcemy prognozować)
$rok=$_POST["rok"];
$miesiac=5; //Zakres 1-12 (miesiąc dla którego chcemy prognozować)
$typ_dokument="WZ"; //Typ dokumentu
$alfa = 0.3; //Alfa - stała wygładzania
if($_SESSION["access"]=="yes")
{
//-----------------------------------
//============= Start ===============
//-----------------------------------
if(isSet($_GET["produkt"])) {
//---- obsługa --------------------------------------------------------------------
if($miesiac==1) //Prognoza od (ogólnie)
{
$set_miesiac_od=10;
$set_rok_od=$rok-1;
} elseif($miesiac==2)
{
$set_miesiac_od=12;
$set_rok_od=$rok-1;
} else
{
$set_miesiac_od=1;
$set_rok_od=$rok;
}
if($miesiac==1) //Prognoza do (ogólnie)
{
$set_miesiac_do=12;
$set_rok_do=$rok-1;
} elseif($miesiac==2)
{
$set_miesiac_do=1;
$set_rok_do=$rok;
} else
{
$set_miesiac_do = $miesiac-1;
$set_rok_do=$rok;
}
if($miesiac==1)
{
$ile_krokow = 2;
} elseif($miesiac==2)
{
$ile_krokow = 2;
} else
{
$ile_krokow = $miesiac-1; //w przy 4 m-cu wychozi liczba kroków 3
}
//$aktualny_krok - jesli jeden oblicz kiwany
$query = "SELECT `INDEKS`, SUM(ILOSC) AS `SUMA` FROM `archiwum` WHERE `INDEKS`='".$_GET["produkt"]."' AND `ROK_OB`='".$rok."' AND `MIESIAC_OB`='".$miesiac."' AND `DOKUMENT`='".$typ_dokument."' GROUP BY `INDEKS` LIMIT 1 ";
if($numbers_records!=0)
{
//$aktualny_krok=0;
$analizowany_miesiac=$set_miesiac_od;
$analizowany_rok=$set_rok_od;
function prognoza($ilosc_wydan, $analizowany_rok, $analizowany_miesiac, $ile_krokow, $typ_dokument, $alfa)
{
//Aktualny_krok - $x
$ile_krokow++;
for($x=1; $x<=$ile_krokow; $x++)
{
$query = "SELECT `INDEKS`, SUM(ILOSC) AS SUMA FROM `archiwum` WHERE `INDEKS`='".$_GET["produkt"]."' AND `ROK_OB`='".$analizowany_rok."' AND `MIESIAC_OB`='".$analizowany_miesiac."' AND `DOKUMENT`='".$typ_dokument."'";
{
{
$miesiac[$analizowany_miesiac]=0;
} else
{
$miesiac[$analizowany_miesiac]=$row['SUMA'];
}
//$more_records - Kroki od 3-11 (w zależności ile kroków optrzeba, zmienna żeby wyjść poza while)
}
if($x==1)
{
$pierwszy_krok_ilosc_wydan=$miesiac[$analizowany_miesiac];
}
if($analizowany_miesiac==12)
{
$analizowany_rok=$analizowany_rok+1;
$analizowany_miesiac=1;
} else
{
$analizowany_miesiac=$analizowany_miesiac+1;
}
if($x==2)
{
$prognoza[$x]=$pierwszy_krok_ilosc_wydan; //Wynik prognozy naiwnej przepisanej z kroku pierwszego
}
if($x<=$ile_krokow && $x!=1 && $x!=2)
{
$prognoza[$x]=($miesiac[$x-1]*$alfa)+$prognoza[$x-1]*(1-$alfa);
}
if($x==$ile_krokow)
{
$result=$prognoza[$x];
}
/*
echo "<br /><br /><b>krok ".$x."</b><br />";
echo "analizowany_miesiac: [".$analizowany_miesiac."]<br />";
echo "analizowany_rok: [".$analizowany_rok."]<br />";
echo "pierwszy_krok_ilosc_wydan: [".$pierwszy_krok_ilosc_wydan."]<br />";
echo "alfa: [".$alfa."]<br />";
*/
}
/*
echo "<br /><br />";
echo "\$miesiac[]";
echo "<pre>";
print_r($miesiac);
echo "</pre>";
echo "\$prognoza[]";
echo "<pre>";
print_r($prognoza);
echo "</pre>";
*/
}
echo '<a href="index.php?module=brown">Wróć do spisu produktów</a>'; <tr>
<th>Produkt (indeks)</th>
<th>Ilość wydań na miesiąc</th>
<th>Prognoza na '.$miesiac.'m-c '.$rok.'r.</th>
</tr>';
{
echo '<td>'.$row['INDEKS'].'</td>'; echo '<td>'.$row['SUMA'].'</td>'; prognoza($ilosc_wydan, $analizowany_rok, $analizowany_miesiac, $ile_krokow, $typ_dokument, $alfa);
}
} else
{
echo "<b>Błąd:</b> nie znaloziono produktu!"; <th>TEST</th>';
}
//---- obsługa --------------------------------------------------------------------
} else
{
$query = "SELECT DISTINCT `INDEKS`, SUM(ILOSC) AS SUMA FROM `archiwum` WHERE `ROK_OB`='".$rok."' AND `MIESIAC_OB`='".$miesiac."' AND `DOKUMENT`='".$typ_dokument."' GROUP BY `INDEKS` ORDER BY `SUMA` DESC";
echo "Rok: ".$rok."<br />"; echo "Miesiąc: ".$miesiac."<br />";
<tr>
<th>Lp.</th>
<th>Produkt (indeks)</th>
<th>Ilość wydań na miesiąc</th>
</tr>';
$lp=1;
{
echo '<td><a href="index.php?module=brown&produkt='.$row['INDEKS'].'&rok='.$rok.'">'.$row['INDEKS'].'</a></td>'; echo '<td>'.$row['SUMA'].'</td>'; $lp++;
}
}
//-----------------------------------
//============= Koniec ==============
//-----------------------------------
} else
{
echo "<b>Błąd:</b> musisz być zalogowany!"; }
?>
Ten post edytował kowalx 16.08.2010, 14:20:31