Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Mieszanie tesktu, linków
-dadi-
post
Post #1





Goście







Witam serdecznie stawiam swoją pierwszą stronę w życiu i mam pytanie jak zrobić aby w poniższym kodzie linki za każdą wizytą zmieniały się losowo (miejscami).



CODE
<div id="sidebar">
<ul>
<li>
<h2>Samochody</h2>
<ul>
<li><a href="http:// ">Link 1</a></li>
<li><a href="http:// ">Link 2</a></li>
<li><a href="http:// ">Link 3</a></li>
<li><a href="http:// ">Link 4</a></li>
<li><a href="http:// ">Link 5</a></li>
</ul>
</li>
</ul>
</div>



Z góry dziękuję za odpowiedź...
Go to the top of the page
+Quote Post
darko
post
Post #2





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Najlepiej dynamicznie w php, np trzymasz linki w tablicy i robisz na niej array_schuffle i później wyświetlasz w pętli.


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
-dadi-
post
Post #3





Goście







Sorki dopiero zaczynam i nie za bardzo kumam wszystko więc


#definiuje tablice
$link[] = array('Link1' => 'http://adres.pl');
$link[] = array('Link2' => 'http://adres.pl');
$link[] = array('Link3' => 'http://adres.pll');
$link[] = array('Link4' => 'http://adres.pl');
$link[] = array('Link5' => 'http://adres.pl');

shuffle($link);

I potem co wyświetlam za pomocą polecenia echo bo nie za bardzo kumam tej pętli...
Go to the top of the page
+Quote Post
darko
post
Post #4





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Nie definiuj tablicy tablic tylko zdefiniuj tablicę asocjacyjną z parami klucz => wartość. To zadanie można wykonać na wiele sposobów. Na przykład tak:
  1. function shuffle_assoc($list) {
  2. if (!is_array($list)) return $list;
  3.  
  4. $keys = array_keys($list);
  5. shuffle($keys);
  6. $random = array();
  7. foreach ($keys as $key) {
  8. $random[$key] = $list[$key];
  9. }
  10. return $random;
  11. }
  12.  
  13.  
  14. $links = array(
  15. 'www.link1.pl' => 'tytul1',
  16. 'www.link2.com' => 'tytul2',
  17. 'www.link3.br' => 'tytul3'
  18. );
  19.  
  20. $links = shuffle_assoc($links);
  21.  
  22. foreach($links as $src => $title)
  23. {
  24. echo '<li><a href="' . $src . '">' . $title . '</a></li>';
  25. }


Ten post edytował darko 26.10.2011, 19:57:06


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
-dadilo-
post
Post #5





Goście







Dziękuje Ci kolego gotowca się nie spodziewałem ale bardzo dziękuję z tym większą chęcią go przeanalizuję jeszcze raz dziękuję.
Go to the top of the page
+Quote Post
--faro--
post
Post #6





Goście







Witam wszystkich znalazlem ten skrypt tutaj na firum i mam prośbę czy ktoś z szanownych tutaj forumowiczów mógłby przerobić ten skrypt tak aby mieszało te linki raz załóżmy na 24h thx
Go to the top of the page
+Quote Post
Arhimenrius
post
Post #7





Grupa: Zarejestrowani
Postów: 115
Pomógł: 3
Dołączył: 19.04.2011

Ostrzeżenie: (0%)
-----


@Faro, to już musiałbyś dać do innego pliku i odpalać CRON-em wink.gif i wyniki gdzieś zapisywać a dopiero potem z innego pliku odczytywać. W uproszczonej wersji to wygląda tak:

1. Tworzysz plik z linkami ktore ma losować.
2. Odpalasz CRON by raz na 24h losował.
3. Ten skrypt co zrobiłeś w pkt1. musi mieć zapis do bazy/pliku, więc odpalenie zapisze do jednej z tych rzeczy.
4. Odczytujesz te dane z bazy/pliku
Go to the top of the page
+Quote Post
vertigo2807
post
Post #8





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 30.10.2011

Ostrzeżenie: (0%)
-----


<script TYPE="text/javascript" LANGUAGE="JavaScript">
<!--
var elementy = new Array(
// Tu wpisz kolejne elementy:
'<a href="plik1.html"><IMG SRC="ścieżka dostępu"></a>',
'<a href="plik2.html"><IMG SRC="ścieżka dostępu"></a>',
'<a href="plik3.html"><IMG SRC="ścieżka dostępu"></a>'

);

var liczba = 0;
do { liczba = Math.random(); } while (liczba >= 1);
liczba = Math.floor(liczba * elementy.length);

document.write(elementy[liczba]);
//-->
</SCRIPT>


skrypcik dla ciebie powinno zadziałać jeśli nie to pisz do mnie na PW

<script TYPE="text/javascript" LANGUAGE="JavaScript">
<!--
var elementy = new Array(

// Tu wpisz kolejne elementy:
'<a href="plik1.html"><IMG SRC="ścieżka dostępu"></a>',
'<a href="plik2.html"><IMG SRC="ścieżka dostępu"></a>',
'<a href="plik3.html"><IMG SRC="ścieżka dostępu"></a>'

);

var liczba = 0;
do { liczba = Math.random(); } while (liczba >= 1);
liczba = Math.floor(liczba * elementy.length);

document.write(elementy[liczba]);
//-->
</SCRIPT>


Gotowy skrypcik dla ciebie jakby nie działało pisz PW
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 10:08