Jump to content

Kaa vislabaak nofetchot XML datus ar php un tos atteelot lapaa?


Senteevs
 Share

Recommended Posts

Taatad, shefs darbaa man lika izveidot firmai web lapu. taa kaa firma nodarbojas ar datortehnikas tirdznieciibu, tad principaa lapaa buutu jaaatteelo prechu saraksts ar cenaam.

Kaa to dabuut gatavu vinjam ir pilniigi vienalga liidz ar to tas viss atkariigs no manis. Saakuma bija doma lietot kaadu CMS, kaa tas ir pashlaik, bet tomeer diezgan neparociigi.

Paraknjaajos pa netu un uzgaaju taadu lietu, ka var datus "izvilkt" no XML dokumenta ar PHP paliidziibu un arii to peec veelmes atteelot savaa lapaa.

Preces njemam no ACME noliktavas un tiem viss prechu saraksts ir pieejams XML formaataa (taapeec arii shaads jautaajums).

googlee parakaajos un atradu shaadu taadu infu (lielaakoties diezgan sarezhgjiitu savaam smadzeneem), bet neesmu programmeetaajs...jeega ir no html, css un nedaudz php (tieshaam nedaudz), bet ir veelme attiistiit savu peleeko masu :)

 

Varbuut ir kaadi ieteikumi kaa vislabaak (vienkaarshaak) to izdariit ar php paliidziibu. Ir doma kaartot pa izveelneem un sadaljaam ljoti liidziigi kaa tas ir m79 maajas lapaa.

 

Ja nu kaadam interesee prechu saraksts: https://www.acme.lv/xml/components/8542/0/0/0/0

Briidinu! Veraas diezgan ilgu laiku un uz leenaakiem piishljiem var arii pakaart paarluuku.

 

Paldies jau ieprieksh pa ieteikumiem...:)

Link to comment
Share on other sites

Nu tur datubāzi vajag. Man liekas, ka ACME nebūs īpaši priecīgi, ja katrs Tavas lapas apmeklētājs, browsējot produktus, taisīs kārtējo pieprasījumu XML interfiesam. Bez tam būs tizli ar uzcenojumiem u.c. datiem, kuriem gala variantā jāatšķirās. Pats taisīju tā, ka vienreiz iehavo svaigākos produktus (ap 15k). Otrajā piegāienā katram produktam vēl uztaisa pieprasījumu uz detalizētāku info. Pa nakti skripts updeito datubāzi ar svaigajiem produktiem / cenu un pieejamā daudzuma izmaiņām. Nu un tad 'savā pusē' jau var ņemties ar uzcenojumu grupām, pasūtījumiem, groziem u.c. neinteresantām lietām. Manuprāt, ja nav laba draudzība ar php un mysql, tad būs pamatīgs čakars. Tīri paspēlēšanās nolūkā var ar tiem xslt templeitiem padarboties - nebūs datubāze jāliek.

Link to comment
Share on other sites

Uzlikt datubaazi jau nav probleemas un fetchot pa taisno no ACMEs servera netaisos. Ir doma to xml failu glabaat uz sava web servera un pa laikam vienkaarshi updeitot.

Ko tu iisti domaa ar datubaazi? Tu to xml failu pashu uzskati par datubaazi jeb to domaa taadaa veidaa, ka visi dati no taa xml faila tiek iekopeeti kaadaa mysql baazee? Ja 2. variants, tad kaa to labaak realizeet? Ar roku domaajams, ka nebuutu vislabaakais :)

 

 

 

P.S.Protams, ka neveelos ACMEi lieku noslodzi. :)

Link to comment
Share on other sites

Tev tas pieprasījuma rezultāts a.k.a. XML fails ir 'jākačā' anyway. Vai Tu jamo dzēs ārā vai atstāj - tā ir Tava darīšana. Kā Tu iedomājies updeitot to XML failu vispār? Izklausās kaut kā ačgārni.

Ar datubāzi domāju kaut vai to pašu mysql. Sabāž iekšā produktus no XML faila un jaunumus vienkārši updeito pēc produkta identifikatora.

 

2. variants realizējas ar xslt. Rupji runājot, tam atgrieztajam XML vienkārši tiek uzlikts cilvēcisks attēlojums. Tā XML interfeisa manuālī noteikti jābūt. Ja jau dabūji accountu uz XML, tad infu Tev arī iedos. Pats šito variantu nemaz nemēģināju, jo datus havoju no vairākiem vairumniekiem, tāpēc kategorijas un u.c lietas bija jāpielāgo vienotajai struktūrai pēc klienta vēlmēm.

Link to comment
Share on other sites

Nu kaa...

Ar updeitot bija doma taada...

Staav tas xml fails uz servera. Kaut kaadaa briidii, kad uzskatu to par vajadziigu, es vinju izdzeeshu un iekopeeju vinja vietaa jaunaaku faila versiju (ar atjaunotu prechu sarakstu un cenaam). Vai tad tas nav iespeejams?

 

Un kaa tur iisti ar taa xml saraksta dabuushanu sql? kaa tad peec tam buus iespeejams katram atsevishkjajam ierakstam cenas dabuut?

Link to comment
Share on other sites

Pag, Tu maz esi jau novilcis to failu? :D Jams tak ir LIELS. Tu taču nedomā visu laiku jamo nabaga servera atmiņā lādēt katru reizi, kad kāds ieiet lapā? :)

 

Un kaa tur iisti ar taa xml saraksta dabuushanu sql?

Ļoti vienkārši - ar funkciju preg_match izvelkam ārā vajadzīgos datus un uzbūvējam INSERT steitmentus priekš savām tabulām.

 

kaa tad peec tam buus iespeejams katram atsevishkjajam ierakstam cenas dabuut?

SELECT price, qty, description, whateva FROM produkti WHERE code = 'PROD-32402340'; <- aptuveni tā :)

Link to comment
Share on other sites

joptvai...skaidrs...esmu iekuulies pamatiigaas auzaas...:D

 

Un kaa tad peec tam taa baazes atjaunoshana? tjip kaut kaads skripts, kas pa laikam piesleedzas ACMEiun tad aizvieto esoshaas veertiibas manaa DB ar jaunajaam?

Link to comment
Share on other sites

Tieši tā. Naktī, kad mazāka noslodze, ielādējam izmaiņas. Īstenībā dažam labam vairumtirgotājam pa stundu virs 1k produktu updeitojas, bet tas tā... :D Tāpēc ar preču pieejamo skaitu es nejātos īpaši :)

Link to comment
Share on other sites

savācam xml ar php vai ko citu(saglabājam ja vajag, lai nav tas katru reizi jadara reizi diena piem refrešojam - nosalucam pa jaunu to xml),

cepam xsl stilu tabuliņu

pārveidojam xml atbilstoši uzceptajam xsl stylesheetam

galā iegustam html, kur xml dati atteloti vajadzigajā griezumā

Link to comment
Share on other sites

Vai buutu iespeejams, ka Juus man pateiktu kaut kaadus avotus no kuriem varbuut pashi apguvaat shitaas lietas, jo kaa jau teicu...programmiereeshana nav mana stipraa puse

Link to comment
Share on other sites

ar to preg_match netieku skaidriibaa...paaraak sarezhgjiiti manam praatam.

Nav kaads elementaaraaks sql skripts, kuru modificeejot to var panaakt?

Link to comment
Share on other sites

te būs virziens kurā rakt..

 

<?xml version="1.0" ?>
<foo>
<row>
<id>1</id>
<name>bar</name>
</row>
<row>
<id>42</id>
<name>baz</name>
</row>
<row>
<id>4711</id>
<name>qux</name>
</row>
</foo>

 

xml2sql.xsl
<?xml version="1.0" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="text"/>
<xsl:template match="/foo">
CREATE TABLE foo (id INT, name CHAR(10))
<xsl:apply-templates select="row"/>
</xsl:template>
<xsl:template match="row">
INSERT INTO foo (id, name) VALUES (<xsl:value-of select="./id"/>, '<xsl:value-of select="./name"/>')
</xsl:template>
</xsl:stylesheet>

 

beigas jasanāk

CREATE TABLE foo (id INT, name CHAR(10))
INSERT INTO foo (id, name) VALUES (1, 'bar')
INSERT INTO foo (id, name) VALUES (42, 'baz')
INSERT INTO foo (id, name) VALUES (4711, 'qux')

Link to comment
Share on other sites

Skaidra ir tikai viena lieta...ar php shitais neies krastaa...man nav programmeetaaja smadzenes un to visu garo briinumu, kas tur ir sacepts mana dumaa galva nenjem pretii.

 

To meegjinaashu atrisinaat ar kaada softa paliidziibu.

 

Pashlaik ir aktuaalaaka probleema, kas saistiita ar lapas navigaaciju.

Ir xml fails: https://www.acme.lv/data/xml/types.xml

 

No shii faila gribeetos ar vienalga ko izvilkt kategoriju un prechu nosaukumus, lai izveidotu lapas izveelni (kaa tas ir visaas veikalu lapaas), respektiivi, lai sanaak apmeeram taa:

 

Components
- CPU
- Intel
	 - Socket LGA775
	 - Socket 478
- AMD
- RAM
- Kingston
- A-Data
- Motherboards
- ASUS

utt.

 

Taadaa stilaa.

Mekleejos google, atradu vienu softu (xtreeme styler (vai kaut kas taads)), bet shameejais man to failu kaa neveera, taa neveera. Paareejie mekleeshanas rezultaati atgrieza visa veida menu izveide izmantojot xml, bet tur visur menu items jaaraksta ar roku, bet man gribeeto, lai izveelne veidotos dinamiski balstoties uz xml faila satura.

 

Ieteikumi?

Link to comment
Share on other sites

Izveido kontu, vai pieraksties esošajā, lai komentētu

Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas

Izveidot jaunu kontu

Piereģistrējies un izveido jaunu kontu, tas būs viegli!

Reģistrēt jaunu kontu

Pierakstīties

Jums jau ir konts? Pierakstieties tajā šeit!

Pierakstīties tagad!
 Share

×
×
  • Izveidot jaunu...