Pewnie każdy kto robił sklep www borykał się z tym jak nadać różne atrybury różnym produktom i je wyśwetlać na stronie z opisem produktu w celach informacyjnych
napisałem coś takiego. może troszkę to " zacofany " ale działa bardzo dobrze, szybko i wydajnie . 1 cecha może być przypisana jednej kategori albo wszystkim dziecia danej kategori.
to działa tylko na 11 dzieciach ale tyle kategori dla róznych cech chyba nie ma żaden sklep www.
co o niej myślicie?
Kod
class type {
function atribute($product_id) {
// wartosc typu
$SQL="SELECT patch FROM prg WHERE id='$product_id'";
$RES=sql($SQL); list($patch)=mysql_fetch_row($RES);
//echo "<b>$patch</b><br><BR>";
$patchHow= explode(".", $patch);
//print '<PRE>';
//print_r($patchHow);
$ileparetn = count($patchHow)-1;
if ($ileparetn !='0') {
// sprawdzamy czy kategoria produktu ma cechy
$w = $patchHow[$ileparetn];
$SQL="SELECT cechy FROM grupy WHERE id LIKE '%$w%'";
$RES=sql($SQL);
$licz=mysql_num_rows($RES);
// sprawdzamy jakie cechy maja rodzice
if ($licz!='0') {
$w = $patchHow[$ileparetn];
$SQL="SELECT cechy FROM grupy WHERE id LIKE '%$w%'";
$RES=sql($SQL);
list($cechy)=mysql_fetch_row($RES);
//echo $cechy;
}else{
$w = $patchHow[$ileparetn-1];
$SQL="SELECT cechy FROM grupy WHERE id LIKE '%$w%'";
$RES=sql($SQL);
$licz=mysql_num_rows($RES);
//echo "ostatni parametry zły";
if ($licz!='0') {
$RES=sql($SQL);
list($cechy)=mysql_fetch_row($RES);
//echo $cechy;
}else{
//echo "przed ostatni zły";
$w = $patchHow[$ileparetn-2];
$SQL="SELECT cechy FROM grupy WHERE id LIKE '%$w%'";
$RES=sql($SQL);
$this->licz=mysql_num_rows($RES);
if ($this->licz!='0') {
$RES=sql($SQL);
list($cechy)=mysql_fetch_row($RES);
//echo $cechy;
}else{
//echo "3 od konca zły";
$w = $patchHow[$ileparetn-3];
$SQL="SELECT cechy FROM grupy WHERE id LIKE '%$w%'";
$RES=sql($SQL);
$this->licz=mysql_num_rows($RES);
if ($this->licz!='0') {
$RES=sql($SQL);
list($cechy)=mysql_fetch_row($RES);
//echo $cechy;
}else{
//echo "4 od konca zły";
$w = $patchHow[$ileparetn-4];
$SQL="SELECT cechy FROM grupy WHERE id LIKE '%$w%'";
$RES=sql($SQL);
$this->licz=mysql_num_rows($RES);
if ($this->licz!='0') {
$RES=sql($SQL);
list($cechy)=mysql_fetch_row($RES);
//echo $cechy;
}else{
//echo "5 od konca zły";
$w = $patchHow[$ileparetn-5];
$SQL="SELECT cechy FROM grupy WHERE id LIKE '%$w%'";
$RES=sql($SQL);
$this->licz=mysql_num_rows($RES);
if ($this->licz!='0') {
$RES=sql($SQL);
list($cechy)=mysql_fetch_row($RES);
//echo $cechy;
}else{
//echo "6 od konca zły";
$w = $patchHow[$ileparetn-6];
$SQL="SELECT cechy FROM grupy WHERE id LIKE '%$w%'";
$RES=sql($SQL);
$this->licz=mysql_num_rows($RES);
if ($this->licz!='0') {
$RES=sql($SQL);
list($cechy)=mysql_fetch_row($RES);
//echo $cechy;
}else{
//echo "7 od konca zły";
$w = $patchHow[$ileparetn-7];
$SQL="SELECT cechy FROM grupy WHERE id LIKE '%$w%'";
$RES=sql($SQL);
$this->licz=mysql_num_rows($RES);
if ($this->licz!='0') {
$RES=sql($SQL);
list($cechy)=mysql_fetch_row($RES);
//echo $cechy;
}else{
//echo "8 od konca zły";
$w = $patchHow[$ileparetn-8];
$SQL="SELECT cechy FROM grupy WHERE id LIKE '%$w%'";
$RES=sql($SQL);
$this->licz=mysql_num_rows($RES);
if ($this->licz!='0') {
$RES=sql($SQL);
list($cechy)=mysql_fetch_row($RES);
//echo $cechy;
}else{
//echo "9 od konca zły";
$w = $patchHow[$ileparetn-9];
$SQL="SELECT cechy FROM grupy WHERE id LIKE '%$w%'";
$RES=sql($SQL);
$this->licz=mysql_num_rows($RES);
if ($this->licz!='0') {
$RES=sql($SQL);
list($cechy)=mysql_fetch_row($RES);
//echo $cechy;
}else{
//echo "10 od konca zły";
$w = $patchHow[$ileparetn-9];
$SQL="SELECT cechy FROM grupy WHERE id LIKE '%$w%'";
$RES=sql($SQL);
$this->licz=mysql_num_rows($RES);
if ($this->licz!='0') {
$RES=sql($SQL);
list($cechy)=mysql_fetch_row($RES);
//echo $cechy;
}else{
//echo "10 od konca zły";
$w = $patchHow[$ileparetn-10];
$SQL="SELECT cechy FROM grupy WHERE id LIKE '%$w%'";
$RES=sql($SQL);
$this->licz=mysql_num_rows($RES);
if ($this->licz!='0') {
$RES=sql($SQL);
list($cechy)=mysql_fetch_row($RES);
//echo $cechy;
}else{
//echo "10 od konca zły";
$w = $patchHow[$ileparetn-11];
$SQL="SELECT cechy FROM grupy WHERE id LIKE '%$w%'";
$RES=sql($SQL);
$this->licz=mysql_num_rows($RES);
if ($this->licz!='0') {
$RES=sql($SQL);
list($cechy)=mysql_fetch_row($RES);
//echo $cechy;
}else{
//echo "10 od konca zły";
$w = $patchHow[$ileparetn-12];
$SQL="SELECT cechy FROM grupy WHERE id LIKE '%$w%'";
$RES=sql($SQL);
$this->licz=mysql_num_rows($RES);
if ($this->licz!='0') {
$RES=sql($SQL);
list($cechy)=mysql_fetch_row($RES);
//echo $cechy;
}else{
//echo "10 od konca zły";
$w = $patchHow[$ileparetn-13];
$SQL="SELECT cechy FROM grupy WHERE id LIKE '%$w%'";
$RES=sql($SQL);
$licz=mysql_num_rows($RES);
if ($this->licz!='0') {
$RES=sql($SQL);
list($cechy)=mysql_fetch_row($RES);
//echo $cechy;
}else{
//echo "10 od konca zły";
false;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
if ($w !=''){
$cechy = $cechy;
}else{
$cechy = FALSE;
}
}else{
$cechy = FALSE;
}
return $cechy;
}
function descatrybute($product_id) {
// wartosc cech dla danego produktu
$SQL="SELECT cechy FROM cechy WHERE id_prg='$product_id'";
$RES=sql($SQL); list($cechyDesc)=mysql_fetch_row($RES);
return $cechyDesc;
}
function SeeAtrybuteType($product_id) {
$a = explode(";", $this->atribute($product_id));
$b = explode(";", $this->descatrybute($product_id));
$c = array_combine($a, $b);
return $c;
}
}
function atribute($product_id) {
// wartosc typu
$SQL="SELECT patch FROM prg WHERE id='$product_id'";
$RES=sql($SQL); list($patch)=mysql_fetch_row($RES);
//echo "<b>$patch</b><br><BR>";
$patchHow= explode(".", $patch);
//print '<PRE>';
//print_r($patchHow);
$ileparetn = count($patchHow)-1;
if ($ileparetn !='0') {
// sprawdzamy czy kategoria produktu ma cechy
$w = $patchHow[$ileparetn];
$SQL="SELECT cechy FROM grupy WHERE id LIKE '%$w%'";
$RES=sql($SQL);
$licz=mysql_num_rows($RES);
// sprawdzamy jakie cechy maja rodzice
if ($licz!='0') {
$w = $patchHow[$ileparetn];
$SQL="SELECT cechy FROM grupy WHERE id LIKE '%$w%'";
$RES=sql($SQL);
list($cechy)=mysql_fetch_row($RES);
//echo $cechy;
}else{
$w = $patchHow[$ileparetn-1];
$SQL="SELECT cechy FROM grupy WHERE id LIKE '%$w%'";
$RES=sql($SQL);
$licz=mysql_num_rows($RES);
//echo "ostatni parametry zły";
if ($licz!='0') {
$RES=sql($SQL);
list($cechy)=mysql_fetch_row($RES);
//echo $cechy;
}else{
//echo "przed ostatni zły";
$w = $patchHow[$ileparetn-2];
$SQL="SELECT cechy FROM grupy WHERE id LIKE '%$w%'";
$RES=sql($SQL);
$this->licz=mysql_num_rows($RES);
if ($this->licz!='0') {
$RES=sql($SQL);
list($cechy)=mysql_fetch_row($RES);
//echo $cechy;
}else{
//echo "3 od konca zły";
$w = $patchHow[$ileparetn-3];
$SQL="SELECT cechy FROM grupy WHERE id LIKE '%$w%'";
$RES=sql($SQL);
$this->licz=mysql_num_rows($RES);
if ($this->licz!='0') {
$RES=sql($SQL);
list($cechy)=mysql_fetch_row($RES);
//echo $cechy;
}else{
//echo "4 od konca zły";
$w = $patchHow[$ileparetn-4];
$SQL="SELECT cechy FROM grupy WHERE id LIKE '%$w%'";
$RES=sql($SQL);
$this->licz=mysql_num_rows($RES);
if ($this->licz!='0') {
$RES=sql($SQL);
list($cechy)=mysql_fetch_row($RES);
//echo $cechy;
}else{
//echo "5 od konca zły";
$w = $patchHow[$ileparetn-5];
$SQL="SELECT cechy FROM grupy WHERE id LIKE '%$w%'";
$RES=sql($SQL);
$this->licz=mysql_num_rows($RES);
if ($this->licz!='0') {
$RES=sql($SQL);
list($cechy)=mysql_fetch_row($RES);
//echo $cechy;
}else{
//echo "6 od konca zły";
$w = $patchHow[$ileparetn-6];
$SQL="SELECT cechy FROM grupy WHERE id LIKE '%$w%'";
$RES=sql($SQL);
$this->licz=mysql_num_rows($RES);
if ($this->licz!='0') {
$RES=sql($SQL);
list($cechy)=mysql_fetch_row($RES);
//echo $cechy;
}else{
//echo "7 od konca zły";
$w = $patchHow[$ileparetn-7];
$SQL="SELECT cechy FROM grupy WHERE id LIKE '%$w%'";
$RES=sql($SQL);
$this->licz=mysql_num_rows($RES);
if ($this->licz!='0') {
$RES=sql($SQL);
list($cechy)=mysql_fetch_row($RES);
//echo $cechy;
}else{
//echo "8 od konca zły";
$w = $patchHow[$ileparetn-8];
$SQL="SELECT cechy FROM grupy WHERE id LIKE '%$w%'";
$RES=sql($SQL);
$this->licz=mysql_num_rows($RES);
if ($this->licz!='0') {
$RES=sql($SQL);
list($cechy)=mysql_fetch_row($RES);
//echo $cechy;
}else{
//echo "9 od konca zły";
$w = $patchHow[$ileparetn-9];
$SQL="SELECT cechy FROM grupy WHERE id LIKE '%$w%'";
$RES=sql($SQL);
$this->licz=mysql_num_rows($RES);
if ($this->licz!='0') {
$RES=sql($SQL);
list($cechy)=mysql_fetch_row($RES);
//echo $cechy;
}else{
//echo "10 od konca zły";
$w = $patchHow[$ileparetn-9];
$SQL="SELECT cechy FROM grupy WHERE id LIKE '%$w%'";
$RES=sql($SQL);
$this->licz=mysql_num_rows($RES);
if ($this->licz!='0') {
$RES=sql($SQL);
list($cechy)=mysql_fetch_row($RES);
//echo $cechy;
}else{
//echo "10 od konca zły";
$w = $patchHow[$ileparetn-10];
$SQL="SELECT cechy FROM grupy WHERE id LIKE '%$w%'";
$RES=sql($SQL);
$this->licz=mysql_num_rows($RES);
if ($this->licz!='0') {
$RES=sql($SQL);
list($cechy)=mysql_fetch_row($RES);
//echo $cechy;
}else{
//echo "10 od konca zły";
$w = $patchHow[$ileparetn-11];
$SQL="SELECT cechy FROM grupy WHERE id LIKE '%$w%'";
$RES=sql($SQL);
$this->licz=mysql_num_rows($RES);
if ($this->licz!='0') {
$RES=sql($SQL);
list($cechy)=mysql_fetch_row($RES);
//echo $cechy;
}else{
//echo "10 od konca zły";
$w = $patchHow[$ileparetn-12];
$SQL="SELECT cechy FROM grupy WHERE id LIKE '%$w%'";
$RES=sql($SQL);
$this->licz=mysql_num_rows($RES);
if ($this->licz!='0') {
$RES=sql($SQL);
list($cechy)=mysql_fetch_row($RES);
//echo $cechy;
}else{
//echo "10 od konca zły";
$w = $patchHow[$ileparetn-13];
$SQL="SELECT cechy FROM grupy WHERE id LIKE '%$w%'";
$RES=sql($SQL);
$licz=mysql_num_rows($RES);
if ($this->licz!='0') {
$RES=sql($SQL);
list($cechy)=mysql_fetch_row($RES);
//echo $cechy;
}else{
//echo "10 od konca zły";
false;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
if ($w !=''){
$cechy = $cechy;
}else{
$cechy = FALSE;
}
}else{
$cechy = FALSE;
}
return $cechy;
}
function descatrybute($product_id) {
// wartosc cech dla danego produktu
$SQL="SELECT cechy FROM cechy WHERE id_prg='$product_id'";
$RES=sql($SQL); list($cechyDesc)=mysql_fetch_row($RES);
return $cechyDesc;
}
function SeeAtrybuteType($product_id) {
$a = explode(";", $this->atribute($product_id));
$b = explode(";", $this->descatrybute($product_id));
$c = array_combine($a, $b);
return $c;
}
}
BBcode nie działa ...