Ανάγνωση από xml και εισαγωγή σε βάση δεδομένων

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Akis_gr49
Δημοσιεύσεις: 266
Εγγραφή: 07 Ιουν 2007 13:49

Ανάγνωση από xml και εισαγωγή σε βάση δεδομένων

Δημοσίευση από Akis_gr49 » 15 Μάιος 2009 12:51

Γεια σας,

Θα ήθελα να μου πείτε τη γνώμη σας για το παρακάτω και αν γίνεται αρχικά.

Μια εταιρία με βιβλία έχει live ένα xml με όλα τα βιβλία της (www.etairia.gr/vivlia.xml).

<vivlia>
<last_modified>15/05/2009 10:29</last_modified>
<vivlio>
<type>xxx</type>
<id>234</id>
<updated>15/05/2009 15:46</updated>
<name>Bookname</name>
<price>38</price>
</vivlio>
<vivlia>

Θέλω να φτιάξω ένα σκριπτάκι το οποίο όταν γίνεται το update του xml (θα διαβάσει το τελευταίο last_modified με αυτό που είχα στην βάση μου) να κάνει update την βάση δεδομένων με τα νέα στοιχεία.

Γίνεται αυτό; Είναι προγραμματιστικά νοητό;
Επίσης αν έχω 10000 βιβλία δεν θα σέρνεται ο server μου κάθε φορά που γίνεται το update;

Ευχαριστώ εκ των προτέρων παιδιά.

Akis_gr49
Δημοσιεύσεις: 266
Εγγραφή: 07 Ιουν 2007 13:49

Ανάγνωση από xml και εισαγωγή σε βάση δεδομένων

Δημοσίευση από Akis_gr49 » 19 Μάιος 2009 23:00

Κανείς παιδιά;

Άβαταρ μέλους
SpyrosR
Δημοσιεύσεις: 5
Εγγραφή: 02 Μάιος 2009 16:49
Τοποθεσία: Σταμάτα

Ανάγνωση από xml και εισαγωγή σε βάση δεδομένων

Δημοσίευση από SpyrosR » 21 Μάιος 2009 16:02

Καλησπέρα. :D

Αυτό που ζητάς γίνεται, αλλά δεν είναι ούτε ο πιο σωστός ούτε και ο ταχύτερος τρόπος. Υπάρχει λόγος που χρησιμοποιείς αρχείο .xml και δε κάνεις απευθείας τις αλλαγές στη βάση;

Στη θέση σου θα το υλοποιούσα με DOM, και σου γράφω ένα μικρό παράδειγμα:

Κώδικας: Επιλογή όλων

<?xml version="1." encoding="ISO-8859-1"?>

<books>
	<last_modified>15/05/2009 10&#58;29</last_modified>
	<book>
		<type>XXX</type>
		<id>234</id>
		<updated>15/05/2009 15&#58;46</updated>
		<name>Bookname</name>
		<price>38</price>
	</book>
</books>

Κώδικας: Επιλογή όλων

<?php

	$books = new DOMDocument&#40;&#41;;
	$books->load&#40;"books.xml"&#41;;


	$book = $books->getElementsByTagName&#40;"book"&#41;;

	foreach&#40; $book as $value &#41; &#123;
	
		$name = $value->getElementsByTagName&#40;"name"&#41;;
		$dataOut = $name->item&#40;0&#41;->nodeValue;

		//
		// Κλπ...
		//

	&#125;

?>
Δε θα ανανεώνονται όλες οι εγγραφές ταυτόχρονα, οπότε μη φοβάσαι για την ταχύτητα και πολύ. Αλλά σαφώς μια βάση δεδομένων τα καταφέρνει καλύτερα απ' το XML σε τέτοια ζητήματα.

Akis_gr49
Δημοσιεύσεις: 266
Εγγραφή: 07 Ιουν 2007 13:49

Ανάγνωση από xml και εισαγωγή σε βάση δεδομένων

Δημοσίευση από Akis_gr49 » 21 Μάιος 2009 21:06

Γεια σου Σπύρο,

Αρχικά να σε ευχαριστήσω πολύ για την ανταπόκρισή σου.

Υπάρχει λόγος που χρησιμοποιείς αρχείο .xml και δε κάνεις απευθείας τις αλλαγές στη βάση;

Όπως επισήμανα είναι μια εταιρία με βιβλία η οποία έχει live ένα xml με όλα τα βιβλία της (www.etairia.gr/vivlia.xml).

Οπότε δεν κάνω εγώ την εισαγωγή στην βάση.

Το σκριπτάκι που θα φτιάξω πως θα γίνει όμως να ανανεώνεται αυτόματα;

Άβαταρ μέλους
SpyrosR
Δημοσιεύσεις: 5
Εγγραφή: 02 Μάιος 2009 16:49
Τοποθεσία: Σταμάτα

Ανάγνωση από xml και εισαγωγή σε βάση δεδομένων

Δημοσίευση από SpyrosR » 21 Μάιος 2009 23:38

Εννοείς να τρέχει από μόνο του ανά τακτά διαστήματα;

Ο δεδομένος τρόπος είναι με τη χρήση cron jobs (αν είσαι σε *NIX server φυσικά). Αυτό εδώ θα σε βοηθήσει. Υποθέτω και τα Windows Server θα έχουν αντίστοιχη λειτουργία, αλλά δε τη γνωρίζω.

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες