Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql] Raport z 3 Tabel - Drop Down Menu .., to był nie najlepszy pomysł :) POST działa OK.
zozol
post
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
młodyphp
post
Post #2





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 3.02.2008

Ostrzeżenie: (0%)
-----


Proszę o cały kod.

Pozdrawiam
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #3





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Kod czego? Zapytania?

Proszę, np. tak:
  1. $sql="INSERT INTO tabela (item, company, date) VALUES ('$item', '$company', NOW())";


Pozdrawiam.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 17:19