where ( merchant_id = $aMerchantID )"; $aDB->query( $aSQL ); if ( $aDB->num_rows() > 0 ) { while ( $aDB->next_record() ) {...

Linki


» Dzieci to nie książeczki do kolorowania. Nie da się wypełnić ich naszymi ulubionymi kolorami.
»
- Gospodarz spodziewał się was wieczorem - powiedział stary...
»
stanowiła możliwość pierwsza tzn...
»
t a k i e p ł ot k i j a k m y
»
Sa˛dziłam, z˙e Leslie to fantastyczny, czaruja˛cy facet...
»
Charakterystycznym rysem katolicyzmu wielkomiejskiego jest więc raczej fakt kształtowania się solidarności w płaszczyźnie globalnej społeczności religijnej, czyli...
»
warunki zostana spelnione, trafiony kolkiem wampir zostaje unieruchomiony...
»
23
»
szernej gotowej już studni z lanej stali, która miała za kilkanaście godzin wystrzelić na księ- życ pierwszy pocisk z zamkniętymi w nim pięcioma...
»
Nynaeve zadrżała...
»
88 — E! — powiada on do mnie ze słodkawą miną...

Dzieci to nie książeczki do kolorowania. Nie da się wypełnić ich naszymi ulubionymi kolorami.

cat_item" );
}
$aTPL->parse( "CATALOG_MAIN_BODY", "cat_body" );
}
else
{
$aTPL->assign( array("CATALOG_MAIN_BODY" => "Brak dostępnych produktów." ) ); Rozdział 15 – Witryny oparte o bazę danych
200

}

$aTPL->assign( array("TITLE" => "Zarządzanie katalogiem produktów",
"MERCHANT_NAME" => GetMerchantName( $aDB, $aMerchantID )
) );


$aTPL->parse( "PAGE_BODY", "page_body" );
$aTPL->parse( "FOOTER", "footer" );
$aTPL->parse( "BODY", "body" );
$aTPL->parse( "PAGE", "base" );
$aTPL->FastPrint( "PAGE" );
?>
Pliki szablonów użyte do wygenerowania tej strony są bardzo podobne do tych, które były używane w skrypcie zarządzającym kategoriami, zamieszczonym na poprzednim wydruku. W skrypcie pokazanym na poprzednim wydruku, do generowania adresów URL dla poszczególnych nazw kategorii, została wykorzystana funkcja GetCategoryHREF(). Funkcja ta wchodzi w skład pliku mgmt_funcs.php i jest przedstawiona na wydruku 15.14. Funkcja ta pozwala na wygenerowanie przez ten skrypt serii statycznych stron na podstawie dynamicznych danych. Metoda ta zostanie opisane szczegółowo w następnym rozdziale.
Wydruk 15.14. Funkcja GetCategoryHREF()
function GetCategoryHREF( $aCatID, $aDynamic = True )
{
if ( $aDynamic == True )
{
return "mgmt_prod_list.phtml?cat_id=$aCatID";
}
else
{
return "mgmt_cat_{$aCatID}.html";
}
}
Na wydruku 15.15. zamieszczony został skrypt wyświetlający produkty. Jest on używany do wyświetlania listy podzielonej na kategorie, listy alfabetycznej oraz wyników wyszukiwania.
Wydruk 15.15. Przykład skryptu wyświetlającego produkty
<?php
error_reporting( E_ALL & ~E_NOTICE );
session_start(); // niejawne ustawianie zmiennej sesji $aMerchantID
if ( empty( $aMerchantID ) == True )
{
print( "Błąd wewnętrzny aplikacji. Brak identyfikatora sprzedawcy." );
exit;
}

include_once( "class.FastTemplate.php" );
include_once( "mgmt_db.php" );
include_once( "mgmt_funcs.php" );

$aMerchantID = 1;

if ( $REQUEST_METHOD == 'POST' ) // Tutaj wchodzimy po wysłaniu danych z formularza
{
$aSQL = "select a.category_id, a.product_id, a.name, a.external_id, a.price, ";
$aSQL .= "a.ship_weight, a.has_image_file, a.descr, b.name as cat_name from ";
$aSQL .= "mcProducts a, mcCategories b where ( a.merchant_id = $aMerchantID) ";
$aSQL .= "and ( a.category_id = b.category_id ) and ( ( upper( a.name ) like ";
$aSQL .= "upper( '%{$SearchTerms}%' ) ) or ( upper( a.descr ) like ";
$aSQL .= "upper( '%{$SearchTerms}%' ) ) ) order by a.name";
}
else
{
if ( empty( $cat_id ) == False ) // lista według kategorii
{
$aSQL = "select a.category_id, a.product_id, a.name, a.external_id, ";
$aSQL .= "a.price, a.ship_weight, a.has_image_file, a.descr, b.name as ";
$aSQL .= "cat_name from mcProducts a, mcCategories b where ";
$aSQL .= "(a.merchant_id = $aMerchantID) and (a.category_id = b.category_id) ";
$aSQL .= "and ( a.category_id = $cat_id ) order by a.name";
}
else // lista alfabetyczna
{
$aSQL = "select a.category_id, a.product_id, a.name, a.external_id, a.price, ";
$aSQL .= "a.ship_weight, a.has_image_file, a.descr, b.name as cat_name from ";
$aSQL .= "mcProducts a, mcCategories b where (a.merchant_id = $aMerchantID) ";
$aSQL .= "and (a.category_id = b.category_id) order by a.name";
}
}
201
PHP – Kompendium wiedzy


$aTPL = new FastTemplate( "." );
$aDB = new mgmt_db();

$aTPL->define( array( "base" => "mgmt_app_base.tpl",
"body" => "mgmt_body.tpl",
"footer" => "mgmt_footer.tpl",
"page_body" => "mgmt_prod_main.tpl",
"prod_item" => "mgmt_prod_item.tpl" ) );

$aDB->query( $aSQL );
if ( $aDB->num_rows() > 0 )
{
while ( $aDB->next_record() )
{

Powered by MyScript