primostore Posted November 23, 2012 Share Posted November 23, 2012 Salve , innanzitutto i saluti per tutti gli utenti del forum , ho un problema legato all'inserimento diretto delle categorie e dei prodotti direttamente nel database mysql , se provo ad inserire una categoria direttamente nel database non è visibile sul sito front end , in back office invece la trovo però fino a quando non la edito e poi la salvo da pannello non mi viene mostrata nel front end , spero che qualcuno di voi possa darmi un indizio per risolvere il problema , in quanto al momento mi sta limitando nello scegliere questa stupenda piattaforma al posto di quella attuale che è di proprietà scritta interamente da me in php ma soffre ormai di vecchiaia essendo stata sviluppata diversi anni addietro . In parole povere vorrei capire come inserire direttamente nel database mysql categorie e prodotti per crearmi uno scritp personalizzato , Vi ringrazio anticipatamente , Luca. Link to comment Share on other sites More sharing options...
enzolarosa Posted December 29, 2012 Share Posted December 29, 2012 io in un piccolo programmino che avevo fatto usavo questo tre funzioni.. function id_p($nome){ $cn=conn(); $sql="SELECT id_product FROM ps_product_lang WHERE id_lang=5 AND LOWER(name)='".mysql_real_escape_string($nome)."'"; $ris=mysql_query($sql) or die('Invalid query: ' . mysql_error()); $riga=mysql_fetch_array($ris,MYSQL_NUM); $id=$riga[0]; decon($cn); return $id; } function aggiorna($nome,$qt,$prz,$categoria,$ref){ $prodotto_id=id_p($nome); $prezzo=levaiva($prz); if ($prodotto_id){ $cn=conn(); //aggiorno il prodotto in quanto è stato trovato!! $sql="UPDATE ps_product AS a,ps_product_lang AS b SET a.quantity='".$qt."', a.reference='".$ref."', a.price='".$prezzo."' WHERE a.id_product= b.id_product AND LOWER(b.name)=LOWER('".mysql_real_escape_string($nome)."') AND b.id_lang=5"; $rx=mysql_query($sql) or die('Invalid query: ' . mysql_error()); if ($rx) $esito=1; else $esito=2; decon($cn); }else{ //creo il prodotto in quanto non è stato trovato!!! $data=date('Y-m-d H:i:s'); $sql="INSERT INTO `ps_product` (`id_supplier`,`id_manufacturer`, `id_tax_rules_group`, `id_category_default`, `id_color_default`, `on_sale`, `online_only`, `ean13`, `upc`, `ecotax`, `quantity`, `minimal_quantity`, `price`, `wholesale_price`, `unity`, `unit_price_ratio`, `additional_shipping_cost`, `reference`, `supplier_reference`, `location`, `width`, `height`, `depth`, `weight`, `out_of_stock`, `quantity_discount`, `customizable`, `uploadable_files`, `text_fields`, `active`, `available_for_order`, `condition`, `show_price`, `indexed`, `cache_is_pack`, `cache_has_attachments`, `cache_default_attribute`, `date_add`, `date_upd`) VALUES(0,0,1,1,0,0,0,'','',0.000000,'".$qt."',1,'$prezzo',0.000000,'', 0.00000, 0.00, '', '".$ref."', '', 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 'new', 1, 1, 0, 0, 0, '".$data."', '".$data."');"; $cn=conn(); if (mysql_query($sql)){ $id=mysql_insert_id(); decon($cn); $esito=lang_ins($id,$nome); }else{$esito=4;} } return $esito; } function lang_ins($id,$nome){ $occorrenze=array(" ", ",", "?",".","%","à","ò","è","ì","ù","*","+","/"); $sostituti = array("-", "", "","","","a","o","e","i","u","-","-","-"); $link=str_replace($occorrenze, $sostituti, $nome); $cn=conn(); $lang[5]="INSERT INTO `ps_category_product` (`id_category`,`id_product`,`position`)VALUES ('1','$id','0')"; $lang[4]="INSERT INTO `ps_product_lang` (`id_product`, `id_lang`, `description`, `description_short`, `link_rewrite`, `meta_description`, `meta_keywords`, `meta_title`, `name`, `available_now`, `available_later`) VALUES ('$id', '5', '".mysql_real_escape_string($nome)."', '".mysql_real_escape_string($nome)."', LOWER('".mysql_real_escape_string($link)."'), '".mysql_real_escape_string($nome)."', '".mysql_real_escape_string($nome)."', '".mysql_real_escape_string($nome)."', '".mysql_real_escape_string($nome)."', NULL, NULL);"; $lang[3]="INSERT INTO `ps_product_lang` (`id_product`, `id_lang`, `description`, `description_short`, `link_rewrite`, `meta_description`, `meta_keywords`, `meta_title`, `name`, `available_now`, `available_later`) VALUES ('$id', '4', '".mysql_real_escape_string($nome)."', '".mysql_real_escape_string($nome)."', LOWER('".mysql_real_escape_string($link)."'), '".mysql_real_escape_string($nome)."', '".mysql_real_escape_string($nome)."', '".mysql_real_escape_string($nome)."', '".mysql_real_escape_string($nome)."', NULL, NULL);"; $lang[2]="INSERT INTO `ps_product_lang` (`id_product`, `id_lang`, `description`, `description_short`, `link_rewrite`, `meta_description`, `meta_keywords`, `meta_title`, `name`, `available_now`, `available_later`) VALUES ('$id', '3', '".mysql_real_escape_string($nome)."', '".mysql_real_escape_string($nome)."', LOWER('".mysql_real_escape_string($link)."'), '".mysql_real_escape_string($nome)."', '".mysql_real_escape_string($nome)."', '".mysql_real_escape_string($nome)."', '".mysql_real_escape_string($nome)."', NULL, NULL);"; $lang[1]="INSERT INTO `ps_product_lang` (`id_product`, `id_lang`, `description`, `description_short`, `link_rewrite`, `meta_description`, `meta_keywords`, `meta_title`, `name`, `available_now`, `available_later`) VALUES ('$id', '2', '".mysql_real_escape_string($nome)."', '".mysql_real_escape_string($nome)."', LOWER('".mysql_real_escape_string($link)."'), '".mysql_real_escape_string($nome)."', '".mysql_real_escape_string($nome)."', '".mysql_real_escape_string($nome)."', '".mysql_real_escape_string($nome)."', NULL, NULL);"; $lang[0]="INSERT INTO `ps_product_lang` (`id_product`, `id_lang`, `description`, `description_short`, `link_rewrite`, `meta_description`, `meta_keywords`, `meta_title`, `name`, `available_now`, `available_later`) VALUES ('$id', '1', '".mysql_real_escape_string($nome)."', '".mysql_real_escape_string($nome)."', LOWER('".mysql_real_escape_string($link)."'), '".mysql_real_escape_string($nome)."', '".mysql_real_escape_string($nome)."', '".mysql_real_escape_string($nome)."', '".mysql_real_escape_string($nome)."', NULL, NULL);"; for ($i=0;$i<6;$i++) $rx[$i]=mysql_query($lang[$i]) or die('Invalid query: ' . mysql_error()); for ($i=0;$i<6;$i++) if ($rx[$i]) $esito=3; else{decon($cn); return 4;} decon($cn); return $esito; } modificandole un po penso che puoi usarle e fare quello che chiedi.. Spero di essere stato utile.. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now