theoamd Δημοσιεύτηκε Μάρτιος 3, 2013 #1 Κοινοποίηση Δημοσιεύτηκε Μάρτιος 3, 2013 Κι άλλο post!Πάει, το 'χω πάρει εγωιστικά το συγκεκριμένο subforum, θα γεμίσει με δικά μου post.Anyway, πως μπορεί να υλοποιηθεί η παραπάνω ερώτηση;Δεν θέλω να μπω στη διαδικασία κάποιου script της μορφής while(1) { // do things here if($your_condition === TRUE) { break 1; } sleep(3); } .Θα ήθελα κάτι περισσότερο βελτιστοποιημένο, γιατί το τελικό script θα χειρίζεται 4 βάσεις δεδομένων, οπότε όσο περισσότερο χρόνο κερδίζουμε από optimised κώδικα, τόσο το καλύτερο. Link to comment Share on other sites More sharing options...
SirDiman Μάρτιος 3, 2013 #2 Κοινοποίηση Μάρτιος 3, 2013 Αν θελεις optimized μη ξεχασεις επισης να το κανεις compile με τα κατάλληλα flags Link to comment Share on other sites More sharing options...
nucleus Μάρτιος 4, 2013 #3 Κοινοποίηση Μάρτιος 4, 2013 Γιατί το θες αυτό?Και για τι τύπο sql command?INSERT UPDATE DELETE και σε τι DBMS?SQL Server?Oracle?MySQL? Link to comment Share on other sites More sharing options...
l2phile Μάρτιος 4, 2013 #4 Κοινοποίηση Μάρτιος 4, 2013 Για ποιον λόγο να τσεκάρεις εσύ την βάση, ενώ μπορείς να βάλεις την σελίδα/πρόγραμμα να σε ειδοποιεί μόλις γίνει παραγγελία; Link to comment Share on other sites More sharing options...
theoamd Μάρτιος 5, 2013 Author #5 Κοινοποίηση Μάρτιος 5, 2013 Γιατί το θες αυτό?Και για τι τύπο sql command?INSERT UPDATE DELETE και σε τι DBMS?SQL Server?Oracle?MySQL? INSERT σε MySQL. Για ποιον λόγο να τσεκάρεις εσύ την βάση, ενώ μπορείς να βάλεις την σελίδα/πρόγραμμα να σε ειδοποιεί μόλις γίνει παραγγελία; Καταλαβαίνω τι θέλεις να πεις, γιατί τα καταστήματα είναι γραμμένα σε opencart, το οποίο παρέχει άρτια τη συγκεκριμένη λειτουργία στο admin panel. Το θέμα είναι, όμως, ότι θέλουμε, αυτό να γίνεται για 4 καταστήματα. μη ξεχασεις επισης να το κανεις compile με τα κατάλληλα flags PHP script μου έχει ζητηθεί. Link to comment Share on other sites More sharing options...
l2phile Μάρτιος 5, 2013 #6 Κοινοποίηση Μάρτιος 5, 2013 Καταλαβαίνω τι θέλεις να πεις, γιατί τα καταστήματα είναι γραμμένα σε opencart, το οποίο παρέχει άρτια τη συγκεκριμένη λειτουργία στο admin panel. Το θέμα είναι, όμως, ότι θέλουμε, αυτό να γίνεται για 4 καταστήματα.if store_id = X steile email sto x@x.grelseif store_id = Y steile email sto Y@Y.gr....EDIT: Έχεις 4 καταστήματα στημένα στο ίδιο opencart? Link to comment Share on other sites More sharing options...
theoamd Μάρτιος 5, 2013 Author #7 Κοινοποίηση Μάρτιος 5, 2013 Δεν θέλω mail.Πρέπει απλώς να είναι κάτι σαν εκτελέσιμο αρχείο, το οποίο με το που τεθεί σε λειτουργία, θα εμφανίζει ένα παράθυρο, στο οποίο θα καταγράφεται κάθε παραγγελία(από τη στιγμή που έχει ανοίξει το παράθυρο και έπειτα) που αφορά τα 4 καταστήματα.Πρόκειται, επίσης, για 4 διαφορετικά καταστήματα, δηλαδή 4 διαφορετικά opencart. Link to comment Share on other sites More sharing options...
nucleus Μάρτιος 6, 2013 #8 Κοινοποίηση Μάρτιος 6, 2013 Φτιάχνεις ένα trigger στην mysql βάση του κάθε opencart.MySQL :: MySQL 5.0 Reference Manual :: 18.3 Using TriggersΜετά μπορείς να κάνεις αυτό.MySQL :: MySQL 5.0 Reference Manual :: B.5 MySQL 5.0 FAQ: TriggersΠροσωπικά δεν το προτείνω καθόλου.Τι θα γίνει αν το εξωτερικό πρόγραμμα αποτύχει στην εκτέλεση του.Εγώ θα το έκανα με τον παρακάτω τρόπο,πάλι με triggers.Φτιάχνεις πάλι ένα trigger για τα inserts ή updates στο table που θες στην Mysql.Μέσα στο trigger κάνεις export σε xml τα δεδομένα που θες πχ την πιο πρόσφατη εγγραφή.Διαφορετικό xml αρχείο για κάθε opencart.ΠερισσότεραMySQL :: Using XML in MySQL 5.1 and 6.0.Τώρα πια το μόνο που έχει να κάνει το php script σου ή εξωτερική εφαρμογή είναι να διαβάζει τα xml αρχεία. Link to comment Share on other sites More sharing options...
l2phile Μάρτιος 6, 2013 #9 Κοινοποίηση Μάρτιος 6, 2013 Ή 4 select και refresh στον headerMeta refresh - Wikipedia, the free encyclopediaΑπλά δεν χρειάζεται να το κάνεις ανά 2 sec. Κάντο ανά 30+. Παραγγελία είναι, δεν πεθαίνει κανείς. Link to comment Share on other sites More sharing options...
theoamd Μάρτιος 24, 2013 Author #10 Κοινοποίηση Μάρτιος 24, 2013 Επιστρέφοντας στο thread... Τελικά χρειάστηκα μόνο php. Παραθέτω τον κώδικά μου και ένα screenshot: <?php header('Refresh: 5');echo '<body bgcolor="cccccc">';$con=mysql_connect("server","myusername","mypass");$db1="mydatabase";if (!$con) { die('Could not connect: ' . mysql_error()); }else{echo 'Connected successfully';echo "<br>";}mysql_select_db($db1,$con);$sql="SELECT * FROM shoes ORDER BY Id DESC";$result=mysql_query($sql,$con);if (!($result)) { die('Error1: '.mysql_error()); } else { echo 'Successfull query!'; } echo "<br/>"; echo "<br/>"; echo '<table border="5" cellpadding="6" cellspacing="0">'; echo '<tr bgcolor="#ccmkcc"><td><font color="red">Id</font</td><td><font color="white">Brand</font></td><td>Color</td><td>Size</td><td>Quantity</td><td>DatabaseName</td></tr>'; //echo '<tr><td>Id</td><td>Brand</td><td>Color</td><td>Size</td><td>Quantity</td></tr>';$num_results=mysql_num_rows($result);for($i=0;$i<$num_results;$i++){ $row=mysql_fetch_assoc($result); if($i%2===0) { echo '<tr bgcolor="#E0FFFF" >'; echo '<td align="left">';echo($row['id']); echo '</td>'; echo '<td align="center">';echo($row['Brand']); echo '</td>'; echo '<td align="center">';echo($row['Color']);echo '</td>'; echo '<td align="center">';echo($row['Size']);echo '</td>'; echo '<td align="right">';echo($row['Quantity']);echo '</td>'; echo '<td align="right">';echo $db1;echo '</td>'; echo '<tr/>'; } else { echo '<tr bgcolor="#FDF5E6">'; echo '<td align="left">';echo($row['id']); echo '</td>'; echo '<td align="center">';echo($row['Brand']); echo '</td>'; echo '<td align="center">';echo($row['Color']);echo '</td>'; echo '<td align="center">';echo($row['Size']);echo '</td>'; echo '<td align="right">';echo($row['Quantity']);echo '</td>'; echo '<td align="right">';echo $db1;echo '</td>'; echo '<tr/>'; } }echo '</table><br />';?> Το θέμα μας πλέον είναι η ταυτόχρονη διαχείριση 4 βάσεων και όχι μιας. Σκέφτομαι ότι λογικά, το όλο θέμα θα ήταν optimised δημιουργώντας μια κλάση γι' αυτή τη δουλειά, αλλά δεν το κατέχω και πολύ το θέμα web developing, γι' αυτό και ρωτάω, μήπως κανείς θα μπορούσε να μου υποδείξει κάποια πρότυπη μορφή της εν λόγω κλάσης και των 4 αντικειμένων, καθώς πιέζει και ο χρόνος παράλληλα. Link to comment Share on other sites More sharing options...
backgman Μάρτιος 27, 2013 #11 Κοινοποίηση Μάρτιος 27, 2013 Καλησπέρα,πόσο σίγουρος είσαι ότι όσο μεγαλώνει η βάση η MySQL θα μπορεί να σου απαντάει σε 1 (ή πολυ περισσότερο σε 4) select μέσα σε 2 sec? Και indices να βάλεις υπάρχει μεγάλη πιθανότητα να έχεις πρόβλημα.Με το συγκεκριμένο τρόπο που λύνεις το πρόβλημα στην ουσία βάζεις ένα όριο στο πλήθος των γραμμών που μπορούν να έχουν τα tables που κάνεις select ώστε να σου επιστρέφει αποτελέσματα η MySQL σε λιγότερο απο 2 sec.Δοκίμασε να μεγαλώσεις αρκετά τα tables (ή δοκίμασε με sample μεγάλες DBs). Link to comment Share on other sites More sharing options...
theoamd Μάρτιος 27, 2013 Author #12 Κοινοποίηση Μάρτιος 27, 2013 Δεν είπα ότι είναι πρότυπη η λύση μου.Αν έχεις να προτείνεις κάτι άλλο, καλοδεχούμενο. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.