0 AND prodotti.attivo>0) GROUP BY(classi.classe) ORDER BY riordina"; $classi = mysql_query($query) or die(mysql_error()); /* incrementa contatore */ counter_inc("prodotti",$id); /* usata per calcolare prec e succ e per fare la lista 'altre...' */ $query = "SELECT `prodotti`.* FROM `prodotti` WHERE ((`prodotti`.`classe` = ".$linea[classe].") AND (`prodotti`.`attivo` >0)) ORDER BY ordine ASC"; $thisclass = mysql_query($query) or die("Query fallita (thisclass)"); /* cerca precedente e successivo nella stessa classe */ $a=0; $b=0; $succ=0; $prec=0; $q_prec=""; $q_succ=""; while ($r = mysql_fetch_array($thisclass, MYSQL_ASSOC)) { if ($a>0) { $a=0; $succ=$r[id_prodotto]; // chiama la scheda per marca e modello, google maledetto $q_succ="marca=".urlencode($r[marca])."&modello=".urlencode($r[modello]); } if ($r[id_prodotto]==$linea[id_prodotto]) { $a=$linea[id_prodotto]; $prec=$b; } if ($prec==0) { $b=$r[id_prodotto]; // chiama la scheda per marca e modello, google maledetto $q_prec="marca=".urlencode($r[marca])."&modello=".urlencode($r[modello]); } } mysql_free_result($thisclass); // intestazioni ********************************************************************************* // prepara le intestazioni pagina // calcola titolo $titolo="Elektrocar showcase"; $a=$linea[marca]; if ($linea[marca] && $linea[modello]) $a.=" "; $a.=$linea[modello]; $a=ucwords(strtolower($a)); if ($a) $titolo=$a." - ".$titolo; // calcola meta description $description=ucfirst($linea[descr_classe]); if ($description && $a) $description.=" "; $description.=$a; if ($description) $description.=", scheda tecnica e allestimenti."; else $description.="Scheda tecnica e allestimenti."; // calcola meta keyword $keywords=kwlist($linea[singolare], $linea[nome_esteso], $linea[descr_classe], $linea[marca], $linea[modello], $linea[keywords]); // calcola marca e modello per altri usi $mm=$linea[marca]; if ($linea[marca] && $linea[modello]) $mm.=" "; $mm.=$linea[modello]; echo "\n"; echo "\n"; echo "\n"; echo "\n$titolo"; echo "\n"; echo "\n"; echo "\n\n"; echo "\n"; echo "\n"; shortcut_icon(); // intestazioni ********************************************************************************* ?>
Preview mode"; else echo ""; ?>
ELEKTROCAR - C'è una farfalla in città
"; if ($classi) mysql_data_seek($classi,0); while ($classe = mysql_fetch_array($classi, MYSQL_ASSOC)) { echo "   \"\""; if ($classe[id_classe]==$cl) echo ""; echo strtolower($classe[classe]); if ($classe[id_classe]==$cl) echo ""; echo ""; } echo ""; ?>
 


"; if ($classi) mysql_data_seek($classi,0); while ($classe = mysql_fetch_array($classi, MYSQL_ASSOC)) { echo "   \"\""; if ($classe[id_classe]==$cl) echo ""; echo strtolower($classe[classe]); if ($classe[id_classe]==$cl) echo ""; echo ""; } echo ""; ?>
\n\n"; echo "Elektrocar"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "
"; echo "Catalogo veicoli elettrici e minivetture"; echo "
"; echo "\n\n"; } ?> "; echo ""; // tabella 3 colonne echo ""; // link statici echo ""; // altri stessa classe echo ""; // altri stessa marca echo ""; // fine 3 colonne echo "
"; // album immagini $query = "SELECT * FROM album WHERE id_prodotto=$linea[id_prodotto]"; $album = mysql_query($query) or die("Query fallita (check album)"); $a=mysql_num_rows($album); mysql_free_result($album); if ($a) { $q="marca=".urlencode($linea[marca])."&modello=".urlencode($linea[modello]); echo "\"\"galleria immagini
"; } // sito costruttore if ($linea[web]) { echo "\"\""; echo "sito web {$linea[marca]}
"; } // richiesta info echo "\n"; echo "\n
"; echo "\n "; echo ""; echo ""; echo "\n
\"Richiedirichiedi informazioni
su questo veicolo
"; echo "\n
"; echo "\n"; echo "
"; $query="SELECT id_prodotto, marca, modello FROM prodotti WHERE (classe=$linea[classe] AND attivo>0) ORDER BY ordine ASC "; $res = mysql_query($query) or die("Query fallita ".mysql_error()); if (mysql_num_rows($res)>1) { // almeno un'altro prodotto echo "$linea[nome_esteso]
"; while ($r = mysql_fetch_array($res, MYSQL_ASSOC)) { $q="marca=".urlencode($r[marca])."&modello=".urlencode($r[modello]); $d=$r[marca]; if ($r[marca] && $r[modello]) $d.=" "; $d.=$r[modello]; if ($r[id_prodotto]==$linea[id_prodotto]) echo "$d
"; else echo "$d
"; } } mysql_free_result($res); echo "
"; $query="SELECT id_prodotto, marca, modello FROM prodotti WHERE (marca=\"$linea[marca]\" AND attivo>0) ORDER BY classe ASC, ordine ASC"; $res = mysql_query($query) or die("Query fallita ".mysql_error()); if (mysql_num_rows($res)>1 && $linea[marca]) { // almeno un'altro prodotto echo "Tutti i modelli $linea[marca]
"; while ($r = mysql_fetch_array($res, MYSQL_ASSOC)) { $q="marca=".urlencode($r[marca])."&modello=".urlencode($r[modello]); $d=$r[marca]; if ($r[marca] && $r[modello]) $d.=" "; $d.=$r[modello]; if ($r[id_prodotto]==$linea[id_prodotto]) echo "$d
"; else echo "$d
"; } } mysql_free_result($res); echo "
"; echo ""; } function part_head(&$linea) // intestazione con smarties { // normalmente esistono sempre tutti i dati $prezzo=$linea[prezzo]; echo "\n"; echo ""; // tabella 3 colonne echo "\n"; // marca echo ""; // immagine se esiste $img="immagini/".$linea[id_prodotto]."main".$linea[img_main].".jpg"; if (file_exists($img)) { echo ""; } // descrizione classe (allinea top o bottom a seconda del prezzo) if ($prezzo) echo ""; else echo ""; echo ""; // modello echo ""; // prezzo echo ""; // fine tabella 3 colonne echo "
"; $img="immagini/".$linea[id_prodotto]."logo".$linea[img_logo].".jpg"; if (file_exists($img)) { $size = getimagesize($img); echo "\n\"$linea[marca]\""; } else echo "$linea[marca]"; echo ""; $size = getimagesize($img); $d=$linea[marca]; if ($linea[marca] && $linea[modello]) $d.=" "; $d.=$linea[modello]; echo "\n\"$d\""; echo "$linea[descr_classe]$linea[descr_classe]
"; $img="immagini/".$linea[id_prodotto]."name".$linea[img_name].".jpg"; if (file_exists($img)) { $size = getimagesize($img); echo "\n\"$linea[modello]\""; } else echo "$linea[modello]"; echo ""; if ($prezzo>0) { /* // tabella lampeggiante echo "
"; // punto migliaia if ($prezzo>1000) $prezzo=substr($prezzo,0,-3).".".substr($prezzo,-3); echo " € $prezzo,00 "; // fine tabella lampeggiante echo "
"; echo "\n

$linea[legal]"; */ $a=number_format($prezzo,0,",","."); echo "\n
"; echo "\n
"; echo "€ $a"; echo ",00"; if ($linea[note_prezzo]) echo "
+iva  
"; echo "\n
"; echo "\n
"; if ($linea[legal]) echo "\n
$linea[legal]"; } echo "
"; echo "\n"; // smarties $query = "SELECT * FROM smarties"; $smarties = mysql_query($query) or die("Query fallita (smarties)"); $f=0; // conta smarties validi e attivi while ($a = mysql_fetch_array($smarties, MYSQL_ASSOC)) if (((int)$linea[smarty]) & ((int)$a[id_smarty])) $f=1; if ($f) { echo "\n"; echo ""; mysql_data_seek($smarties,0); while ($a = mysql_fetch_array($smarties, MYSQL_ASSOC)) if (((int)$linea[smarty]) & ((int)$a[id_smarty])) echo " \"-\"$a[descrizione] "; echo "\n"; } mysql_free_result($smarties); // separatore echo "\n\"\""; } function s_tabella($colonna, $titolo, &$nomi, &$caratt) // corpo tabella per part_scheda { echo "\n"; echo "\n$titolo"; echo "\n"; $b=1; // prima riga verde // separatore gruppi $ult=0; $spazio=0; $primo=1; // mai spazio nella prima riga while ($a=mysql_fetch_array($nomi)) { if ($a[colonna]==$colonna) { // è caratteristica tecnica // separatore gruppi se ordine si incrementa di più di uno if (($a[ordine]>$ult+1)) $spazio=1; $ult=$a[ordine]; if ($caratt[$a[id_nomecaratt]]) { // contiene dati validi if ($spazio && !$primo) { // separa gruppi con riga vuota if ($b) echo "\n"; else echo "\n"; echo "\n"; $b=!$b; $spazio=0; } if ($b) echo "\n"; else echo "\n"; echo "\n"; echo "\n"; echo ""; $b=!$b; $primo=0; // una riga è stata scritta, abilita spazi separatori } } } // ultima riga sempre verde if ($b) echo""; echo "
  
{$a[nome]}"; if ($a[note]) echo " ({$a[note]})"; echo ":{$caratt[$a[id_nomecaratt]]}
  
"; echo ""; } function part_scheda($id) // scheda tecnica e prestazioni { // caratteristiche $query = "SELECT * FROM caratteristiche WHERE (id_prodotto=$id )"; $res = mysql_query($query) or die("Query fallita (caratteristiche)"); $caratt = mysql_fetch_array($res, MYSQL_NUM); mysql_free_result($res); // nomi caratteristiche attivi $query="SELECT * FROM nomicaratt ORDER BY ordine ASC "; $nomi=mysql_query($query) or die("Query fallita (nomi scheda tecnica e prestazioni)"); $num_st=0; // numero voci scheda tecnica valide while ($a=mysql_fetch_array($nomi)) if ($a[colonna]=="caratt tecn" && $caratt[$a[id_nomecaratt]]) $num_st++; mysql_data_seek($nomi,0); $num_pr=0; // voci scheda prestazioni valide while ($a=mysql_fetch_array($nomi)) if ($a[colonna]=="prestaz" && $caratt[$a[id_nomecaratt]]) $num_pr++; if ($num_st || $num_pr) { // c'è almeno una voce? echo "\n\n"; echo "\n\n"; if ($num_st) { // scheda tecnica mysql_data_seek($nomi,0); s_tabella("caratt tecn","Scheda tecnica",$nomi,$caratt); } if ($num_pr) { // prestazioni mysql_data_seek($nomi,0); s_tabella("prestaz","Prestazioni e costi",$nomi,$caratt); } if ($num_st==0 || $num_pr==0) { // cella vuota per mantenere giustificato echo ""; } echo "\n
"; echo "\n"; // separatore echo "\n\"\""; } mysql_free_result($nomi); } function part_opzioni($id) // versioni, accessori e colori { // determina il set di dati // versioni $query = "SELECT versioni.* FROM versioni WHERE (versioni.id_prodotto =$id )"; $res = mysql_query($query) or die(mysql_error()); $versioni = mysql_fetch_array($res, MYSQL_NUM); mysql_free_result($res); // accessori $query = "SELECT * FROM accessori WHERE (id_prodotto = $id AND accessorio<>\"\" ) ORDER BY id_accessorio ASC"; $accessori = mysql_query($query) or die(mysql_error()); // colori $query = "SELECT * FROM colori WHERE (id_prodotto = $id AND colore<>\"\" )"; $colori = mysql_query($query) or die(mysql_error()); $num_acc=mysql_num_rows($accessori); $num_col=mysql_num_rows($colori); $num_ena=0; $num_ver=0; for ($a=1; $a<10; $a=$a+2) { if ($versioni[$a]) $num_ena++; /* conta enabled */ if ($versioni[$a+1]) $num_ver++; /* conta nomi versioni */ } if ($num_ena && $num_acc || $num_col) { // accessori o colori? echo "\n\n"; echo "\n\n"; if ($num_ena && $num_acc) { // cella accessori echo "\n\n"; } // fine accessori if ($num_col) { // colori echo "\n\n"; } // fine colori echo "\n
"; echo "\nAccessori"; echo ""; // riga nomi versioni echo ""; // larghezza colonne a seconda di quante sono if ($num_ena==1) $y=60; if ($num_ena==2) $y=30; if ($num_ena==3) $y=20; if ($num_ena==4) $y=15; if ($num_ena==5) $y=12; // nomi versioni for ($a=1; $a<10; $a=$a+2) { if ($versioni[$a]) echo ""; } echo "\n"; // lista vera e propria $b=0; while ($acc = mysql_fetch_array($accessori, MYSQL_NUM)) { if ($b) echo ""; else echo ""; echo ""; for ($a=1; $a<10; $a=$a+2) { if ($versioni[$a]) echo ""; } echo "\n"; $b=!$b; } // ultima riga sempre verde if ($b) echo""; // chiudi tabella e legenda echo "
"; if ($num_ver) echo " "; echo "  {$versioni[$a+1]} 
{$acc[2]}{$acc[($a+5)/2]}
  

(-) non fornibile      (o) optional      (s) di serie
"; echo "
"; echo "\nColori disponibili"; // cornice echo "\n\n
"; echo "\n"; $a=0; // a capo ogni tre $vaiacapo=0; while ($r = mysql_fetch_array($colori, MYSQL_ASSOC)) { $a++; if ($vaiacapo) { // altrimenti fa una riga vuota se tornano le celle divisibili echo ""; $vaiacapo=0; } echo "\n"; // a capo ogni tre if ($a==3) { $vaiacapo=1; $a=0; } } // spazio piede tabella echo""; // fine cornice echo "\n
"; echo " 
"; echo "\n
 
"; echo ""; echo strtolower($r[colore]); echo "
 
"; echo "
"; echo "\n"; echo "\n\"\""; } mysql_free_result($accessori); mysql_free_result($colori); } function d_immagine($align,$img,$titolo) // per funzione descrivi { if (file_exists($img)) { $size = getimagesize($img); echo "\n\"$titolo\""; } } function d_scritto($align,$titolo, $testo) // per funzione descrivi { if ($titolo || $testo) { echo "\n"; if ($titolo) echo "$titolo"; if ($titolo && $testo) echo "
"; if ($testo) echo "$testo"; echo ""; } } function descrivi($layout,$img,$titolo,$testo,$mm) // singolo campo descrittivi { // testo alternativo per immagine $alt=$mm; if ($mm && $titolo) $alt.=" "; $alt.=strtolower($titolo); $testo=$a=str_replace(chr(10),"
",$testo); if (!file_exists($img)) $img=""; if ($layout && ($img || $titolo || $testo)) { echo "\n "; echo "\n\n"; if ($layout==1) { // immagine a sinistra echo "\n"; d_immagine("left",$img,$alt); d_scritto("left",$titolo,$testo); echo ""; } if ($layout==2) { // immagine a destra echo "\n"; d_scritto("left",$titolo,$testo); d_immagine("left",$img,$alt); echo ""; } if ($layout==3) { // immagine sopra if ($img) { echo "\n"; d_immagine("center",$img,$alt); echo ""; } if ($titolo || $testo) { echo "\n"; d_scritto("left",$titolo,$testo); echo ""; } } if ($layout==4) { // immagine sopra, tutto centrato if ($img) { echo "\n"; d_immagine("center",$img,$alt); echo ""; } if ($titolo || $testo) { echo "\n"; d_scritto("center",$titolo,$testo); echo ""; } } echo "
\n"; echo " \n"; echo "\n\"\""; } } function part_descrivi($id,$mm) // campi descritivi (tutti) { $query = "SELECT descrizioni.* FROM descrizioni WHERE (descrizioni.id_prodotto = $id)"; $res = mysql_query($query) or die(mysql_error()); $a = mysql_fetch_array($res, MYSQL_ASSOC); mysql_free_result($res); descrivi($a[enable1],"immagini/".$id."aaaa".$a[img1].".jpg",$a[titolo1],$a[blob1],$mm); descrivi($a[enable2],"immagini/".$id."bbbb".$a[img2].".jpg",$a[titolo2],$a[blob2],$mm); descrivi($a[enable3],"immagini/".$id."cccc".$a[img3].".jpg",$a[titolo3],$a[blob3],$mm); } function checkchars($s) // verifica che siano solo lettere (per kwlist) { $f=0; if ($s) { $l=strlen($s); if ($l) { $f=1; for ($i=0; $i<$l; $i++) { $c=ord(substr($s,$i,1)); if ((($c<97) || ($c>122)) && ($c!=32)) $f=0; } } } return $f; } function kwlist($b1, $b2, $b3, $n1, $n2, $e1) { // b1, b2, b3 : aggiunge alla lista le frasi completa e le singole parole // n1, n2 : aggiuge alla lista la frasi complete // e1 : aggiunge alla lista le parole (togliendo le virgole) $a= explode(",", $e1); $a[]=$b1; $b= explode(" ", $b1); foreach($b as $i=>$value) $a[]=$b[$i]; $a[]=$b2; $b= explode(" ", $b2); foreach($b as $i=>$value) $a[]=$b[$i]; $a[]=$b3; $b= explode(" ", $b3); foreach($b as $i=>$value) $a[]=$b[$i]; $a[]=$n2; $a[]=$n1; // togli gli spazi prima e dopo + minuscolo // elimina quelli vuoti // eminina quelli che non contengono solo lettere // elimina quelli più corti di 5 caratteri // elimina i doppioni !!! foreach($a as $i=>$value) $a[$i]=strtolower(trim($a[$i])); foreach($a as $i=>$value) if (($a[$i]=="") || (strlen($a[$i])<4)) unset($a[$i]); foreach($a as $i=>$value) if (!checkchars($a[$i])) unset($a[$i]); $a=array_unique($a); $a=array_reverse($a); $b=""; foreach($a as $i=>$value) $b=$b.$a[$i].", "; $b=$b."elektrocar"; return $b; } ?>