Κωδικας για radom κωδικες...

Ερωτήσεις και απαντήσεις σχετικές με την HTML, XHTML και την κατασκευή σελίδων για το Web.

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

Απάντηση
gotham78
Δημοσιεύσεις: 177
Εγγραφή: 22 Οκτ 2009 00:57

Κωδικας για radom κωδικες...

Δημοσίευση από gotham78 » 01 Ιουν 2013 20:59

Θελω εναν κωδικα που να διαχειριζεται random κωδικες. :o

Δηλαδη εστω οτι εχω μια θεση σε custom module στο site 400x200 και θελω εκει να παιζουν π.χ. 4 συγκεκριμενα βιντεακια απο το youtube. Οποτε εχω τους 4 embedd κωδικες.Τι μπορω να κανω Δεν θελω ομως να παιζουν μαζι. Θελω σε καθε refresh να εμφανιζεται τυχαια ενα απο αυτα ή ακομα καλυτερα κυκλικα.

Άβαταρ μέλους
burnmind
Script Master
Δημοσιεύσεις: 954
Εγγραφή: 26 Σεπ 2009 02:14
Τοποθεσία: UK
Επικοινωνία:

Κωδικας για radom κωδικες...

Δημοσίευση από burnmind » 01 Ιουν 2013 22:58

Κατ' αρχήν, θα χρησιμοποιήσεις μόνο έναν embed κώδικα, στον οποίο θα αντικαθιστάς απλά το ID του εκάστοτε video. Έτσι, αν μεθαύριο θέλεις να αλλάξεις κάτι στον κώδικα, θα είναι ανεξάρτητος από το κάθε video.

Από εκεί και πέρα, δεν αναφέρεις ποια γλώσσα σε ενδιαφέρει, αλλά η λογική είναι ίδια στις περισσότερες γλώσσες:

Αν θέλεις απλά κάτι random, τότε βάζεις όλες τα IDs σε ένα array, και τραβάς ένα randomly κάθε φορά, το οποίο το τοποθετείς στον embed κώδικα που υπάρχει στο σημείο που θέλεις. Ο τρόπος διαφέρει ανάλογα με τη γλώσσα. Για παράδειγμα, για php δες εδώ, και για JavaScript εδώ.

Αν θέλεις μία πιο ομοιόμορφη κατανομή, τότε μία γρήγορη λύση (πολύ πιθανό να υπάρχει και καλύτερος τρόπος) είναι η εξής: Αποθηκεύεις σε μία βάση τα IDs, μαζί με ένα πεδίο views. Σε κάθε προβολή της σελίδας σου, επιλέγεις αυτό με τα λιγότερα views (αν υπάρχουν πάνω από ένα με τα ίδια views, τότε η βάση σου επιστρέφει ένα randomly), και του προσθέτεις ένα view.

gotham78
Δημοσιεύσεις: 177
Εγγραφή: 22 Οκτ 2009 00:57

Κωδικας για radom κωδικες...

Δημοσίευση από gotham78 » 19 Ιουν 2013 00:44

Εγω είπα σαν παραδειγμα τα βιντεο. Μπορεί να είναι διαφημίσεις, μπορεί να είναι εικονα. Θελω δηλαδη ενα ολικο κώδικα που να μπορω να βάζω μέσα του 4-5 υποκώδικες :o που θα παίζουν τυχαία ή κυκλικα ένας καθε φορά.

ΚΩΔΙΚΑΣ
|
|__ΥΠΟΚΩΔΙΚΑΣ 1 (ΠΧ. ΒΙΝΤΕΟ 1)
|
|__ΥΠΟΚΩΔΙΚΑΣ 2 (ΠΧ. ΒΙΝΤΕΟ 2)
|
|__ΥΠΟΚΩΔΙΚΑΣ 3 (ΠΧ. BANNER1)
|
|__ΥΠΟΚΩΔΙΚΑΣ 4 (ΠΧ. ΕΙΚΟΝΑ)
|
|__ΥΠΟΚΩΔΙΚΑΣ 5 (ΠΧ. BANNER2)
|
|
ΚΛΕΙΣΙΜΟ ΚΩΔΙΚΑ


ΟΠΟΤΕ ΕΓΩ ΑΝ ΘΕΛΩ ΝΑ ΒΓΑΛΩ ΑΣ ΠΟΥΜΕ ΤΟ BANNER2 ΚΑΙ ΝΑ ΒΑΛΩ ΕΝΑ ΑΚΟΜΑ ΒΙΝΤΕΟ, ΝΑ ΑΛΛΑΞΩ ΤΟΝ ΥΠΟΚΩΔΙΚΑ 5

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

Κωδικας για radom κωδικες...

Δημοσίευση από alou » 19 Ιουν 2013 21:48

Αφού σου απάντησε ο burnmind για τη λογική και τις εναλλακτικές, αν πεις και σε τι γλώσσα δουλεύεις θα δούμε και τον κώδικα.

Σε php η πιο απλή λύση θα ήταν:

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

$modules = array(
    "<iframe 1 ...>",
    "<iframe 2 ...>",
    "<iframe 3 ...>",
    ...
&#41;;

$selection = array_rand &#40;$modules, 1&#41;;
και στο σημείο που θες, το τυπώνεις έτσι:

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

echo $modules&#91;$selection&#93;;
Αν θες μπορείς να επιλέξεις και παραπάνω από μία τυχαίες τιμές (πχ για δυο modules) με δυο μικροαλλαγές:
$selection = array_rand ($modules, 2); όπου εδώ το 2 είναι πόσα κομμάτια του array θες, και

$modules[$selection[0]]; για το πρώτο και
$modules[$selection[1]]; για το δεύτερο


Πάντως, πιο σωστή λύση θα ήταν αυτή που εμπλέκει views και βάση δεδομένων.

gotham78
Δημοσιεύσεις: 177
Εγγραφή: 22 Οκτ 2009 00:57

Κωδικας για radom κωδικες...

Δημοσίευση από gotham78 » 20 Ιουν 2013 03:54

Βασικά σε widget σε wp θελω να το βαλω αυτο
Εικόνα

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

Κωδικας για radom κωδικες...

Δημοσίευση από alou » 20 Ιουν 2013 12:52

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

gotham78
Δημοσιεύσεις: 177
Εγγραφή: 22 Οκτ 2009 00:57

Κωδικας για radom κωδικες...

Δημοσίευση από gotham78 » 20 Ιουν 2013 14:25

Το εβαλα εδω γιατι ηθελα να βρω καποιο γενικο κωδικα που θα μπορουσα να τον βαλω σε module και σε wp και σε joomla κλπ. Προς το παρων βρηκα μια λυση με ενα ad widget στο οποιο ειναι για διαφημισεις και εγω αντι να βαλω κωδικα διαφημισης βαζω τον εκαστοτε κωδικα που θελω.

Απλα επειδη ηθενα να μπορουσα να το χρησιμοποιησω και σε κατι εκτος wp για αυτο ρωτησα.
Εικόνα

servetas
Δημοσιεύσεις: 304
Εγγραφή: 01 Φεβ 2010 15:08
Επικοινωνία:

Κωδικας για radom κωδικες...

Δημοσίευση από servetas » 20 Ιουν 2013 17:32

Άμα το έκανες μέσα απο μια βάση δεδομένων και έκανες SELECT μια τυχαία τιμή κάθε φορά;

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Κωδικας για radom κωδικες...

Δημοσίευση από gvre » 21 Ιουν 2013 11:28

gotham78 έγραψε:Θελω εναν κωδικα που να διαχειριζεται random κωδικες. :o

Δηλαδη εστω οτι εχω μια θεση σε custom module στο site 400x200 και θελω εκει να παιζουν π.χ. 4 συγκεκριμενα βιντεακια απο το youtube. Οποτε εχω τους 4 embedd κωδικες.Τι μπορω να κανω Δεν θελω ομως να παιζουν μαζι. Θελω σε καθε refresh να εμφανιζεται τυχαια ενα απο αυτα ή ακομα καλυτερα κυκλικα.
Αρχικά θα πρέπει να σκεφτείς αν το refresh ή η κυκλική εμφάνιση θα είναι ανά χρήστη ή για όλους τους χρήστες. Αν θέλεις να ισχύει ανά χρήστη είναι λίγο πιο σύνθετο το πρόβλημα. Επίσης, σε περίπτωση που έχεις μικρό σύνολο (π.χ. 4) από το οποίο θέλεις να κάνεις τυχαία επιλογή, υπάρχει μεγάλη πιθανότητα να εμφανίσεις 2 συνεχόμενες φορές το ίδιο αντικείμενο. Αν έχεις μεγάλο σύνολο, μπορείς να κάνεις ένα SELECT με ORDER BY RAND() LIMIT 1, όπως έγραψε και ο servetas. Αν έχεις πάρα πολύ μεγάλο σύνολο, δεν ενδείκνυται το ORDER BY RAND() για λόγους απόδοσης.

gotham78
Δημοσιεύσεις: 177
Εγγραφή: 22 Οκτ 2009 00:57

Κωδικας για radom κωδικες...

Δημοσίευση από gotham78 » 21 Ιουν 2013 21:31

Παιδια ακουστε μηπως και γινει πιο κατανοητο αυτο που θελω. Πιστευω ειναι απλουστατο απλα δεν ξερω τον κωδικα. Δεν θελω mysql, συμπεριφορα ανα χρηστη κλπ. Ας πουμε ενα ΑΠΛΟΥΣΤΑΤΟ παραδειγμα να μου πειτε πως θα το εκανα.

εστω οτι εχω το χωρο myhost/ και domain myhost.gr και μεσα εκει φορτωνω ΜΙΑ ΣΕΛΙΔΑ ΜΟΝΟ στατικη index.php και τιποτα αλλλο. οποτε οταν καποιος πληκτρολογει myhost.gr εγω θελω η σελιδα να του εμφανιζει, κυκλικα ή random δεν με νοιαζει, ενα απο τα 5 βιντεο ή φωτος που θα του εχω δηλωσει εγω (τον κωδικα των βιντεος και των φωτος μπορω να τον φτιάξω/βρω). το θεμα ειναι πως θα τρέχει ενας καθε φορα?

Άβαταρ μέλους
nikosdimos
Δημοσιεύσεις: 70
Εγγραφή: 22 Σεπ 2007 17:07

Κωδικας για radom κωδικες...

Δημοσίευση από nikosdimos » 22 Ιουν 2013 00:05

Επειδή απ' ότι φαίνεται δεν σου αρέσουν οι «πιο ολοκληρωμένες» λύσεις που σου προτάθηκαν παραπάνω πάρε και μια «μπακαλίστικη».

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

<?php
$i = mt_rand&#40;1, 15&#41;; // βάζεις το εύρος, εδώ 1 έως και 15

switch &#40;$i&#41; &#123;
    case 0&#58;
        echo "i equals 0"; //σε κάθε case βάζεις το εκάστοτε link για το banner σου.
        break;
    case 1&#58;
        echo "i equals 1";
        break;
    case 2&#58;
        echo "i equals 2";
        break;
&#125;
?>

gotham78
Δημοσιεύσεις: 177
Εγγραφή: 22 Οκτ 2009 00:57

Κωδικας για radom κωδικες...

Δημοσίευση από gotham78 » 22 Ιουν 2013 02:02

nikosdimos έγραψε:Επειδή απ' ότι φαίνεται δεν σου αρέσουν οι «πιο ολοκληρωμένες» λύσεις που σου προτάθηκαν παραπάνω πάρε και μια «μπακαλίστικη».

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

<?php
$i = mt_rand&#40;1, 15&#41;; // βάζεις το εύρος, εδώ 1 έως και 15

switch &#40;$i&#41; &#123;
    case 0&#58;
        echo "i equals 0"; //σε κάθε case βάζεις το εκάστοτε link για το banner σου.
        break;
    case 1&#58;
        echo "i equals 1";
        break;
    case 2&#58;
        echo "i equals 2";
        break;
&#125;
?>

Μπράβο ρε φιλε κατι τετοιο στυλ ηθελα. Μπακαλίστικο :oops: Εφτιαξα ομως ενα test.php να το δοκιμασω και μου πεταξε error στη γραμμη 7.

Ο κωδικας που εβαλα να δοκιμασω ειναι ο παρακατω

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

<?php 
$i = mt_rand&#40;1, 3&#41;; // βάζεις το εύρος, εδώ 1 έως και 15 

switch &#40;$i&#41; &#123; 
    case 0&#58; 
        echo "i equals 0"; //σε κάθε case βάζεις το εκάστοτε link για το banner σου. 
<iframe width="640" height="360" src="http&#58;//www.youtube.com/embed/R4F3UIGYKxk" frameborder="0" allowfullscreen></iframe>
        break; 
    case 1&#58; 
        echo "i equals 1"; 
<a href="http&#58;//www.flickr.com/photos/36418300@N02/3362016992/" title="IC434 - The 2009 Astronomy Picture of the Year by mpastro2001, on Flickr"><img src="http&#58;//farm4.staticflickr.com/3582/3362016992_d104756e1c.jpg" width="480" height="500" alt="IC434 - The 2009 Astronomy Picture of the Year"></a>
        break; 
    case 2&#58; 
        echo "i equals 2"; 
<a href="http&#58;//www.flickr.com/photos/74075989@N00/3393337901/" title="Star Trails Blue Mountains by Ted Dobosz, on Flickr"><img src="http&#58;//farm4.staticflickr.com/3664/3393337901_04de90aabe.jpg" width="500" height="333" alt="Star Trails Blue Mountains"></a>
        break; 
&#125; 
?> 
[/code]

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Κωδικας για radom κωδικες...

Δημοσίευση από korgr » 22 Ιουν 2013 08:32

Λογικό είναι το error όταν συμπεριφέρεσαι στον html κώδικα σαν να είναι php
Ή θα ανοιγοκλείνεις την php όπου μεσολαβεί η html ή θα βάλεις την html μέσα σε php echo

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

Κωδικας για radom κωδικες...

Δημοσίευση από alou » 22 Ιουν 2013 09:13

Τον μπακαλίστικο κώδικα τον είχες από την αρχή αλλά δεν έδωσες σημασία οπότε θεώρησα ότι θες κάτι διαφορετικό...

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

<?php
$modules = array&#40;
    '<iframe width="640" height="360" src="http&#58;//www.youtube.com/embed/R4F3UIGYKxk" frameborder="0" allowfullscreen></iframe>',
    '<a href="http&#58;//www.flickr.com/photos/36418300@N02/3362016992/" title="IC434 - The 2009 Astronomy Picture of the Year by mpastro2001, on Flickr"><img src="http&#58;//farm4.staticflickr.com/3582/3362016992_d104756e1c.jpg" width="480" height="500" alt="IC434 - The 2009 Astronomy Picture of the Year"></a>',
    '<a href="http&#58;//www.flickr.com/photos/74075989@N00/3393337901/" title="Star Trails Blue Mountains by Ted Dobosz, on Flickr"><img src="http&#58;//farm4.staticflickr.com/3664/3393337901_04de90aabe.jpg" width="500" height="333" alt="Star Trails Blue Mountains"></a>'
&#41;;

$selection = array_rand &#40;$modules, 1&#41;; 

echo $modules&#91;$selection&#93;;
?>


gotham78
Δημοσιεύσεις: 177
Εγγραφή: 22 Οκτ 2009 00:57

Κωδικας για radom κωδικες...

Δημοσίευση από gotham78 » 22 Ιουν 2013 17:24

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

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

<?php
$modules = array&#40;
    '<iframe width="640" height="360" src="http&#58;//www.youtube.com/embed/R4F3UIGYKxk" frameborder="0" allowfullscreen></iframe>',
    '<a href="http&#58;//www.flickr.com/photos/36418300@N02/3362016992/" title="IC434 - The 2009 Astronomy Picture of the Year by mpastro2001, on Flickr"><img src="http&#58;//farm4.staticflickr.com/3582/3362016992_d104756e1c.jpg" width="480" height="500" alt="IC434 - The 2009 Astronomy Picture of the Year"></a>',
    '<a href="http&#58;//www.flickr.com/photos/74075989@N00/3393337901/" title="Star Trails Blue Mountains by Ted Dobosz, on Flickr"><img src="http&#58;//farm4.staticflickr.com/3664/3393337901_04de90aabe.jpg" width="500" height="333" alt="Star Trails Blue Mountains"></a>'
&#41;;

$selection = array_rand &#40;$modules, 1&#41;; 

echo $modules&#91;$selection&#93;;
?>

Μπράβο αυτό ακριβώς ήθελα. Απλά στην αρχή νόμιζα οτι ήταν μόνο για βίντεο. Τώρα που μου έκανες και το παραδειγμα, το δοκίμασα και δούλεψε. Αυτό ήθελα 1000%.

Σας ευχαριστώ όλους!!!

Απάντηση

Επιστροφή στο “HTML και XHTML”

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

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