Všechny příspěvky
Re: Problém s vyhledáváním záznamů v DB |
||
---|---|---|
Pokročilý
Členem od:
23:22 27.2.2007 Skupina:
Registrovaní uživatelé Příspěvky:
42
|
Zdravím,
tak jsem opět našel čas ladit script a fakt nevím co je špatně. vytvořil jsem si pomocnou tabulku TABLE_KAT, je to spojení TABLE_CATEGORIES a TABLE_CATEGORIES_DESCRIPTION pro test mi to stačí Tady je celá funkce vytváření kategorií: function CreateKAT($k) { global $db; $l = $_SESSION['languages_id']; $kat = explode("|", $k); $p_k = 0; // parent_kategorie_id $i = 0; echo "Spusteno CreateKAT, $k<br>"; print_r($kat); echo "<br>count KAT = " . count($kat); for($i=0; $i<count($kat); $i++) { $nk = trim($kat[$i]); $sql = "SELECT categories_id, categories_name, parent_id FROM " . TABLE_KAT; $mc = $db->Execute($sql); echo "nyni je zavedeno " . $mc->RecordCount() . " zaznamu<br>"; if($mc->RecordCount() > 0) { // nactu vsechny zaznamy a pokusim se vypsat HEX kody stringu echo "HEX NK = [" . strToHex($nk) . "]<br>"; echo "HEX = [" . strToHex($mc->fields['categories_name']) . "]<br>"; } $sql = "SELECT categories_id, categories_name, parent_id FROM " . TABLE_KAT . " WHERE categories_name = '" . $nk . "'"; $c = $db->Execute($sql); if($c->RecordCount() > 0) { $CatId = $c->fields['categories_id']; $p_k = $c->fields['parent_id']; echo "kategorie (" . $nk . ") existuje a ma ID = " . $CatId . "<br>"; } else { echo "kategorie (" . $nk . ") NEEXISTUJE<br>"; $sql = "INSERT INTO " . TABLE_KAT . " (parent_id, categories_name, categories_status) VALUES (" . $p_k . ", '" . $nk . "', 1)"; $m = $db->Execute($sql); $CatId = $db->insert_ID(); $p_k = $CatId; echo "<br>SQL INSERT - vytvorena kategorie (id = $CatId|$nk) = " . $sql; } } echo "<br>ID kategorie = $CatId, kategorie END - obsazena pamet = " . memory_get_usage() . "<br><br>"; return $CatId; } 1. rozložím string s názvy kategorií oddělených | 2. procházím vzniklé pole 3. do $nk vložím jen název kategorie 4. zbytečný dotaz na DB, jen zjišťuji, kolik mi vrátí všech záznamů z tabulky 5. jestli je počet záznamů větší než 0 tak se pokouším vypsat HEX kody stringu (jestli nemám problém v kódování) ale nespustí se 6. vyhledám název kategorie v tabulce 7. když je nalezena vrátím její categories_id a parent_id 8. když neexistuje tak ji vytvořím a uložím do DB 9. podle posledního uloženého ID zjistím categories_id a to samé vložím do Parent_id 10. tak projdu celé pole a vrátím číslo poslední kategorie z proměnné $k to předám nadřazené funkci a uložím výrobek a vytvořím i záznam do TABLE_PRODUCTS_TO_CATEGORIES když projdu další výrobek, spustím funkci CreateKAT znovu s aktuálním $k Ale pořád to zavádí každou kategorii znova. Ještě přikládám výpis z průchodu scriptem každý výrobek začíná pořadím díky za Váš čas Borek
Zasláno: 20:44 3.12.2018
|
|
_________________
Borek |
||
Přenos |
Re: Problém s vyhledáváním záznamů v DB |
||
---|---|---|
Guru
Členem od:
21:36 5.12.2008 Skupina:
Registrovaní uživatelé Příspěvky:
746
|
Global $db tam máš, tak by bylo zvláštní, že by nějeké execute prošlo a jiné ne.
A co tohle? $k = explode(" | ", $kategorie); kolem | máš mezery - jsou i v tom řetězci, který exploduješ? zkus to raději explodovat jen $k = explode("|", $kategorie); stejně tam máš potom trim, tak je to jedno A taky to zkus namísto foreach s for s $k[0] ... atd. a nechal bych si to i vypsat ať vidíš co se to snažíš přesně z db selectovat za název.
Zasláno: 22:14 21.11.2018
|
|
_________________
Shopy: www.centrum-matraci.cz Když máš nápad, o kterém si myslíš, že by mohl fungovat, zřejmně by mohl fungovat, ale to se nedozvíš dokud ho ze 100% nezrealizuješ. Takže to prostě udělej !!! .... a pokud se to týká webu, tak ho hlavně předem zazálohuj :) |
||
Přenos |
Re: Problém s vyhledáváním záznamů v DB |
||
---|---|---|
Pokročilý
Členem od:
23:22 27.2.2007 Skupina:
Registrovaní uživatelé Příspěvky:
42
|
To je právě ono.
V rámci této funkce mi vrací dotaz prázdný záznam. Když se vrátím do nadřazené funkce (odkud tuto volám) a nechám si vypsat stejný dotaz, tak tak záznamy již jsou Budu zkoušet ještě další varianty díky Borek
Zasláno: 11:29 21.11.2018
|
|
_________________
Borek |
||
Přenos |
Re: Problém s vyhledáváním záznamů v DB |
||
---|---|---|
Guru
Členem od:
21:36 5.12.2008 Skupina:
Registrovaní uživatelé Příspěvky:
746
|
Nejprve bych zjišťoval jestli ten select selectuje vůbec něco, včetně kategorií, které jsou tam už dávno.
Potom bych se uchýlil k načtení všech kategorií do pole a existenci ověřoval v něm. Například "' . $kn . '" bývá obvykle obráceně '".$kn."' - s apostrofy a uvozovkami si člověk může dost užít. Potom bych zadal názvy tabulek raději natvrdo namísto define zástupců.
Zasláno: 21:15 20.11.2018
|
|
_________________
Shopy: www.centrum-matraci.cz Když máš nápad, o kterém si myslíš, že by mohl fungovat, zřejmně by mohl fungovat, ale to se nedozvíš dokud ho ze 100% nezrealizuješ. Takže to prostě udělej !!! .... a pokud se to týká webu, tak ho hlavně předem zazálohuj :) |
||
Přenos |
Re: Problém s vyhledáváním záznamů v DB |
||
---|---|---|
Pokročilý
Členem od:
23:22 27.2.2007 Skupina:
Registrovaní uživatelé Příspěvky:
42
|
Zdravím,
právě, že mi to není jasné. Nevím jak to otestovat. Podle výpisu z ladění mi SELECT nevrátí nic, ale když odešlu INSERT, tak se data zapíšou, protože vrátí ID posledního zapsaného záznamu. Zkoušel jsem v různých částech rutiny vložit další SELECT, jestli vrátí něco jiného, ale pořád je to prázdné. Když skončí běh rutiny a vezmu vypsané dotazy, tak mi vrátí všechny zapsané položky tedy každá kategorie je zapsaná tolikrát, kolikrát je v XML výrobek s uvedenou kategorií. Nejhorší na tom je, že jsem podobný importní modul psal už několikrát a bez problémů. A teď jsem se zasekl a nevím kde je problém. Jdu dál zkoušet díky Borek
Zasláno: 21:00 20.11.2018
|
|
_________________
Borek |
||
Přenos |
Re: Problém s vyhledáváním záznamů v DB |
||
---|---|---|
Guru
Členem od:
21:36 5.12.2008 Skupina:
Registrovaní uživatelé Příspěvky:
746
|
Šel bych po důvodu, proč ji ten SELECT nenajde.
Náhradní řešení je přidávat si názvy kategorií uvnitř cyklu do pole a v něm kontrolovat duplicitu.
Zasláno: 9:05 19.11.2018
|
|
_________________
Shopy: www.centrum-matraci.cz Když máš nápad, o kterém si myslíš, že by mohl fungovat, zřejmně by mohl fungovat, ale to se nedozvíš dokud ho ze 100% nezrealizuješ. Takže to prostě udělej !!! .... a pokud se to týká webu, tak ho hlavně předem zazálohuj :) |
||
Přenos |
Problém s vyhledáváním záznamů v DB |
||
---|---|---|
Pokročilý
Členem od:
23:22 27.2.2007 Skupina:
Registrovaní uživatelé Příspěvky:
42
|
Zdravím,
dostal jsem se do situace, kdy už nevím jak dál. Programuji import XML dat do MYSQL. Problém mám se zavedením kategorií. Procházím cyklem záznamy z XML. Vezmu název kategorie a pokud ji v tabulce nenajdu, tak ji zavedu a vrátím její ID. Problém je v tom, že když zavedu první kategorii a dostanu se k druhému výrobku, který má stejnou kategorii, tak mi již zavedenou kategorii nenajde a vrátí prázdný záznam. Tím je tato kategorie považovaná za novou a je opět zavedena. Zkouším všechno možné, ale nevím jak dál, protože mi to vytvoří pro každý výrobek vlastní kategorii se stejným názvem. Po skončení importu, vidím přes PhPMyAdmin všechny jednotlivé kategorie zavedené. function UlozKategorie($kategorie) { global $db; $l = $_SESSION['languages_id']; $k = explode(" | ", $kategorie); $p_k = 0; // parent_kategorie_id $i = 0; foreach ($k as $kn) { //echo "<br>($kn), [" . trim($kn) . "]"; $sql = 'SELECT categories_id, categories_name FROM ' . TABLE_CATEGORIES_DESCRIPTION . ' WHERE categories_name = "' . $kn . '"'; $c = $db->Execute($sql); // zjistim jestli je kategorie s názvem $kn zavedená if($c->RecordCount() > 0) { $AktKat = $c->fields['categories_id']; $p_k = $AktKat; echo "<br>kategories existuje a ID = " . $AktKat; } else { $sql = 'INSERT INTO ' . TABLE_CATEGORIES . ' (parent_id, date_added, last_modified, categories_status) VALUES '; $sql .= '(' . $p_k . ', now(), now(), 1)'; $c = $db->Execute($sql); $AktKat = $db->insert_ID(); $p_k = $AktKat; echo "<br>ID nove kategorie = " . $AktKat; $sql = 'INSERT INTO ' . TABLE_CATEGORIES_DESCRIPTION . ' (categories_id, language_id, categories_name) VALUES '; $sql .= '(' . $AktKat . ', ' . $l . ', "' . $kn . '")'; $c = $db->Execute($sql); $sql = 'SELECT c.categories_id, c.parent_id, cd.categories_name FROM ' . TABLE_CATEGORIES . ' c INNER JOIN ' . TABLE_CATEGORIES_DESCRIPTION . ' cd ON c.categories_id = cd.categories_id WHERE cd.categories_name = "' . $kn . '"'; $c = $db->Execute($sql); if($c->RecordCount() > 0) { echo "<br>kategorie byla zavedena. ID = " . $c->fields['categories_id'] . ", Parent_id = " . $c->fields['parent_id'] . " Nazev = " . $c->fields['categories_name']; } } $i++; } echo "Vracim ID vybrane kategorie [" . $AktKat . "]"; return $AktKat; } Napadlo mě, že by problémem mohlo být nějaké zdržení mezi založením kategorie a následným dotazem zda záznam již existuje, ale nevím jak to zjistit. nemáte někdo radu kde co dělám špatně? díky za nakopnutí Borek
Zasláno: 12:52 16.11.2018
|
|
_________________
Borek |
||
Přenos |
Re: Poptávka - úprava šablony z Templatemonster.com |
||
---|---|---|
Guru
Členem od:
16:35 5.3.2009 Skupina:
Registrovaní uživatelé Příspěvky:
222
|
Já jí kupoval především kvůli responzivnímu zobrazení, který mi aktuálně na eshopu hodně chybí... Osobně bych jinak šablonu měnit nechtěl... Mimo jiné, neexistuje nějaký "modul" nebo vychytávka na responzivní zobrazení u klasických šablon? :) to je asi blbost co... :)
V zásadě to co jsem koupil se použít nedá a to vím už od koupě s tím, že jsem si naivně myslel, jak to v klidu zvládnu sám (jako u předchozích šablon) a ono ejhle je to trochu jiné než ty klasické šablony :(
Zasláno: 10:22 29.10.2018
|
|
Přenos |
Re: Poptávka - úprava šablony z Templatemonster.com |
||
---|---|---|
Guru
Členem od:
12:54 19.9.2006 Bydliště Mikulov
Skupina:
Registrovaní uživatelé Vývojáři Příspěvky:
1419
|
to se ani nedivím že se do toho nikomu nechce, protože to je opravdu někdy drbačka a design není všechno, protože ještě korektnost, nastaveni optimalizace atd. a pak už to leze jo do penězje. A to už se v některých případech zadavateli nelíbí, protože si myslí že koupená šablona je cool a stačí ji jen tam prsknout a je hotovo. V tom lepším případě.
Zasláno: 19:23 24.10.2018
|
|
_________________
Vývoj software a poradenství, import/export a jiné | Odborné knihy, naučné knihy | Textilní dorty a dárky | vyšívané ozdoby <<než něco uděláš, ZÁLOHUJ E-SHOP !!!>> <<než se zeptáš, projdi si fórum... třeba to už někdo řešil a vyřešil>> |
||
Přenos |
Re: Poptávka - úprava šablony z Templatemonster.com |
||
---|---|---|
Guru
Členem od:
16:35 5.3.2009 Skupina:
Registrovaní uživatelé Příspěvky:
222
|
To je přesný - jen najít někoho, kdo by se do toho pustil :D zatím se nikomu nechce :D a to kupodivu ani za prachy ne :D
Zasláno: 22:39 20.10.2018
|
|
Přenos |