Oldal: 1 / 5

Adatbázis feltöltése csv fájl segítségével.

Elküldve: vas. feb. 21, 2010 11:03 am
Szerző: kicsiati
A következő a gondom.
Letöltöttem a biankó termekek.csv fájlt. Beírtam az adatokat, elmentettem csv pontosvesszővel tagolt fájlként. Az excel panaszkodott, hogy nem kompatibilis a pontosvesszővel ellátott szolgáltatással, ennek ellenére elmentette. Ezt a fájlt feltöltöttem a szerverre. Fel is ment, az adatbázis frissítése is megtörtént. Semmi hibajelzést nem kaptam.
Viszont mégsem töltötte fel a terméket. A kellő mappák attribútumát átállítottam 777-re. Próbáltam office 2000, és office 2007-el is.

Re: Adatbázis feltöltése csv fájl segítségével.

Elküldve: vas. feb. 21, 2010 11:56 am
Szerző: kicsiati
Mostanra sikerült elérnem, hogy végre feltölti a terméket, viszont a képeket nem akarja megjeleníteni. Az elérési út jó, nincs benne különleges karakter, az attribútuma 777.

Most már csak a nagy képekkel van gondom. A kis képeket megjeleníti.

Re: Adatbázis feltöltése csv fájl segítségével.

Elküldve: hétf. feb. 22, 2010 8:40 pm
Szerző: kicsiati
Végülis nem tudom mi volt a baj, de sikerült feltöltenem az adatokat.

Re: Adatbázis feltöltése csv fájl segítségével.

Elküldve: pén. márc. 05, 2010 7:22 am
Szerző: mezofi
Szuper

Re: Adatbázis feltöltése csv fájl segítségével.

Elküldve: pén. aug. 20, 2010 12:00 pm
Szerző: pinkfog
Kedves István!

Igaz, hogy az én gondom nem feltöltés, hanem le...
Szeretném letölteni (majd rendszeresen) a shopban lévő termékeket, úgy hogy a cikkszám is benne legyen.
Az árgép részére készíthető csv letöltése kitűnően működik, de abban nincs cikkszám, amire azért lenne szükségem, hogy egy függvény segítségével összetudjam hasonlítani a shop termékeit egy nagykereskedés adott készletlistájával. Ehhez lenne fontos a cikkszámos listázhatóság. Jelenleg kb 1200 termék van, de ez ha időm engedi felmenne 5000-re is, amit manuálisan már lehetetlen összehasonlítgatni.
A lényeg, hogy nem működik a csv file letöltési lehetőség, csak az oszlopok elnevezését írja ki. Mit tegyek?
Kérlek, hogy egy laikus számára írd meg légy szíves, hogy mi a megoldás. Nekem az is jó, ha a az árgépes csv file-t megtoldjuk egy cikkszám oszloppal.
Lenne még egy kérdésem, bár az exceles, de biztos tudsz segíteni. van olyan lehetőség, hogy a sorokból eltüntessek bizonyos karaktereket, tehát ha beírom pl. hogy js, akkor minden adatból eltünteti a js-eket, de nem emlékszem hol, Nme tudod véletlenüL

Köszi a segítséget előre is!

Üdv Erika

Re: Adatbázis feltöltése csv fájl segítségével.

Elküldve: hétf. aug. 30, 2010 12:29 pm
Szerző: mezofi
m működik a csv file letöltési lehetőség, csak az oszlopok elnevezését írja ki. Mit tegyek?
Ott mást nem is kell kiírnia, erre lett tervezve, hogy legyen biankó csv. :D

Excelhez nem értek így ebben nem tudok segíteni. :(

Hozzunk létre egy xls mentést, azt meg tudod nyitani Excelben

A shop/admin/language/hungarian/termek.php-be tedd ezt bele, a nyitó és záró php tagok közé:

Kód: Egész kijelölése

define("XLS_BE","XLS-be mentés");

A shop/admin/kategoria.php-be tedd ezt bele (kb a 44. sorba)

Kód: Egész kijelölése

// Ha xls kell
if(isset($_GET["action"]) && trim($_GET["action"]) == "xls_create" ){
	xlsCreate();
}

A shop/include/kategoria/term_exp.php-be tedd ezt bele (kb a 37. sorba):

Kód: Egész kijelölése

<div style="margin: 10px; cursor:pointer;"><form name="xlsForm" method="post" action="kategoria.php?left=katalogus&center=term_exp&action=xls_create" style="margin:0px; padding:0px; font-family:Verdana, Arial, Helvetica, sans-serif; font-size: 10px; color:#333333; margin-left:10px;">
<?php echo ARFORMA; ?>:&nbsp;<select name="arforma_id" class="inputok" style="margin: 10px 0px;">
<?php while($act = mysql_fetch_assoc($result)){
		echo '<option value="'. $act["arforma_id"] .'">'. $act["arforma"] .'</option>';
}?>
</select><br />
<input type="submit" name="xls_export" value="<?php echo XLS_BE; ?>" title="<?php echo XLS_BE; ?>" class="submit_btn" />
    </form></div>
<hr />
Alatta ez lesz akkor:

Kód: Egész kijelölése

<div style="margin: 10px; cursor:pointer;"><input type="button" name="xml_export" value="<?php echo XML_BE; ?>" title="<?php echo XML_BE; ?>" onClick="xmlCreate('<?php echo XML_SUCCESFUL; ?>');" class="submit_btn" /></div>.............

Most már csak elő kell állítani az xls fájlt.

Az admin/functions/general.php végére illeszd be ezt a függvényt, de még a záró ?> tag elé:

Kód: Egész kijelölése

//XLS eloállítása
function xlsCreate(){

$fejlec = "<table border='0'><tr style='background-color:#FF0; font-weight:bold;' ><td>". TERMEK_KOD ."</td><td>".TERMEK_NEVE . "</td><td>". BRUTTO . "</td><td>". TERMEK_LINK. "</td><td>". TERMEK_LEIRASA . "</td><td>". TERMEK_FOTO . "</td><td>". GYARTO . "</td><td>". KATEGORIA_NEV . "</td></tr>";

//Bruttó vagy nettó árformát kaptunk?
// Árforma kiolvasása
$sql = "SELECT af.forma
		FROM ". ARFORMA_TABLE. " as af 
		WHERE af.arforma_id = ". tep_db_input($_POST["arforma_id"]);
$result = mysql_query2(__LINE__, __FILE__, $sql);

	if(mysql_num_rows($result) > 0){
	$arformaArray = mysql_fetch_assoc($result); 
	
	
	if($arformaArray["forma"] == "brutto"){
	//Bruttó árak vannak
	// Olvassuk ki az adatokat
	$sql ="SELECT nl.name, a.ar, t.id, nl.description,t.image_address, g.gyarto_neve, kl.nev, t.kod
		FROM ".TERMEK_TABLE." as t 
		INNER JOIN ".TERMEK_TO_KATEGORIA_TABLE." as ttk ON ttk.termek_id = t.id
		INNER JOIN ". GYARTOK_TABLE ." as g ON t.gyarto = g.id
		INNER JOIN ". KATEGORIA_LEIRAS_TABLE." as kl ON kl.kat_id = ttk.termek_kategoria_id
		INNER JOIN ".ARAK_TABLE." as a ON t.id = a.termek_id
		LEFT JOIN ".NEV_LEIRAS_TABLE." as nl ON nl.termek_id = t.id
		WHERE t.status = 'igen' 
		AND nl.language_id= ". tep_db_input($_SESSION["admin"]["nyelv_id"]) ."
		AND a.arforma_id = 1
		GROUP BY t.id
		ORDER BY nl.name ";
	}else{
	// Az árak nettó módon vannak megadva
	// Olvassuk ki az adatokat
	$sql ="SELECT nl.name, FORMAT(((afa.szint/100)+1)*a.ar,4) as ar, t.id, nl.description,t.image_address, g.gyarto_neve, kl.nev, t.kod
		FROM ".TERMEK_TABLE." as t
		INNER JOIN ". AFA_TABLE ." as afa ON t.afa_id = afa.afa_id
		INNER JOIN ".TERMEK_TO_KATEGORIA_TABLE." as ttk ON ttk.termek_id = t.id
		INNER JOIN ". GYARTOK_TABLE ." as g ON t.gyarto = g.id
		INNER JOIN ". KATEGORIA_LEIRAS_TABLE." as kl ON kl.kat_id = ttk.termek_kategoria_id
		INNER JOIN ".ARAK_TABLE." as a ON t.id = a.termek_id
		LEFT JOIN ".NEV_LEIRAS_TABLE." as nl ON nl.termek_id = t.id
		WHERE t.status = 'igen' 
		AND nl.language_id= ". tep_db_input($_SESSION["admin"]["nyelv_id"]) ."
		AND a.arforma_id = 1
		GROUP BY t.id
		ORDER BY nl.name ";
	}
	
	$result = mysql_query2(__LINE__, __FILE__, $sql);
	while($act = mysql_fetch_assoc($result)){
	$fejlec .= '<tr><td>'. $act["kod"] .'</td><td>'. strip_tags(str_replace(array("|","&#337;","<br/>",";",'"'),array("","o","","",""),$act["name"])) .'</td><td>' .  $act["ar"] . "</td><td>". $_SESSION["admin"]["bolt_url"]."/index.php?center=uj_termek&term_id=". $act["id"] . "</td><td>". strip_tags(str_replace(array("|","&#337;","<br/>",";",'"'),array("","o","","",""),$act["description"]))  . "</td><td>". $_SESSION["admin"]["bolt_url"] ."/". $act["image_address"] . "</td><td>".$act["gyarto_neve"]. "</td><td>". $act["nev"] ."</td></tr>";
	}
	$fejlec .= '</table>';
	header('Content-type: application/x-octet-stream');   
	header('Content-disposition: attachment; filename=termekek.xls');
	echo $fejlec;
	exit;
	}
}
Aztán klikk az XLS-be mentés gombra, és elvileg megnyitható lesz.

Mezőfi István

Re: Adatbázis feltöltése csv fájl segítségével.

Elküldve: szomb. szept. 25, 2010 9:08 am
Szerző: pinkfog
Szia István!
Nagyon szépen köszönöm! Még nem tudtam megpróbálni, mert valamilyen oknál fogva nem tudok kapcsolatot teremteni az FTP-vel. Bejön látszólag, de nem látok egyetlen mappát sem.
Úgyhogy majd alkalomadtán kipróbálom:))

Köszi szépen! Erika :)

Re: Adatbázis feltöltése csv fájl segítségével.

Elküldve: hétf. szept. 27, 2010 10:29 am
Szerző: mezofi
Nálam akkor van ilyen, ha mobil nettel szeretnék kapcsolódni. Vagy használd a vezetékes netet, vagy kérd a tárhely szolgáltatótól, hogy állítsa be úgy a hozzáférést, hogy mobil nettel is tudj kapcsolódni a tárhelyedhez.
Mezőfi

Re: Adatbázis feltöltése csv fájl segítségével.

Elküldve: hétf. okt. 04, 2010 3:13 pm
Szerző: gg1002
Egy érdekes dolgot szeretnék megosztani mindenkivel, akit érdekel.
Nekem a csv fájl nem igazán felel meg, mert nem használható a " , ; karakterek, így elválasztó karakternek a TAB-ot használom.
Excel is tudja ezt a formátumot, de nekem nagy mennyiségű adatot (több ezer) kell felvinni(ezen dolgozok most) és sajnos
az imént említett karaktereket használják.
A feltöltésnél termakak.csv nevet használok, de a fájl tulajdonképpen szöveges fájl tabulátorral tagolva, csak átneveztem a végén
a kiterjesztést .csv-re.
Én nem excelből készítem el, hanem egy Access adatbázisban vannak tárolva az adatok és DELPHI-ben írtam egy kis programot, ami
az adatokat kiolvassa az adatbázisba és onnan megfelelő módon tölti be egy Memo-ba és azt mentem el termekek.csv alatt.
Gyakorlatilag mindig jól tölt fel, csak az elsőnél kellett mindent jól bemásolni a Memoba(szöveges fájl).
Azt, hogy a ; helyett TAB legyen a tagolás úgy értem el, hogy az admin/export_import index.php fájlban az explode függvényt így alakítottam
át:
// Rendezzük az árakat start
....
$tabchar=chr(9);
for($i = 12; $i < ($arformakNumber["db"]+12); $i++){
$fejlecArray = explode($tabchar,$tomb[0]);
$csvArId["$i"] = arformaIdRead($fejlecArray["$i"]);
if($csvArId["$i"] == 0){
// Hibás, nem lehetett felismerni mi az árforma kódja!
$arformaHiba = "true";
}
}
// Rendezzük az árakat end

if($arformaHiba == "false"){ // Folytatható a feldolgozás, azonosítva lett az összes árforma

$tabchar=chr(9);
for($i = 1; $i < count($tomb)-1; $i++){
$sor["$i"] = explode($tabchar, $tomb["$i"]);
/*

Re: Adatbázis feltöltése csv fájl segítségével.

Elküldve: hétf. okt. 04, 2010 3:41 pm
Szerző: gg1002
Szeretném bővíteni a csv feltöltési lehetőséget és még egy mező tartalmát feltölteni az adatbázisba , ehhez szükség lenne egy olyan
mezőre, ami tartalmazza az adatok részletes elérését tartalmazó pdf elérési útját(úgy, mint a képek esetében).
Az adatbázisban valahol az adatok után létrehozok egy új szöveges mezőt.
Tudom, hogy ez nem kis átalakítás, csak annyi segítséget kérek, hogy hol, merre kutassak?, esetleg mire figyeljek.

Üdv.
Gábor