Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Корусель
Форумы портала PHP.SU » » Вопросы новичков » Корусель

Страниц (1): [1]
 

1. kilor163 - 12 Декабря, 2011 - 23:19:27 - перейти к сообщению
Помогите допилить скрипт.

PHP:
скопировать код в буфер обмена
  1. $gio = sql_query("SELECT id,name, poster,addedtime FROM news_block ORDER BY id DESC  LIMIT 3") or sqlerr(__FILE__, __LINE__);
  2. if (mysql_num_rows($gio)) {
  3. while ($arr = mysql_fetch_array($gio)) {
  4.  
  5. $name =  $arr['name'];
  6. $poster = htmlspecialchars($arr['poster']);
  7. $time = $arr['addedtime'];
  8.  
  9.  
  10. ?>
  11.  
  12.  <script type="text/javascript" src="karusel.js"></script>
  13.  <link rel="stylesheet" type="text/css" media="screen, projection, print" href="karusel.css"/>
  14.  
  15.  
  16.  
  17.  <!-- Начало #карусель -->
  18.     <div class="main-hot">
  19.                  
  20.             <span class="img" id="imgfortophot1">
  21.               <img src="<?=$arr['poster']?>" alt="" />
  22.               <i class="overimg"></i>
  23.             </span>
  24.  
  25.          
  26.             <span class="img" id="imgfortophot2" style="display:none">
  27.               <img src="<?=$arr['poster']?>" alt="" />
  28.               <i class="overimg"></i>
  29.             </span>
  30.                
  31.          
  32.             <span class="img" id="imgfortophot3" style="display:none">
  33.               <img src="<?=$arr['poster']?>" alt="" />
  34.               <i class="overimg"></i>
  35.             </span>
  36.          
  37.        
  38.       <ul class="tophot">
  39.        
  40.         <li class="here" id="tophot1">
  41.           <a  href="/news/1" title="<?=$arr['name']?>"><?=$arr['name']?><span><?=$arr['addedtime']?></span></a>
  42.           <i></i>
  43.         </li>
  44.        
  45.         <li id="tophot2">
  46.           <a  href="/news/2" title="Женщина юного возраста!">Женщина юного возраста!<span>10 февраля 2011 года, 17:00</span></a>
  47.           <i></i>
  48.         </li>
  49.        
  50.         <li id="tophot3">
  51.           <a  href="/news/3" title="Виноградная улитка  — наземный брюхоногий моллюск">Виноградная улитка  — наземный брюхоногий моллюск<span>9 февраля 2011 года, 13:50</span></a>
  52.  
  53.           <i></i>
  54.         </li>
  55.        
  56.       </ul>
  57.  
  58.       <!-- Окончание #карусель -->
  59.  
  60.     </div>
  61.    
  62. <?
  63.  
  64. }
  65. }


Нужно, изменить код так, что бы в этой корусели выводились последние 3 новости.
Заранее благодарен.
2. Panoptik - 12 Декабря, 2011 - 23:29:50 - перейти к сообщению
вот как то так:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.     $gio = sql_query("SELECT id,name, poster,addedtime FROM news_block ORDER BY id DESC  LIMIT 3") or sqlerr(__FILE__, __LINE__);
  4.     if (mysql_num_rows($gio)) {
  5.     while ($arr = mysql_fetch_array($gio)) {
  6.         $dataarr[] = $arr;
  7.     }
  8.     ?>
  9.      
  10.      <script type="text/javascript" src="karusel.js"></script>
  11.      <link rel="stylesheet" type="text/css" media="screen, projection, print" href="karusel.css"/>
  12.      
  13.      
  14.      
  15.      <!-- Начало #карусель -->
  16.         <div class="main-hot">
  17.      <?PHP
  18.         $i=0;
  19.         foreach($dataarr as $news) { ?>                
  20.                 <span class="img" id="imgfortophot<?=++$i;?>">
  21.                   <img src="<?=$news['poster']?>" alt="" />
  22.                   <i class="overimg"></i>
  23.                 </span>
  24.     <?PHP } ?>
  25.              
  26.            
  27.           <ul class="tophot">
  28.            
  29.      <?PHP
  30.         $i=0;
  31.         foreach($dataarr as $news) { ?>  
  32.             <li class="here" id="tophot<?=++$i;?>">
  33.               <a  href="/news/1" title="<?=$news['name']?>"><?=$news['name']?><span><?=$news['addedtime']?></span></a>
  34.               <i></i>
  35.             </li>
  36.     <?PHP } ?>      
  37.  
  38.            
  39.           </ul>
  40.      
  41.           <!-- Окончание #карусель -->
  42.      
  43.         </div>
  44.        
  45.     <?PHP
  46.  
  47.     }
  48.     ?>
  49.    
  50.  
3. kilor163 - 13 Декабря, 2011 - 05:40:04 - перейти к сообщению
Panoptik пишет:
вот как то так:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.     $gio = sql_query("SELECT id,name, poster,addedtime FROM news_block ORDER BY id DESC  LIMIT 3") or sqlerr(__FILE__, __LINE__);
  4.     if (mysql_num_rows($gio)) {
  5.     while ($arr = mysql_fetch_array($gio)) {
  6.         $dataarr[] = $arr;
  7.     }
  8.     ?>
  9.      
  10.      <script type="text/javascript" src="karusel.js"></script>
  11.      <link rel="stylesheet" type="text/css" media="screen, projection, print" href="karusel.css"/>
  12.      
  13.      
  14.      
  15.      <!-- Начало #карусель -->
  16.         <div class="main-hot">
  17.      <?PHP
  18.         $i=0;
  19.         foreach($dataarr as $news) { ?>                
  20.                 <span class="img" id="imgfortophot<?=++$i;?>">
  21.                   <img src="<?=$news['poster']?>" alt="" />
  22.                   <i class="overimg"></i>
  23.                 </span>
  24.     <?PHP } ?>
  25.              
  26.            
  27.           <ul class="tophot">
  28.            
  29.      <?PHP
  30.         $i=0;
  31.         foreach($dataarr as $news) { ?>  
  32.             <li class="here" id="tophot<?=++$i;?>">
  33.               <a  href="/news/1" title="<?=$news['name']?>"><?=$news['name']?><span><?=$news['addedtime']?></span></a>
  34.               <i></i>
  35.             </li>
  36.     <?PHP } ?>      
  37.  
  38.            
  39.           </ul>
  40.      
  41.           <!-- Окончание #карусель -->
  42.      
  43.         </div>
  44.        
  45.     <?PHP
  46.  
  47.     }
  48.     ?>
  49.    
  50.  


К сожалению, так не получается. Так как там на каждую картинку идет свой класс - imgfortophot1 - imgfortophot2 -imgfortophot3, и так же на заголовок новости - tophot1,2,3
4. Dezmont - 13 Декабря, 2011 - 09:28:13 - перейти к сообщению
Вам там преинкремент установили ++$i. Оно вам и будет давать mgfortophot1,imgfortophot2,imgfortophot3....
5. Panoptik - 13 Декабря, 2011 - 10:18:46 - перейти к сообщению
Цитата:
К сожалению, так не получается. Так как там на каждую картинку идет свой класс - imgfortophot1 - imgfortophot2 -imgfortophot3, и так же на заголовок новости - tophot1,2,3
если принципиально так важно какой класс будет назначаться какой картинке, то загоняйте в базу значения класса и без проблем подставляйте вместо $i

 

Powered by ExBB FM 1.0 RC1