За последние 24 часа нас посетили 17486 программистов и 1720 роботов. Сейчас ищут 825 программистов ...

нужно обвернуть каждые 2 итерации цикла в div

Тема в разделе "Прочие вопросы по PHP", создана пользователем OgecuT, 26 дек 2014.

  1. Bozhkov

    Bozhkov Новичок

    С нами с:
    19 фев 2015
    Сообщения:
    14
    Симпатии:
    0
    Принцип работы кода то понятен. Только еще проблемка (у меня )
    после
    Код (Text):
    1. echo
    перед
    Код (Text):
    1. '<li> <div class="block_item"> ... </div> </li>';
    должно быть правильно вписано условие
    Код (Text):
    1. if (count($rows) > 0)
    2.  foreach($rows as $product)
    и внутри
    Код (Text):
    1. '<li> <div class="block_item"> ... </div> </li>';
    php код, но редактор выводит все содержимое как текст.
    Я не могу правильно расставить знаки, постоянно выводит syntax error
    Начало файла должно быть как-то так
    Код (Text):
    1. <div class="top_hits_products jshop">
    2. <?php $ul = array_chunk($rows, 4);
    3. foreach($ul as $li) {
    4.     echo '<ul>';
    5.     foreach ($li as $product) {
    6.   echo <?php if (count($rows) > 0)
    7.  foreach($rows as $product){ ?>
    8.   <li> <div class="block_item">
    9. <?php    if ...
    Конец кода как-то так
    Код (Text):
    1. ...<?php   }?></div>    
    2. <?php print $product->_tmp_var_end?>
    3. <?php } ?>
    4. </li>
    5.    }
    6.     echo '</ul>';
    7. }
    8. <?php } ?>
    9. </div>
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Ну так расставь правильно, по синтаксису.
    Определи где закончился if (count($rows) > 0)
    оберни его в фигурные скобки
    и добавь два foreach

    можешь писать echo 'test'; в разных участках кода, чтобы понять где первый foreach закончился и там добавь } для if и } для второго foreach
    ещё так можно foreach найти https://netbeans.org/kb/docs/php/debugging_ru.html

    netbeans показывает 131 строка, закрывает foreach блок
    Код (PHP):
    1. <?php } ?>
    2. </div>
    и вот

    Код (PHP):
    1. <div class="top_hits_products jshop">
    2. <?php 
    3. if (count($rows) > 0) {
    4.     
    5.  $ul = array_chunk($rows, 4);
    6.  
    7.  foreach($ul as $li){
    8.      
    9.      echo '<ul>';
    10.      
    11.      foreach($li as $product)
    12.      {
    13.          echo '<li>';
    14. ?>
    15.    <div class="block_item">
    16. <?php    if ($show_image && $product->image){// option modul  show_image ?>
    17.       <div class="image">
    18.          <div class="image_block">
    19. <?php       print $product->_tmp_var_image_block;?>
    20. <?php       if($product->label_id && $show_image_label){?>      
    21.             <div class="product_label">
    22. <?php          if($product->_label_image){?>
    23.                <img src="<?php print $product->_label_image?>" alt="<?php print htmlspecialchars($product->_label_name)?>" />
    24. <?php         }else{?>
    25.                <span class="label_name"><?php print $product->_label_name;?></span>
    26. <?php         }?>                   
    27.             </div>
    28. <?php       }?>
    29.             <a href="<?php print $product->product_link?>">
    30.                <img class="jshop_img" src="<?php print $product->image ? $product->image : $noimage;?>" alt="<?php print htmlspecialchars($product->name);?>" />
    31.             </a>
    32.          </div>
    33.       </div>
    34. <?php    } ?>
    35.  
    36. <?php   if($allow_review){   // option modul allow_review ?>
    37.       <table class="review_mark"><tr><td><?php print showMarkStar($product->average_rating);?></td></tr></table>
    38.       <div class="count_commentar">
    39. <?php       print sprintf(_JSHOP_X_COMENTAR, $product->reviews_count);?>
    40.       </div>
    41. <?php    } ?>
    42.  
    43. <?php    print $product->_tmp_var_bottom_foto;?>
    44.       
    45.       <div class="name">
    46.             [url="<?php print $product->product_link?>"]name?>[/url]
    47.             <?php if ($jshopConfig->product_list_show_product_code){?><span class="jshop_code_prod">(<?php print _JSHOP_EAN?>: <span><?php print $product->product_ean;?></span>)</span><?php }?>
    48.         </div>
    49.       
    50. <?php   if($short_description){   // option modul short_description ?>      
    51.        <div class="description">
    52.             <?php print $product->short_description?>
    53.         </div>
    54. <?php    } ?>
    55.  
    56. <?php    if ($product->manufacturer->name && $manufacturer_name){// option modul manufacturer_name ?>
    57.         <div class="manufacturer_name"><?php print _JSHOP_MANUFACTURER;?>: <span><?php print $product->manufacturer->name?></span></div>
    58. <?php    }?>
    59.  
    60. <?php    if ($product->product_quantity <=0 && !$jshopConfig->hide_text_product_not_available && $product_quantity){// option modul product_quantity?>
    61.       <div class="not_available"><?php print _JSHOP_PRODUCT_NOT_AVAILABLE;?></div>
    62. <?php    }?>
    63.  
    64. <?php   if( $product_old_price){?>
    65. <?php       if ($product->product_old_price > 0){// option modul product_old_price?>
    66.       <div class="old_price"><?php if ($jshopConfig->product_list_show_price_description) print _JSHOP_OLD_PRICE.": ";?><span><?php print formatprice($product->product_old_price)?></span></div>
    67. <?php       }?>
    68. <?php    print $product->_tmp_var_bottom_old_price;?>
    69. <?php    }?>
    70.  
    71. <?php    if ($product->product_price_default > 0 && $jshopConfig->product_list_show_price_default && $product_price_default){ // option modul product_price_default?>
    72.         <div class="default_price"><?php print _JSHOP_DEFAULT_PRICE.": ";?><span><?php print formatprice($product->product_price_default)?></span></div>
    73. <?php    }?>
    74.  
    75. <?php   if($display_price){?>
    76. <?php       if ($product->_display_price){// option modul display_price?>
    77.       <div class = "jshop_price">
    78. <?php       if ($jshopConfig->product_list_show_price_description) print _JSHOP_PRICE.": ";?>
    79. <?php       if ($product->show_price_from) print _JSHOP_FROM." ";?>
    80.          <span><?php print formatprice($product->product_price);?></span>
    81.       </div>
    82. <?php       }?>
    83. <?php    print $product->_tmp_var_bottom_price;?>
    84. <?php    }?>
    85.  
    86. <?php    if ($jshopConfig->show_tax_in_product && $product->tax > 0 && $show_tax_product){// option modul show_tax_product?>
    87.       <span class="taxinfo"><?php print productTaxInfo($product->tax);?></span>
    88. <?php    }?>
    89.  
    90. <?php    if ($jshopConfig->show_plus_shipping_in_product && $show_plus_shipping_in_product){?>
    91.         <span class="plusshippinginfo"><?php print sprintf(_JSHOP_PLUS_SHIPPING, $shippinginfo);?></span>
    92. <?php    }?>
    93.  
    94. <?php    if ($product->basic_price_info['price_show'] && $basic_price_info){// option modul basic_price_info?>
    95.       <div class="base_price"><?php print _JSHOP_BASIC_PRICE?><?php if ($product->show_price_from) print _JSHOP_FROM;?> <span><?php print formatprice($product->basic_price_info['basic_price'])?> / <?php print $product->basic_price_info['name'];?></span></div>
    96. <?php    }?>
    97.  
    98. <?php    if ($jshopConfig->product_list_show_weight && $product->product_weight > 0 && $product_weight){// option modul product_weight?>
    99.         <div class="productweight"><?php print _JSHOP_WEIGHT?>: <span><?php print formatweight($product->product_weight)?></span></div>
    100. <?php    }?>
    101.  
    102. <?php    if ($product->delivery_time != '' && $delivery_time){// option modul delivery_time?>
    103.             <div class="deliverytime"><?php print _JSHOP_DELIVERY_TIME?>: <span><?php print $product->delivery_time?></span></div>
    104. <?php    }?>
    105.  
    106. <?php    if (is_array($product->extra_field) && $extra_field){// option modul extra_field?>
    107.       <div class="extra_fields">
    108. <?php       foreach($product->extra_field as $extra_field){?>
    109.          <div><?php print $extra_field['name'];?><?php print $extra_field['value']; ?></div>
    110. <?php       }?>
    111.       </div>
    112. <?php   }?>
    113.  
    114. <?php    if ($product->vendor && $vendor){// option modul vendor?>
    115.         <div class="vendorinfo"><?php print _JSHOP_VENDOR?>: [url="<?php print $product->vendor->products?>"]shop_name?>[/url]</div>
    116. <?php    }?>
    117.  
    118. <?php    if ($jshopConfig->product_list_show_qty_stock && $product_list_qty_stock){// option modul product_list_qty_stock?>
    119.             <div class="qty_in_stock"><?php print _JSHOP_QTY_IN_STOCK?>: <span><?php print sprintQtyInStock($product->qty_in_stock)?></span></div>
    120. <?php    }?>
    121.  
    122. <?php   if($show_button){?>
    123. <?php    print $product->_tmp_var_top_buttons;?>
    124.  
    125.         <div class="buttons">
    126. <?php       if ($product->buy_link && $show_button_buy){?>
    127.             [url="<?php print $product->buy_link?>"]<?php print _JSHOP_BUY?>[/url]  
    128. <?php       }?>
    129. <?php       if ($show_button_detal){?>
    130.             [url="<?php print $product->product_link?>"]<?php print _JSHOP_DETAIL?>[/url]
    131. <?php      }?>
    132. <?php       print $product->_tmp_var_buttons;?>
    133.         </div>
    134.       
    135. <?php    print $product->_tmp_var_bottom_buttons;?>
    136. <?php   }?>
    137.    </div>
    138.    
    139. <?php print $product->_tmp_var_end?>
    140.  
    141. <?php
    142.  
    143.      echo '</li>';
    144.      
    145.      }// end foreach 2
    146.      
    147.     echo '</ul>';
    148.      
    149.     } // end foreach 1
    150. } // end if count $rows
    151. ?>
    152. </div>
     
  3. Bozhkov

    Bozhkov Новичок

    С нами с:
    19 фев 2015
    Сообщения:
    14
    Симпатии:
    0
    О ДА!-ДА!-ДА!
    Спасибо огромное!!!
    Ну не знаю я php...
    Еще раз, огромное спасибо!!!
     
  4. Bozhkov

    Bozhkov Новичок

    С нами с:
    19 фев 2015
    Сообщения:
    14
    Симпатии:
    0
    И снова здравствуйте. У моей задачки появилось продолжение.
    Мне нужно как-то присвоить порядковый номер каждой группе ul начиная с нуля
    то есть:
    Код (Text):
    1. <ul>
    2. <li>Товар1</li>
    3. <li>Товар2</li>
    4. <li>Товар3</li>
    5. </ul>
    6. <ul>
    7. <li>Товар4</li>
    8. <li>Товар5</li>
    9. <li>Товар6</li>
    10. </ul>
    11. <ul>
    12. <li>Товар7</li>
    13. <li>Товар8</li>
    14. <li>Товар9</li>
    15. </ul>
    ^Это есть
    Нужно дописать такое:
    Код (Text):
    1. <ul>
    2. <li id="0"></li>
    3. <li id="1"></li>
    4. <li id="2"></li>
    5. </ul>
    Сам список я вывел, но мне нужно присвоить id, а я не могу :(
    Помогите пожалуйста
     
  5. rodent90

    rodent90 Новичок

    С нами с:
    26 мар 2015
    Сообщения:
    533
    Симпатии:
    37
    Код (PHP):
    1. foreach($li as $key => $product)
    2.      {
    3.          echo '<li id="'.$key.'">'; 
     
  6. Bozhkov

    Bozhkov Новичок

    С нами с:
    19 фев 2015
    Сообщения:
    14
    Симпатии:
    0
    Не знаю каким чудом, но у меня методом тыка получилось. При чем точно так же, как вы написали. Большое спасибо за столь быструю отзывчивость!
     
  7. rodent90

    rodent90 Новичок

    С нами с:
    26 мар 2015
    Сообщения:
    533
    Симпатии:
    37
    Врунишка) Просто так и скажи, спасибо сделал, а то у меня получилось, методом тыка! Не верю!
    Такое не получается методом тыка. ;)
     
  8. Bozhkov

    Bozhkov Новичок

    С нами с:
    19 фев 2015
    Сообщения:
    14
    Симпатии:
    0
    Не, я не врунишка. Просто пробовал по-разному смотря на другие приложения, работающие аналогично, но немного по-другому.
    В любом случае, вам огромное спасибо!