Elxis CMS Forum

Ελληνικό Forum => Πρόσθετα => Topic started by: nikos65 on July 09, 2009, 02:18:51

Title: Αποστολή αύξων αριθμού
Post by: nikos65 on July 09, 2009, 02:18:51
"Θα" έχω σε λίγες ημέρες το παρακάτω πρόβλημα:

Θα λάβω γύρω στα 1000 email και θα πρέπει να απαντήσω στο κάθε ένα μέ συγκεκριμένο κείμενο και το βασικότερο με ένα αριθμό το οποίο θα πρέπει να είναι αριθμημένο κατά την σειρά παραλαβής του email.

Θα μπορούσα εάν υπήρχε τρόπος να μην λάβω τα email αλλά να τους βάλω να κάνουν εγγραφή σε ένα component όπως το newsletter αλλά με την εγγραφή να στέλνει τον αύξων αριθμό (κάτι σαν κουπόνι) και ίσως ένα μικρό κείμενο. Εκείνο που είναι απαραίτητο είναι να μπορώ να χρησιμοποιήσω μελλοντικά την λίστα για αποστολή newsletters .

Επίσης να υπάρχει και η δυνατότητα να γίνει ξανά η ίδια διαδικασία από την αρχή αλλά με νέα κατηγορία.

Αυτό το ζητάω για μία κλήρωση που κάνω για ένα δώρο και πιθανόν θα χρειαστεί να το επαναλάβω.

Τι μου προτείνετε ; Υπάρχει κάτι έτοιμο ; Μπορεί να γίνει σε συνδυασμό με το Component Newsletter;
Title: Re: Αποστολή αύξων αριθμού
Post by: datahell on July 09, 2009, 08:36:22
Ο κωδικός αριθμός στην αρχή λες ότι θα παράγεται με βάση την σειρά παραλαβής των e-mail που σου στέλνουν, αλλά μετά λες ότι θα είναι με βάση την σειρά εγγραφής. Κατά αρχάς διευκρίνισε αυτό. Αν οι χρήστες υπάρχουν ήδη στη βάση δεδομένων είναι πολύ εύκολο να το κάνεις αυτό φτιάχνοντας ένα μικρό script-άκι.
Title: Re: Αποστολή αύξων αριθμού
Post by: nikos65 on July 09, 2009, 08:46:00
Μέχρι στιγμής έχω στο facebook πάνω από 650 μέλη τα οποία για να συμμετάσχουν στην κλήρωση θα πρέπει να κάνουν ή να στείλουν email ή να κάνουν εγγραφή π.χ στο newsletter .
 
Είτε συμβεί το ένα είτε το άλλο θα πρέπει να τούς στείλω ένα αριθμό για την συμμετοχή τους στην κλήρωση λογικά σύμφωνα με την σειρά εισαγωγής.
Οι χρήστες αυτοί δεν γραμμένοι στην βάση δεδομένων.
Λογικά αυτό θά πρέπει να γίνει ή μαζικά ή μετά την επιβεβαίωση της εγγραφής τους.
Title: Re: Αποστολή αύξων αριθμού
Post by: datahell on July 09, 2009, 09:19:21
Κατ' αρχάς πρέπει να τους καταχωρήσεις κάπου. Το Newsletter είναι μία εύκολη λύση, φτιάξε μία ομάδα στο newsletter και βάλτους εκεί. Το id της κάθε εγγραφής μπορεί να είναι ο αριθμός του καθενός. Αν θες να γράφονται μόνοι τους μπορώ να σου πω πως θα κάνεις μία μικρή επέμβαση στο newsletter ώστε κατά την εγγραφή να στέλνει το "id" σε αυτόν που γράφεται. Οπότε και αυτοί θα ξέρουν τον κωδικό τους και εσύ μετά θα μπορείς να κάνεις την κλήρωση με βάση αυτούς τους μοναδικούς αριθμούς. Τέλος, θα μπορείς να τους στείλεις κατευθείαν και ενημερωτικό δελτίο με τα αποτελέσματα της κλήρωσης. Νομίζω ότι είναι η καλύτερη και ευκολότερη λύση.

Για την επέμβαση στην εγγραφή του newsletter

Αρχείο components/com_newsletter.php
Γραμμή 297
Κάτω από αυτό:
if ($newsletter->cfg->get('VALIDATE_EMAIL')) {
γράψε:
if (!$row->sid) { //make sure sid was updated
   $database->setQuery("SELECT sid FROM #__iosnl_subscribers WHERE subemail='".$row->subemail."' AND subtime='".$row->subtime."'", '#__', 1, 0);
   $row->sid = (int)$database->loadResult();
}

Πήγαινε λίγες γραμμές παρακάτω, κάτω από αυτό:
$mailbody .= $confLink."\r\n\r\n";
Γράψε:
$mailbody .= "Your ID to participate in our lottery is: ".$row->sid."\r\n\r\n";

Είσαι έτοιμος!

Επίσης αν θες να μπαίνουν κατευθείαν στο group που θες πήγαινε λίγο παραπάνω και άλλαξε αυτό:
$row->subgroup = null;
στο group που θες (πρώτα να το έχεις φτιάξει στη διαχείριση του newsletter):
$row->subgroup = 'my special lottery newsletter group';
Title: Re: Αποστολή αύξων αριθμού
Post by: nikos65 on July 09, 2009, 09:31:37
Quote
στο newsletter ώστε κατά την εγγραφή να στέλνει το "id" σε αυτόν που γράφεται

Νομίζω ότι αυτό είναι η καλύτερη λύση και ίσως πιο έγκυρη . Θα σου ήμουν υπόχρεος για το script η αποστολή 1000 email για ένα αριθμό απαιτούν .....

Σε μελλοντική κλήρωση θα πρέπει να σβήνω τις καταχωρήσεις (αφού τις εξάγω) για να ξαναπάρει τον αύξων αριθμό από την αρχή;

Title: Re: Αποστολή αύξων αριθμού
Post by: datahell on July 09, 2009, 09:39:30
Μπορείς απλά να φτιάχνεις άλλο group, το μόνο πρόβλημα είναι ότι θα υπάρχουν διπλοεγγραφές (ένας χρήστης ως 2 άτομα σε δύο διαφορετικά group).
Title: Re: Αποστολή αύξων αριθμού
Post by: nikos65 on July 09, 2009, 10:00:44
Θα μπορεί να πάρει αύξων αριθμό πάλι από το μηδέν ; Γιατί στην κλήρωση συνήθως επιλέγονται οι 2 ή 3 τελευταίοι αριθμοί του αποτελέσματος της κλήρωσης π.χ του λαικού.

Μήπως θα μπορούσε να γίνει εάν κατά την εγκατάσταση ο επισκέπτης επέλεγε την ομάδα (κατηγορία)  και ο αύξων αριθμός ήταν π.χ. αντί "001" αλλά "group1-001" σύμφωνα με την εγγραφή σε κάθε ομάδα που είναι δημοσιευμένη και  για να ξεπερνιέται η εσωτερική διόρθωση της ομάδας;

Αλλά και πιθανόν η εγγραφή για μια κλήρωση που τρέχει αργότερα . Σε αυτή την περίπτωση οι διπλές εγγραφές δεν είναι πρόβλημα μπροστά στην χρησιμότητα..  ας πάρει 2 και 3 email επιπλέον. (Απλά μία ιδέα)

Αλλά και τα πιο απλά μου κάνουν από το να στείλω 1000 email
Title: Re: Αποστολή αύξων αριθμού
Post by: nikos65 on July 09, 2009, 10:26:44
Καλά έχω πάθει πλάκα ... μόλις τώρα είδα το script παραπάνω που πρόσθεσες  και το θέμα της ομάδας ούτε στο μυαλό μου να ήσουν ..
Γίνεται να παίρνουν νέο αύξων αριθμό ανά ομάδα ;

Title: Re: Αποστολή αύξων αριθμού
Post by: nikos65 on July 09, 2009, 11:51:23
Πώς μπορώ να μηδενίσω τον αυξ.αριθμό από την βάση δεδομένων γιατί διέγραψα τις παλιές εγγραφές αλλά στέλνει την συνέχεια από τον παλιό αριθμό ; Αυτό είναι χρήσιμο για να μπορέσω να ειδοποιήσω τον νικητή καθώς και να ενημερώσω κάποιον που το έχασε.


Το έκανα εγκατάσταση από την αρχή και η αρίθμηση είναι καινούργια  ;D
Title: Re: Αποστολή αύξων αριθμού
Post by: nikos65 on July 09, 2009, 11:56:33
Quote
Πήγαινε λίγες γραμμές παρακάτω, κάτω από αυτό:
$mailbody .= $confLink."\r\n\r\n";
Γράψε:
$maibody .= "Your ID to participate in our lottery is: ".$row->sid."\r\n\r\n";

Θέλει ένα "l"

Quote
$mailbody .= "Your ID to participate in our lottery is: ".$row->sid."\r\n\r\n";

Η παρέμβαση είναι καταπληκτική και δουλεύει άψογα  :) :)
Title: Re: Αποστολή αύξων αριθμού
Post by: nikos65 on July 09, 2009, 12:53:54
Ας κάνουμε και λίγο Spam  ;D

Quote
Εγγραφείτε στο Newsletter και με τον τρόπο αυτό δηλώστε συμμετοχή στην κλήρωση για την ανάδειξη δύο τυχερών ζευγαριών που θα κληρωθεί για  ΔΩΡΕΑΝ διαμονή ενός διήμερου στο Petros Penthouse & Studios (Ημερομηνία : Παρασκευή & Σάββατο 25 + 26 Σεπτεβρίου) και στο Sandras Studios (18 και 19 Σεπτεβρίου) στην Πάργα.

Με κάθε εγγραφή θα σας στέλνετε ο αύξων αριθμός του λαχνού σας η ανάδειξη του τυχερού αριθμού θα είναι ο αριθμός των τριών τελευταίων ψηφίων του Λαϊκού Λαχείου της εβδομάδας που σύντομα θα ανακοινώσουμε .

Η συμμετοχή είναι ελεύθερη και σας εύχομαι να κερδίσετε και να τα πούμε από κοντά  :)

www.e-epirus.com (http://www.e-epirus.com)
Title: Re: Αποστολή αύξων αριθμού
Post by: datahell on July 09, 2009, 14:30:48
Γιατί θα πρέπει να ξεκινάνε οι αριθμοί από το μηδέν; Δεν το καταλαβαίνω αυτό. Η κλήρωση θα γίνεται μεταξύ των id που υπάρχουν σε ένα συγκεκριμένο group και που έχουν κάνει confirm την εγγραφή τους. Την κλήρωση μπορείς να την κάνεις με ένα απλό query στη βάση:

$query = "SELECT sid FROM #__iosnl_subscribers WHERE confirmed='1' AND subgroup='XXX' ORDER BY ".$database->_resource->random;
$database->setQuery($query, '#__', 1, 0);
$id_nikiti = (int)$database->loadResult();

Απλά άλλαξε το όνομα του group από ΧΧΧ σε αυτό που θες.
Title: Re: Αποστολή αύξων αριθμού
Post by: nikos65 on July 09, 2009, 14:42:13
Quote
Γιατί θα πρέπει να ξεκινάνε οι αριθμοί από το μηδέν;

Συνηθίζεται να αναδεικνύετε ως νικητής ο τελευταίος  διψήφιος η τριψήφιος αριθμός του πρώτου λαχνού του λαϊκού λαχείου .

Στο μέλλον μάλλον θα το  κάνω με τον τρόπο που μου προτείνεις !
Για να γίνει αυτό πρέπει τις γραμμές αυτές να τις ενσωματώσω κάπου; (Δεν ξέρω πως να το κάνω! ::) )
Title: Re: Αποστολή αύξων αριθμού
Post by: rentasite on July 09, 2009, 15:24:20
Quote
Γιατί θα πρέπει να ξεκινάνε οι αριθμοί από το μηδέν;

Συνηθίζεται να αναδεικνύετε ως νικητής ο τελευταίος  διψήφιος η τριψήφιος αριθμός του πρώτου λαχνού του λαϊκού λαχείου .

Στο μέλλον μάλλον θα το  κάνω με τον τρόπο που μου προτείνεις !
Για να γίνει αυτό πρέπει τις γραμμές αυτές να τις ενσωματώσω κάπου; (Δεν ξέρω πως να το κάνω! ::) )

Νίκο, καλύτερα όπως το λες: νικητής ο τελευταίος  διψήφιος η τριψήφιος αριθμός κάποιου κρατικού λαχνού. Για ευνόητους λόγους...
Title: Re: Αποστολή αύξων αριθμού
Post by: giannismit on July 09, 2009, 23:24:45
Αν όμως οι συμμετοχές είναι 899 και ο τελευταίος τριψήφιος αριθμός του Λαϊκού είναι 890 τι θα κάνεις;
Για διψήφιο πρέπει να έχεις λιγότερες από 99 συμμετοχές για να δουλέψει, διαφορετικά θα έχεις ίδια νούμερα π.χ.: (άν βγει το 22, και εσύ έχεις 420 συμμετοχές θα υπάρχει το 22, 122, 222, 322)
Το ίδιο πρόβλημα θα έχεις και εάν πάρεις τριψήφιο και οι συμμετοχές είναι πάνω από 1000.

Το καλύτερο είναι να πάρεις το τελευταίο ψηφίο από το λαϊκό και να κερδίσουν όσοι έχουν αυτό τον αριθμό.
Έτσι θα έλθει και το 1/10 του φόρουμ για ένα διήμερο στην Πάργα.
 ;D
Title: Re: Αποστολή αύξων αριθμού
Post by: rentasite on July 09, 2009, 23:41:54

Όπως και να χει. Ας βρει κάποιον τρόπο βάση μιας Κρατικής κλήρωσης. Είναι θέμα αξιοπιστίας. Προς Θεού δεν υπονοώ τπτ για τον Νίκο. Αλλά μιλάω με την ψυχολογία του συμμετέχοντα (εάν και έως τώρα δεν έχω λάβει μέρος  ;D ).

Κατά καιρούς έχω πάρει πραγματικούς λαχνούς, οι οποίοι βασίζονται σε κληρώσεις κρατικών λαχείων. Εάν μου λέγανε για δικές τους κληρώσεις... θα ήμουν λίγο δύσπιστος.
Title: Re: Αποστολή αύξων αριθμού
Post by: datahell on July 09, 2009, 23:56:30
Αν θες να το κάνεις με το Λαχείο να μία ιδέα (σε κάτι τέτοια έχω πολύ φαντασία ;) ):

Πόσα ψηφία έχει ο αριθμός του λαχείου; Πες ότι έχει 6, έστω 451410
Έστω ότι έχεις 5 συμμετέχοντες με ID:
Α: 319
Β: 320
Γ: 356
Δ: 1024
Ε: 1500

Για να είναι σωστή και αντικειμενική η κλήρωση διατηρώντας ίσες πιθανότητες, στο ID του κάθε συμμετέχοντα που έχει μικρότερο μήκος από το μεγαλύτερο του group προσθέτεις ένα μηδέν στην αρχή. Έτσι έχουμε σε πρώτη φάση:

Α: 0319
Β: 0320
Γ: 0356
Δ: 1024
Ε: 1500

Τώρα αν επειδή το λαχείο έχει 6 ψηφία και οι αριθμοί μας 4 προσθέτεις στα ID τα πρώτα ψηφία που κέρδισαν έτσι ώστε να φθάσει σε μήκος αυτό του λαχείου. Έτσι έχουμε:

Α: 450319
Β: 450320
Γ: 450356
Δ: 451024
Ε: 451500

Αυτός που είναι πιο κοντά στον αριθμό του λαχείου κερδίζει. Αν είναι 2 (το λαχείο είναι στη μέση 2 id) κερδίζει αυτός που έχει τον χαμηλότερο αριθμό.

Στο συγκεκριμένο παράδειγμα θα κερδίσει ο E (451500).

Μπορείς να σκεφτείς και άλλες λύσεις, αυτή είναι μία ιδέα.

Λογικά τα ID των συμμετοχόντων θα είναι συνεχόμενα εγώ στα έβαλα με διαφορετικό μήκος για να δεις πως θα δουλεύει το σύστημα. Επειδή είνα σκέψη της στιγμής πολύ πιθανόν να υπάρχει κάποιο θεματάκι. Σκέψου το καλύτερα.
Title: Re: Αποστολή αύξων αριθμού
Post by: nikos65 on July 10, 2009, 01:41:25
Σας ευχαριστώ για τις προτάσεις οι οποίες είναι πολύ καλές αλλά όταν έχεις να κάνεις με πολλούς η δυσπιστία είναι κάτι που σίγουρα θα την αντιμετωπίσεις..

Η λύση που έδωσα είναι πολύ απλή εάν ο τριψήφιος αριθμός που βγεί δεν περιλαμβάνεται στην λίστα τότε έχω ανακοινώσει την επόμενη κλήρωση εάν ακόμα και τότε δεν είναι τότε στην επόμενη.

Οι αρχή των κληρώσεων θα ξεκινήσει στις 30/7 και οι ημερομηνίες των κρατήσεων είναι μετά τα μέσα Σεπτεμβρίου ... λογικά κάποιο νούμερο θα βγεί.. ελπίζω  ;D

Title: Re: Αποστολή αύξων αριθμού
Post by: babis1 on July 10, 2009, 07:42:19
νικο βαλε το mogulus και μια καμερα, πες τους οτι η κληρωση θα γινει ζωντανα την ταδε του μηνος στο ταδε site την ταδε ωρα, παρε χαρτακια και μια γυαλα και κανε την κληρωση ζωντανα !!!  ; D
Title: Re: Αποστολή αύξων αριθμού
Post by: rentasite on July 10, 2009, 08:11:17

Ε με τη λογική αυτή, ας βρει κανέναν συμβολαιογράφο. Κι ας κάνει την κλήρωση στο γραφείο του, χωρίς κάμερες χωρίς τπτ, παρουσία του συμβολαιογράφου. Με μια απλή πρόσκληση για όποιον θέλει να παραβρεθεί.  ::)

Δεν έχεις παράπονο, απο λύσεις άλλο τπτ !!!