Dobrý den trápím se tady s natáhnutím dat z MS SQL databaze a po porvedení nějakých výpočtů je ukládám do mysql DB. Mám takovýhle script viz níže, ale smyčka se ukončí při uložení 1. záznamu do mysql db a pak se nic nezaznamená. Jsem začátečník v php a nevím si rady. Děkuji za vaše odpovědi.
Tady je select z MS SQL db.
<?php
include "loginmssql.php";
$sql = "SELECT
z.ID,
z.Nazev1,
z.Nazev2,
z.Nazev3,
z.Nazev4,
z.Poznamka,
z.RegCis,
z.SKP,
z.Hmotnost,
z.Vykres,
z.Hloubka,
z.Vyska,
z.Sirka,
z.MJEvidence,
z.IDSortiment,
z.Obrazek_BGJ,
s.ID AS SID,
s.IDNadrazene,
s.K1,
s.K2,
s.K3,
s.K4,
s.K5,
s.Nazev AS SNazev,
s.Autor,
s.DatZmeny,
s.BlokovaniEditoru,
s.KatAlltecky,
n.IDkmenZbozi,
n.CenovaUroven,
n.CenaKC,
n.IDZboSklad,
n.BezDPH
FROM
TabSortiment s, TabKmenZbozi z
JOIN
TabNC n ON n.IDkmenZbozi=z.ID
WHERE z.IdSortiment IS NOT NULL AND n.CenovaUroven=1
";
$qry = sqlsrv_query($conn, $sql);
?>
Tady je script kerý zaznamenáva do MYSQL db.
<?php
include "loginmysql.php";
include "definice.php";
include "image.php";
include "charset.php";
$preflix = "pmrd8_";
//Příprava tabulek
//nastavení UTF-8
mysql_query("SET CHARACTER SET utf8")
or die("Nelze vykonat definiční dotaz: " . mysql_error());
//vyprázdnění tabulky virtuemart_products
mysql_query("TRUNCATE TABLE ". $preflix ."virtuemart_products")
or die("Nelze vykonat definiční dotaz: " . mysql_error());
//vyprázdnění tabulky virtuemart_products_cs_cz
mysql_query("TRUNCATE TABLE ". $preflix ."virtuemart_products_cs_cz")
or die("Nelze vykonat definiční dotaz: " . mysql_error());
//vyprázdnění tabulky virtuemart_products_en_gb
mysql_query("TRUNCATE TABLE ". $preflix ."virtuemart_products_en_gb")
or die("Nelze vykonat definiční dotaz: " . mysql_error());
//vyprázdnění tabulky virtuemart_product_prices
mysql_query("TRUNCATE TABLE ". $preflix ."virtuemart_product_prices")
or die("Nelze vykonat definiční dotaz: " . mysql_error());
//vymazání tabulky virtuemart_medias kde je přiřazen product
mysql_query("DELETE FROM ". $preflix ."virtuemart_medias WHERE file_type='product'")
or die("Nelze vykonat definiční dotaz: " . mysql_error());
//vyprázdnění tabulky virtuemart_product_medias zde jsou přiřazeny obrázky podle ID k produktům zase podle ID
mysql_query("TRUNCATE TABLE ". $preflix ."virtuemart_product_medias")
or die("Nelze vykonat definiční dotaz: " . mysql_error());
//vyprázdnění tabulky virtuemart_product_customfields, zde jsou uloženy data např.: samolepka-> modra, zelena, oranžova, a jejich ceny
mysql_query("TRUNCATE TABLE ". $preflix ."virtuemart_product_customfields")
or die("Nelze vykonat definiční dotaz: " . mysql_error());
//příprava tabulek Categories
//vyprázdnění tabulky virtuemart_categories
mysql_query("TRUNCATE TABLE ". $preflix ."virtuemart_categories")
or die("Nelze vykonat definiční dotaz: " . mysql_error());
//vyprázdnění tabulky virtuemart_categories_cs_cz
mysql_query("TRUNCATE TABLE ". $preflix ."virtuemart_categories_cs_cz")
or die("Nelze vykonat definiční dotaz: " . mysql_error());
//vyprázdnění tabulky virtuemart_categories_en_gb
mysql_query("TRUNCATE TABLE ". $preflix ."virtuemart_categories_en_gb")
or die("Nelze vykonat definiční dotaz: " . mysql_error());
//vyprázdnění tabulky virtuemart_category_categories
mysql_query("TRUNCATE TABLE ". $preflix ."virtuemart_category_categories")
or die("Nelze vykonat definiční dotaz: " . mysql_error());
//vyprázdnění tabulky virtuemart_category_medias
mysql_query("TRUNCATE TABLE ". $preflix ."virtuemart_category_medias")
or die("Nelze vykonat definiční dotaz: " . mysql_error());
//zápis dat z Heliosu do virtuemart
//zápis virtuemart_products
$loop=0;
while($zaznam=sqlsrv_fetch_array($qry, SQLSRV_FETCH_ASSOC)) {
$loop++;
if($loop>10) {
break;
}
//Definice pevných proměnných
//DPH21%
$dph21 = "1";
//prodejce
$vendor_id = "1";
$index_follow = "index, follow";
$datum = Date ("Y-m-d H:i:s"); //a kdy
$modified_user = "1"; //uživatel ketrý provedl změnu
$null = "NULL";
//tabulka virtuemart_products
$vm_prod_virtuemart_product_id = $zaznam['ID'];
$vm_prod_virtuemart_vendor_id = $vendor_id;
$vm_prod_product_parent_id = $null;
$vm_prod_product_sku = $zaznam['SKP'];
$vm_prod_product_weight = $zaznam['Hmotnost'];
$vm_prod_product_weight_uom = substr($zaznam['Vykres'], 7, 2);
$vm_prod_product_length = $zaznam['Hloubka'];
$vm_prod_product_width = $zaznam['Sirka'];
$vm_prod_product_height = $zaznam['Vyska'];
$vm_prod_product_lwh_uom = substr($zaznam['Vykres'], 0, 2);
$vm_prod_product_url = $null;
$vm_prod_product_in_stock = $null;
$vm_prod_product_ordered = $null;
$vm_prod_low_stock_notification = "0";
$vm_prod_product_available_date = "0";
$vm_prod_product_availability = "available.png";
$vm_prod_product_special = "0";
$vm_prod_product_sales = "0";
$vm_prod_product_unit = $zaznam['MJEvidence'];
$vm_prod_ordering = "1";
$vm_prod_product_packaging = "1";
$vm_prod_product_params = "min_order_level=\"\"|max_order_level=\"\"|product_box=\"\"|";
$vm_prod_hits = "0";
$vm_prod_intnotes = "0";
$vm_prod_metarobot = $index_follow;
$vm_prod_metaauthor = "";
$vm_prod_layout = "1";
$vm_prod_published = "1";
$vm_prod_created_on = $datum;
$vm_prod_created_by = $modified_user;
$vm_prod_modified_on = $datum;
$vm_prod_modified_by = $modified_user;
$vm_prod_locked_on = $null;
$vm_prod_locked_by = $null;
// zápis do tabulky virtuemart_products
if(!mysql_query("INSERT INTO ". $preflix ."virtuemart_products (
virtuemart_product_id,
virtuemart_vendor_id,
product_parent_id,
product_sku,
product_weight,
product_weight_uom,
product_length,
product_width,
product_height,
product_lwh_uom,
product_url,
product_in_stock,
product_ordered,
low_stock_notification,
product_available_date,
product_availability,
product_special,
product_sales,
product_unit,
pordering,
product_packaging,
product_params,
hits,
intnotes,
metarobot,
metaauthor,
layout,
published,
created_on,
created_by,
modified_on,
modified_by,
locked_on,
locked_by)
VALUES (
'$vm_prod_virtuemart_product_id',
'$vm_prod_virtuemart_vendor_id',
'$vm_prod_product_parent_id',
'$vm_prod_product_sku',
'$vm_prod_product_weight',
'$vm_prod_product_weight_uom',
'$vm_prod_product_length',
'$vm_prod_product_width',
'$vm_prod_product_height',
'$vm_prod_product_lwh_uom',
'$vm_prod_product_url',
'$vm_prod_product_in_stock',
'$vm_prod_product_ordered ',
'$vm_prod_low_stock_notification',
'$vm_prod_product_available_date',
'$vm_prod_product_availability',
'$vm_prod_product_special',
'$vm_prod_product_sales',
'$vm_prod_product_unit',
'$vm_prod_ordering',
'$vm_prod_product_packaging',
'$vm_prod_product_params',
'$vm_prod_hits',
'$vm_prod_intnotes',
'$vm_prod_metarobot',
'$vm_prod_metaauthor',
'$vm_prod_layout',
'$vm_prod_published',
'$vm_prod_created_on',
'$vm_prod_created_by',
'$vm_prod_modified_on',
'$vm_prod_modified_by',
'$vm_prod_locked_on',
'$vm_prod_locked_by'
)"))
{
echo "nepodařil se zápis do tabulky virtuemart_products"."<br />";
}
}