Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Mieszanie tesktu, linków
Forum PHP.pl > Forum > Przedszkole
dadi
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ź...
darko
Najlepiej dynamicznie w php, np trzymasz linki w tablicy i robisz na niej array_schuffle i później wyświetlasz w pętli.
dadi
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...
darko
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. }
dadilo
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ę.
-faro-
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
Arhimenrius
@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
vertigo2807
<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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.