Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Rotacja ogłoszeń
m-dom
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 9.11.2009

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


Witam.

Chciałbym zrobić na swojej stronie głównej aby wyświetlały się tylko ogłoszenia promowane przez użytkowników.

Może ktoś pomoże mi przerobić poniższy kod, aby na stronie głównej wyświetlane były tylko oferty promowane, ale rotacyjnie to znaczy przy każdym odświeżeniu strony mają się pojawiać losowo ogłoszenia promowane. Coś takiego jak jest na stronie oferty-dom.pl

Kod
<?php

    
  
   if(!empty($this->advertisements)) {
  
      echo '<table class="advTop" cellspacing="0" cellpadding="0" border="0">
               <tr>
                  <td class="advTopCam"><center>&nbsp;&nbsp;<img src="public/images/camera.gif" alt=""/></center></td>
                  <td class="advTopType">&nbsp;<b>typ nieruchomości</b><br/>&nbsp;typ ogłoszenia</td>
                  <td class="advTopSize"><b>powierzchnia</b></td>
                  <td class="advTopPrice"><b>cena</b></td>
                  <td class="advTopPro">&nbsp;&nbsp;<b>województwo</b><br/>&nbsp;&nbsp;miasto</td>
                  <td class="advTopDate">&nbsp;&nbsp;<b>data dodania</b></td>
                
               </tr>
            </table>
            
            <table style="margin-top:5px;" cellpadding="0" cellspacing="0">';
            
            foreach($this->advertisements as $advertisement) {
      
               if($advertisement->promo) { ///////////////////////////////////////////////////////////////// promo advertise
              
               echo '<tr >
                        <td>
                           <a href="adv/show/'.StringModifier::FriendlyUrl($advertisement->advertisementType).'/'.StringModifier::FriendlyUrl($advertisement->propertyType).'/'.StringModifier::FriendlyUrl($advertisement->province).'/'.$advertisement->id.'.html"><img src="public/images/';
      
                           if(!empty($advertisement->image))
                              echo 'advertisements/'.$advertisement->image.'_thumb.jpg';
                           else
                              echo 'photo.gif';
      
                           echo '" class="photoPromo" alt=""/></a>
                         </td>
                         <td style="padding-top:5px;" valign="top">
                           <table cellspacing="0" cellpadding="0" border="0">
                              <tr>
                                 <td class="offerTypePromo">
                                    <img src="public/images/p.gif" style="float:left;margin-right:5px;" alt=""/> <a href="adv/show/'.StringModifier::FriendlyUrl($advertisement->advertisementType).'/'.StringModifier::FriendlyUrl($advertisement->propertyType).'/'.StringModifier::FriendlyUrl($advertisement->province).'/'.$advertisement->id.'.html"><b>'.mb_strtoupper($advertisement->propertyType, "UTF-8").'</b><br/>'.$advertisement->advertisementType.'</a>
                                 </td>
                                 <td class="offerSizePromo">
'.$advertisement->areaSize.' m<sup><small>2</small></sup>
                                 </td>
                                 <td class="offerPricePromo">';

                                    if($advertisement->price > 0)
                                       echo $advertisement->price.' zł';
                                    else
                                       echo 'b/d';

                                 echo '</td>
                                 <td class="offerProvincePromo">
                                    <b>'.$advertisement->province.'</b><br/>
                                    '.$advertisement->city.'
                                 </td>

                                 <td class="offerDatePromo">
'.$advertisement->announceDate.'
                                 </td>
                              </tr>

                              <tr>
                                 <td colspan="4" class="offerDescPromo" valign="top">
'.StringModifier::Cut($advertisement->description, 40).' (...)
                                 </td>
                                 <td class="offerMorePromo" valign="top">
                                    <a href="adv/show/'.StringModifier::FriendlyUrl($advertisement->advertisementType).'/'.StringModifier::FriendlyUrl($advertisement->propertyType).'/'.StringModifier::FriendlyUrl($advertisement->province).'/'.$advertisement->id.'.html"><img src="public/images/more.gif" alt="" style="margin-top:2px;padding:0px;"/></a><br/>';

                                    if($this->user->admin) // admin menu
                                       echo ' <a href="account/edit/'.$advertisement->id.'"><img src="public/images/edit.gif" alt="" style="margin-top:2px;padding:0px;"/></a><br/> <a href="account/delete/'.$advertisement->id.'"><img src="public/images/delete.gif" alt=""  style="margin-top:2px;padding:0px;"/></a><br/>';
            
                                 echo '</td>
                              </tr>
                           </table>
                        </td>
                     </tr>';
              
               } else {  ///////////////////////////////////////////////////////////////// none
      
      echo '';
                      }
         }
           echo '</table>';
          
   }
?>



Pozdrawiam i z góry dziękuję za wszelką pomoc.

Ten post edytował m-dom 12.12.2009, 20:15:56
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
krowal
post
Post #2





Grupa: Zarejestrowani
Postów: 561
Pomógł: 72
Dołączył: 15.11.2006

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


Pierwsza sprawa: szukasz w złym miejscu! Sprawdzż w którym pliku inicjalizowana jest zmienna '$this->advertisements' i tam kombinuj.

@Damiankossek
Cytat
- Połączył się z bazą i zaznaczył wszystkie ogłoszenia
- Zliczył wszystkie ogłoszenia
- Następnie funkcją RAND wylosował jakiś numer zgłoszenia
- Połączył się z bazą i wybrał wylosowane przez RAND ogłoszenie

Czemu potrzebne Ci do tego aż dwa zapytania ? (IMG:style_emoticons/default/smile.gif)

Nie lepiej:
  1. SELECT * FROM tabela ORDER BY RAND() LIMIT 1;
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 8.10.2025 - 20:44