![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 5.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam po raz pierwszy i nie ukrywam, że jako nowicjusz w PHP będę wdzięczny za jakąkolwiek pomoc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Kod poniżej przedstawia skrypt raportu dający w wyniku ilość danego produktu zakupionego przez klienta w danym okresie czasu. Cala idea polega na tym, żeby inne osoby były w stanie przygotować podobny raport na stronie. Na chwilę obecną przygotowuję strukturę SELECT w PHP MyAdmin i wrzucam do php a następnie na stronę co daje w wyniku niestety jedynie predefiniowany wynik na podtsawie np nazwy firmy `company` bądz daty `date_added` CODE $zapytanie = 'SELECT `company` , `order_item_sku` , `date_added` , `order_item_name` , SUM( `product_quantity` ) ' . ' FROM `order_item` , `order_user_info` , `order_history`' . ' WHERE (' . ' order_item.order_id = order_user_info.order_id' . ' )' . ' AND ( order_user_info.order_id = order_history.order_id )' . ' AND `order_item_sku` LIKE \'DO6PPFRD\'' . ' GROUP BY `date_added` ' . ' LIMIT 0 , 30 '; $zapytaniesumy = 'SELECT sum( `product_quantity` ) ' . ' FROM `order_item` ' . ' WHERE `order_item_sku` LIKE \'DO6PPFRD\''; $wykonaj = mysql_query($zapytanie); echo ''; while($wiersz = mysql_fetch_array($wykonaj)) { echo '<STRONG><FONT face="Arial, Helvetica, sans-serif">',''.$wiersz['company'].''; echo ''.$wiersz['order_item_sku'].''; echo ''.$wiersz['date_added'].''; echo ''.$wiersz['order_item_name'].''; echo ''.$wiersz['SUM( `product_quantity` )'].''; } echo ''; $pokazsume = mysql_query($zapytaniesumy); echo ''; while($wiersz1 = mysql_fetch_array($pokazsume)) { echo '<STRONG><FONT face="Geneva, Arial, sans-serif">',''.$wiersz['company'].''; echo ''.$wiersz['order_item_sku'].''; echo ''.$wiersz['date_added'].''; echo ''.$wiersz['order_item_name'].''; echo 'TOTAL: '.$wiersz1['sum( `product_quantity` )'].''; } echo ''; ?> function prepareCSV($aData, $sSeparator) { $aCSV = array(); foreach($aData as $aRow) { $aCSV[] = implode($sSeparator, $aRow); } return implode("\n", $aCSV); } ?> $aTransakcje = array(); header("Content-type: application/vnd.ms-excel"); header("Content-disposition: attachment; filename=" . date("Y-m-d").".xls"); header("Pragma: no-cache"); echo prepareCSV($aTransakcje, "\,"); ?> Wiem, że na pewno da się przygotować zmienne zapytanie do bazy czyli SELECT na podstawie np 3 rozwijanych menu - menu 1 wybór `company`- menu 2 wybór `order_item_sku` menu 3 wybór `date_added` Wiem, że spewnością się da to zrobić lecz niestety nie mam specjalnie pojęcia jak (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) Z góry dziękuję za pomoc i pozdrawiam. Czesć i czołem ponownie:) Rozwijane menu do select to był kiepski pomysł. Doszedłem do rozwiązania problemu, więc odpowiem sam sobie i mam nadzieję komuś przy okazji ułatwię życie jeśli będzie miał podobną zagwozdkę (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Należy do pól z tabel np `company` przypisać zmienną np $company następnie definiujemy zmienną $company = $_POST['company']; czyli jej wartość będzie uzyskiwana metodą POST z formularza w zwykłym HTML. Pozostaje zmajstrować formularz z kodem jak poniżej i gotowe. <form action="adres skryptu php" method="post"> <p> <br> Wprowadz kod produktu </p> <p> <input name="product" type="text" size="20"> <br> <br> <input type="submit" value="Zatwierdź"> </p> Jeżli potrzebujemy dodatkowe pola dodajemy i definiujemy dodatkowe zmienne w kodzie PHP i dodajemy w formularzy HTML dodatkowe analogiczne pola.I tak podstawa to zapytanie do bazy więc SELECT powinien mieć ręce i nogi (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Wiem, że metoda prosta jak barszcz ale jako żółtodziób dopiero na nią wpadłem. W praktyce wykorzystana jest jako raport zamówień generowany bezpośrednio do excela i na podstawie tej małej zmiany może go robić każdy definiujac np klienta produkt datę itp. Mam nadzieję że komuś się przydadzą moje bazgroły. (IMG:http://forum.php.pl/style_emoticons/default/rolleyes.gif) Jak ktoś potrzebuje wrzucę cały kod. Czołem (IMG:http://forum.php.pl/style_emoticons/default/aarambo.gif) Ten post edytował zozol 7.11.2007, 11:59:50 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 3.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Proszę o cały kod.
Pozdrawiam |
|
|
![]()
Post
#3
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 17:19 |