Autor Zpráva
Jan
Profil
Zdravím jsem zčátečník, tak se omlouvám zkušeným uživatelům, jesti je můj dotaz hloupý.
Zdeje můj problém : mám e-shop který pomocí tohoto skriptu níže , vypíše z databáze seznam produktů dané kategorie podle catId. Je to víc než týden snažím se sestrojit totožný skript ale aby zobrazoval zboží podle skupiny.
Skupinu mám vždy uvedenou u produktu pod sloupečkem skupina a označenou číslem od 1 do 5 . Snail sem se nastudovat a přeožit si co který kod znamená v tomto skriptu, v podstate jsme to nejak prelozil az na toto :

$result     = dbQuery(getPagingQuery($sql, $productsPerPage));
$pagingLink = getPagingLink($sql, $productsPerPage, "c=$catId");
$numProduct = dbNumRows($result);


Což si myslím že je nejpodstatnější. Děkuji za pomoc s vytvořením kodu pro vyhledání podle skupiny ...


Zde je kod pro vyhledání podle catId :

<table width="100%"  align="center" >
<?php
if (!defined('WEB_ROOT')) {
	exit;
}

$productsPerRow = 3;
$productsPerPage = 18;

//$productList    = getProductList($catId);
$children = array_merge(array($catId), getChildCategories(NULL, $catId));
$children = ' (' . implode(', ', $children) . ')';

$sql = "SELECT pd_id, pd_name, pd_price, pd_thumbnail, pd_qty, c.cat_id
		FROM tbl_product pd, tbl_category c
		WHERE pd.cat_id = c.cat_id AND pd.cat_id IN $children 
		ORDER BY pd_name";
$result     = dbQuery(getPagingQuery($sql, $productsPerPage));
$pagingLink = getPagingLink($sql, $productsPerPage, "c=$catId");
$numProduct = dbNumRows($result);

// the product images are arranged in a table. to make sure
// each image gets equal space set the cell width here
$columnWidth = (int)(100 / $productsPerRow);
?>

<span  style= "font-family :sans-serif; font-size:14pt; color:#FF8000;">

<?php 
if ($numProduct > 0 ) {

	$i = 0;
	while ($row = dbFetchAssoc($result)) {
	
		extract($row);
		if ($pd_thumbnail) {
			$pd_thumbnail = WEB_ROOT . 'images/product/' . $pd_thumbnail;
		} else {
			$pd_thumbnail = WEB_ROOT . 'images/no-image-small.png';
		}
	
		if ($i % $productsPerRow == 0) {
			echo '<tr>';
		}

		// format how we display the price
		$pd_price = ($pd_price);
		
		echo "<td width=\"$columnWidth%\" align=\"center\"><a href=\"" . $_SERVER['PHP_SELF'] . "?c=$catId&p=$pd_id" . "\"><img src=\"$pd_thumbnail\" border=\"0\"><br>$pd_name</a><br>Cena : $pd_price" ; print (" Kč"); ?>


<span  style= "font-family :sans-serif; font-size:14pt; color:#FF8000;">


<?php
		// if the product is no longer in stock, tell the customer
		if ($pd_qty <= 0) {
			echo "<br>Vyprodáno!";
		}
		
		echo "</td>\r\n";
	
		if ($i % $productsPerRow == $productsPerRow - 1) {
			echo '</tr>';
		}
		
		$i += 1;
	}
	
	if ($i % $productsPerRow > 0) {
		echo '<td colspan="' . ($productsPerRow - ($i % $productsPerRow)) . '">&nbsp;</td>';
	}
	
} else {
?>

</span>

	<tr><td width="100%" align="top" valign="top">Žádné zboží v této kategorii</td></tr>
<?php	
}	
?>


</table>
kazlik
Profil
Nemělo by místo
SELECT pd_id, pd_name, pd_price, pd_thumbnail, pd_qty, c.cat_id
        FROM tbl_product pd, tbl_category c
        WHERE pd.cat_id = c.cat_id AND pd.cat_id IN $children 
        ORDER BY pd_name

být
SELECT pd.id, pd.name, pd.price, pd.thumbnail, pd.qty, c.cat_id
        FROM tbl_product as pd, tbl_category as c
        WHERE pd.cat_id = c.cat_id AND pd.cat_id IN $children 
        ORDER BY pd.name

?
Jan
Profil
Ne ten kod ktery jsem napsal je dobre, funguje vse v poradku, ja jen potrebuji upravit jej pro zobrazeni podle skupiny

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0