Jump to content

Inserimento categorie e prodotti direttamente in Mysql


primostore

Recommended Posts

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

  • 1 month later...

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...