Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL][AJAX]Rotacja 2 newsów z 10 ostatnich dodanych
Forum PHP.pl > Forum > Przedszkole
paulvans
Witam wszystkich!

Mam do państwa dwie sprawy.

Po pierwsze:

mam coś takiego: 

  1. <?php
  2. function waznewiad() {
  3. global $news_tbl, $theme, $icon;
  4.  
  5. $query = "SELECT * FROM $news_tbl WHERE stat <> '2' AND topic = '30' ORDER BY rand() LIMIT 2";
  6. $result = mysql_query($query);
  7. $ile = mysql_num_rows($result);
  8. $limit['text_litery'] = 300; // dopuszczalna ilosc liter
  9. $limit['title_litery'] = 32; // dopuszczalna ilosc liter
  10. while($row = mysql_fetch_array($result)) {
  11. $icon = $row['icon'];
  12. $row['text'] = substr ($row['text'], 0, $limit['text_litery']); // obcinanie
  13. $row['title'] = substr ($row['title'], 0, $limit['title_litery']); // obcinanie
  14. if($icon=='') $icon = ' '; else $icon = '<div class="img1"><a title="'.$row['title'].'" href="news.php?id='.$row['id'].'"><img src="'.$icon.'" height="60" width="60" border="0" ></a></div>';
  15. $komenty=($row['comments']<>0)?'<img src="images/img_comment.png">  <A href="comment.php?what=news&id='.$row['id'].'">Wasze komentarze ('.$row['comments'].')</a>''<img src="images/img_comment.png">  <A href="comment.php?what=news&id='.$row['id'].'">Wasze komentarze ('.$row['comments'].')</a>';
  16. $row['text']=make_clickable($row['text']);
  17. if($row['wywiad']<>'') $wywiad="<a href='{$row['wywiad']}' class="wiecej"><img src='images/pos.gif' title='Posluchaj wywiadu' border='0'></a> | ";else $wywiad='';
  18.  
  19. <table border="0" cellspacing="0" cellpadding="0" align="center">
  20. <tr>
  21. <td width="390" style="padding-botto: 5px;" class="block" valign="top">
  22. '.$icon.'
  23. <A class="box_wazne" title="'.$row['title'].'..." href="news.php?id='.$row['id'].'"><b>'.stripslashes($row['title']).'...</b></A>
  24. <div class="tytul_lewa"></div>
  25. <A class="box1" title="'.$row['title'].'..." href="news.php?id='.$row['id'].'">'.stripslashes($row['text']).'... <SPAN class="arr1">ť</SPAN></A><br>
  26. </td>
  27. </tr>
  28. </table>
  29. ';
  30. }
  31. }
  32. ?>


i chcem żeby wyświetlało mi 2 rotacyjnie newsy z 10 ostatnio dodanych z określonej kategorii podczas odświeżania strony.

Czyli muszę dać
  • ORDER BY pole desc LIMIT 10
  • ORDER BY rand() LIMIT 2
i teraz zaczynają się schody bo nie wiem jak to połączyć żeby działao.



Po drugie: 

Chcem zrobic podobną sytułację tylko żeby newsy się zmieniały ale bez odświeżania strony np. co 3 sekundy i do tego muszę zastosować ajaxa tylko tutaj są już jeszcze gorsze schody gdyż z ajaxem nie miałęm nigdy do czynienia i związku  z tym bardzo proszę o pomoc w dwóch sytułacjach. Z góry dziękuje!




wookieb
  1. SELECT * FROM (SELECT * FROM $news_tbl WHERE stat <> '2' AND topic = '30' ORDER BY pole DESC LIMIT 10 ) ORDER BY RAND() LIMIT 2


google.pl->advajax
paulvans
To co podałeś robiło mi błędy ale znajomy zaproponował coś takiego i działa więc podaje poniżej bo może komuś się przyda ta informacja
Kod
$query = "SELECT * FROM $news_tbl WHERE stat <> '2' AND topic = '30' ORDER BY date DESC LIMIT 10";
$res = mysql_query($query);
$x=0;
while($r=mysql_fetch_array($res))
{
$data[] = $r;
$x++;
}

$r1=$r2=0;
do
{
$r1 =rand(0,$x-1);
$r2 =rand(0,$x-1);
}while($r1 == $r2);
foreach($data as $key => $row)
{
if($key != $r1 && $key != $r2) continue;
echo $row['author'].'<br>';
//to tylko przyklad jak pobrac dane, w tej petli umiescic wlasciwa tabelke do wyswietlania danych
}
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.