Übercart on Drupali lisamoodul ning see võimaldab pidada e-poodi. Süsteem on kaunikesti paindlik. Järgnevalt on vaatluse all koodijupp, mis loeb csv(comma separated values) -failist andmed ning salvestab need andmebaasi. csv-failis on andmed kujul:
„toote kood“,“ingliskeelne jutt“,“venekeelne jutt“,“hind“
Siit siis importimise skript:
<?php mysql_connect('localhost','root',''); mysql_select_db('fred'); mysql_query('SET NAMES "utf8"'); // vajalik vene tähtede kohalejõudmiseks header('Content-type: text/html; Charset: UTF-8'); $fname = "list.csv"; // faili nimi, selle struktuuri leiad ülalt $i=0; $fp = fopen($fname, 'r'); if($fp) { while($fields = fgetcsv($fp, 4096)) { $i++; if($i==1) // esimese rea jätame loendamata continue; // asendame hinnas koma punktiga ja samas jätame sealt välja euro märgi koos tühikuga (utf8s kulub nende kuvamiseks 4 baiti) $fields[3] = str_replace(',','.', mb_substr($fields[3], 4, mb_strlen($fields[3]))); #print_r($fields); $price = $fields[3]; $model = $fields[0]; $title = (substr($fields[2], 0, strpos($fields[2], ','))); $teaser = $body = "<p>".$fields[2]."</p><p>".$fields[1]."</p>"; #echo $teaser; #echo $title; mysql_query('INSERT INTO fred_node SET title='.esc($title). ',created='.time(). ',changed='.time(). ',comment=1,promote=1,type="product",uid=1,language="en"'); $nid = mysql_insert_id(); mysql_query('UPDATE fred_node SET vid='.esc($nid).' WHERE nid='.$nid); mysql_query('INSERT INTO fred_node_revisions SET nid='.$nid.', vid='.$nid.', uid=1, title='.esc($title).', body='.esc($body).', teaser='.esc($teaser).', log="", timestamp='.esc(time()).', format=1'); mysql_query('INSERT INTO fred_uc_products (nid,vid,model,sell_price,pkg_qty,default_qty,unique_hash,shippable) VALUES('.$nid.','.$nid.','.esc($model).','.esc($price).',1,1,'.esc(md5('qwerty'.$nid)).',1)'); # testimisel võib järgnevatelt ridadelt kommentaarid eemaldada, et korraga lisatakse vaid üks sissekanne # if($i>=2) # break; } } fclose($fp); function esc($v) { return '"'.mysql_real_escape_string($v).'"'; } ?> ok?