Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Pobieranie z bazy
crackcomm
post
Post #1





Grupa: Zarejestrowani
Postów: 184
Pomógł: 6
Dołączył: 23.02.2008
Skąd: Katowice

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


Witam, mam taki mały problem winksmiley.jpg
Chciałbym zrobić poiedzmy taki "wyświetlacz" linków tongue.gif p
a chciałbym żeby te linki które mają więcej punktów wyświetlały się częściej
Wiecie może jak to zrobić
P.S Linki muszą wyśietlać się losowo ! Nie ORDER by punkty


//przenoszę na Przedszkole, ayeo


--------------------
Sygnaturka comes here.
Go to the top of the page
+Quote Post
Strzałek
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 384
Pomógł: 6
Dołączył: 11.09.2004
Skąd: Grodzisk Mazowiecki

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


No dobra. Ale że co? Że mamy Ci napisać skrypt?
Nie ma tak dobrze. Możemy pomóc w czymś konkretnym. Jedyne konkretne pytanie jakie widzę to losowe wyświetlanie.

Tak więc aby z bazy pobrać jakieś rekordy losowe trzeba dodać ORDER BY RANOM(). Np:

  1. SELECT * FROM links ORDER BY RAND();


--------------------
Go to the top of the page
+Quote Post
crackcomm
post
Post #3





Grupa: Zarejestrowani
Postów: 184
Pomógł: 6
Dołączył: 23.02.2008
Skąd: Katowice

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


heh tyle wiedziałem
chodzi o to żeby...pokaże na przykładzie :
Kod
Link            Punkty
cos.pl         150
allegro.pl    34532
pehape.pl   193
asje.pl        870
dfgds.pl      6789
dfghb.pl      6733

A więc zrobić tak żeby np. allegro.pl było najczęściej wyświetlane z powodu największej ilości punktów

Ten post edytował crackcomm 26.04.2008, 19:41:53


--------------------
Sygnaturka comes here.
Go to the top of the page
+Quote Post
maniekl2
post
Post #4





Grupa: Zarejestrowani
Postów: 162
Pomógł: 29
Dołączył: 6.04.2008

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


można to zrobić jakoś tak :
  1. <?php
  2. $los = rand(1,2);
  3. if($los == 1) {
  4. //pobiera z bazy order punkty
  5. } else {
  6. //pobiera losowo
  7. }
  8. ?>

Jedyny pomysł na który wpadłem ale może jeszcze cos wymyśle
Go to the top of the page
+Quote Post
crackcomm
post
Post #5





Grupa: Zarejestrowani
Postów: 184
Pomógł: 6
Dołączył: 23.02.2008
Skąd: Katowice

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


@maniekl2
IMO głupi pomysł


--------------------
Sygnaturka comes here.
Go to the top of the page
+Quote Post
pyro
post
Post #6





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


  1. <?php
  2. // linki dam swoje, sam se podstawisz ;]
  3. // stosunek jest link => ilosc punktow
  4.  
  5. $linki = array('allegro.pl' => 2000, 'ebay.pl' => 1233, 'maxior.pl' => 789);
  6. $naj = 0;
  7. foreach($linki as $link => $punkty)
  8. {
  9. if($punkty > $naj)
  10. {
  11. $l = $link;
  12. $naj = $punkty;
  13. }
  14. }
  15. $nowe_linki = $linki;
  16. array_push($nowe_linki, $l => $naj);
  17. array_push($nowe_linki, $l => $naj);
  18. shuffle($nowe linki);
  19. list($wybrany_link, $wybrana_wartosc) = reset($nowe_linki);
  20. // teraz, poniewaz allegro ma najwicej punktow, bedzie 3 razy czesciej wybierany
  21. // zmienne $wybrany_link i $wybrana_wartosc posiadaja kolejno nazwę i punkty wylosowanego linku
  22.  
  23. ?>


// edit
zrobilem maly blad w pospiechu ale juz poprawilem

Ten post edytował pyro 26.04.2008, 20:41:32


--------------------
ET LINGUA EIUS LOQUETUR IUDICIUM
Go to the top of the page
+Quote Post
crackcomm
post
Post #7





Grupa: Zarejestrowani
Postów: 184
Pomógł: 6
Dołączył: 23.02.2008
Skąd: Katowice

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


jak pokażesz zastosowanie w MySQLu to będzie +sik tongue.gifp


--------------------
Sygnaturka comes here.
Go to the top of the page
+Quote Post
pyro
post
Post #8





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


  1. <?php
  2. // mogles pokazac troche wlasnej inicjatywy...
  3.  
  4. $db = mysql_connect('host', 'user', 'password');
  5. mysql_select_db('baza', $db);
  6. $query = "SELECT link, punkty FROM baza";
  7. $result = mysql_query($query, $db);
  8. $linki = array();
  9. while($jeden = mysql_fetch_assoc($result))
  10. {
  11. $link_db = $jeden['link'];
  12. $punkty_db = $jeden['punkty'];
  13. array_push($linki, $link_db => $punkty_db);
  14. }
  15. $naj = 0;
  16. foreach($linki as $link => $punkty)
  17. {
  18. if($punkty > $naj)
  19. {
  20. $l = $link;
  21. $naj = $punkty;
  22. }
  23. }
  24. $nowe_linki = $linki;
  25. array_push($nowe_linki, $l => $naj);
  26. array_push($nowe_linki, $l => $naj);
  27. shuffle($nowe linki);
  28. list($wybrany_link, $wybrana_wartosc) = reset($nowe_linki);
  29. // teraz, poniewaz allegro ma najwicej punktow, bedzie 3 razy czesciej wybierany
  30. // zmienne $wybrany_link i $wybrana_wartosc posiadaja kolejno nazwę i punkty wylos
    owanego linku
  31.  
  32. ?>


--------------------
ET LINGUA EIUS LOQUETUR IUDICIUM
Go to the top of the page
+Quote Post
crackcomm
post
Post #9





Grupa: Zarejestrowani
Postów: 184
Pomógł: 6
Dołączył: 23.02.2008
Skąd: Katowice

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


Kod
//nie chciało mi się :D

nie kumam tego kodu, jak zrobić żeby odrazu wyświetlało te najlepsze, pamiętaj jeszcze e musi być anchor ! tongue.gif
wg mnie to nie ma nic do częstotliwości związaną z pktmi winksmiley.jpg

Ten post edytował crackcomm 26.04.2008, 21:41:10


--------------------
Sygnaturka comes here.
Go to the top of the page
+Quote Post
pyro
post
Post #10





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


Cytat(crackcomm @ 26.04.2008, 22:10:08 ) *
Kod
//nie chciało mi się :D


szkoda ze tego wczesniej nie napisales to bym nie pisal calego tego kodu sad.gif

leniu śmierdzący

Ten post edytował pyro 26.04.2008, 21:47:43


--------------------
ET LINGUA EIUS LOQUETUR IUDICIUM
Go to the top of the page
+Quote Post
crackcomm
post
Post #11





Grupa: Zarejestrowani
Postów: 184
Pomógł: 6
Dołączył: 23.02.2008
Skąd: Katowice

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


żartowałem, nie mam pojęcia jak to zrobić ;pp


--------------------
Sygnaturka comes here.
Go to the top of the page
+Quote Post
pyro
post
Post #12





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


to troszke źle trafiłeś smile.gif


--------------------
ET LINGUA EIUS LOQUETUR IUDICIUM
Go to the top of the page
+Quote Post
crackcomm
post
Post #13





Grupa: Zarejestrowani
Postów: 184
Pomógł: 6
Dołączył: 23.02.2008
Skąd: Katowice

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


nie wiem o co ci chodzi


--------------------
Sygnaturka comes here.
Go to the top of the page
+Quote Post
webdice
post
Post #14


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Panowie proszę skończyć te nic nie wnoszące do tematu dyskusje bo inaczej temat zostanie zamknięty.

~crackcomm dostałeś gotowca i nie umiesz go wykorzystać, jeśli oczekujesz że ktoś zrobi wszystko za Ciebie to proponuje Ci zlecić napisanie tego skryptu.
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: 20.08.2025 - 15:49