Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Простенький вопрос по PHP

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10

Открыть новую тему     Написать ответ в эту тему

Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GEGEMON

Цитата:
вам же понятно где там и что, можно ведь выдернуть кусок и вставить в другой шаблон?

полностью нет, потому что без понятия что и в каких табах выводить собираетесь
общий смысл очевиден

Цитата:
<a class="j-tab__nav__a active" href="#tab1">Описание</a>  

создает ссылку на таб, по клику на которую он раскрывается
 

Цитата:
<div class="j-tab__content active" id="tab1" itemprop="description">  
            <?php echo $data['description'] ?>  
</div>

содержимое таба, который раскрывается по клику выше.
 
я без понятия что вы там хотите выводить и в каком виде.

Всего записей: 9716 | Зарегистр. 20-09-2014 | Отправлено: 04:35 19-05-2019
GEGEMON

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
вот этот код выводит все, вообще все какие есть характеристики и вместе с ними же все какие есть значения этих самых характеристик.
Можете ли  сказать, что нужно добавить чтобы выводились только нужные, указанные в админке значения характеристик?

Код:
 
<?php
 // only assortmentCheckBox
    foreach ( $data['thisUserFields'] as $key => $value ) {
        if ( $value['type'] != 'assortmentCheckBox' ) {
            continue;    
        }        
         
        echo $value['name'] , ': ';
         
        foreach ( $value['data'] as $data ) {
            echo $data['name'] , ' ';
        }
         
        echo '<br>';        
    }
?>
 

добавлено
вот это выводит код

Цитата:
Размер: 4х3х2 см 6х4х3 см  
Ёмкость аккумулятора: 200 mAh 400 mAh  
Разрешение видео : 720х480 640х480  

Всего записей: 2122 | Зарегистр. 07-02-2006 | Отправлено: 21:03 20-05-2019 | Исправлено: GEGEMON, 21:07 20-05-2019
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GEGEMON

Цитата:
только нужные, указанные в админке значения характеристик?  

нужные - это какие?

Всего записей: 9716 | Зарегистр. 20-09-2014 | Отправлено: 22:36 20-05-2019
GEGEMON

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii - пост
Цитата:
нужные - это какие?


Цитата:
указанные в админке значения характеристик

одно значение каждой характеристике. Сейчас выводятся

Цитата:
все какие есть значения

 

Всего записей: 2122 | Зарегистр. 07-02-2006 | Отправлено: 22:47 20-05-2019
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GEGEMON

Цитата:
все какие есть значения

потому что там массив. как понять какое именно вам нужно??
хотите только первое?
echo count($value['data']) > 0  ? $value['data'][0]['name'] : ' ';  

Всего записей: 9716 | Зарегистр. 20-09-2014 | Отправлено: 23:12 20-05-2019 | Исправлено: Mavrikii, 23:13 20-05-2019
GEGEMON

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii - пост
Цитата:
как понять какое именно вам нужно??  

Вы меня упорно не хотите понять (
Я уже говорил что нужно, постараюсь сформулировать по другому. Возможно буду косноязычен ибо терминологии php не ведаю.
Я в админке т.е. при оформлении страницы товара отметил чекбоксы значений которые нужно вывести на странице. Отметил один из множества который только и нужно показать на странице. Вышеуказанный же код выводит не одно значение мною отмеченное ранее, а всё множество aka массив. Т.е. этот код видит значения но не видит так сказать мой выбор. Или игнорирует его. Задача заставить выводить не всё что есть, а то что отмечено пользователем т.е. только одно значение из множества.
Вот этот код отвечает за вывод характеристик. Может поможет пониманию и решению.

Код:
<?php echo $data['htmlProperty'];?>
<?php echo $data['blockVariants']; ?>
<?php echo $data['addHtml']; ?>
<div class="buy-container <?php echo (MG::get('controller')=='controllers_product') ? 'product': '' ?>"
 
    <?php if (MG::get('controller')=='controllers_product') { echo ($data['maxCount']=="0"||!$data['activity']?'style="display:none"':''); }?> >
 
    <!-- JSProperty - start -->
   
 
 
    <!-- JSProperty - end -->
 
    <div class="hidder-element" <?php echo ($data['noneButton']?'style="display:none"':'') ?> >
 
        <!-- amount - start -->
        <div class="j-amount  cart_form">
            <div class="j-amount__inner   amount_change">
                <a href="#" class="j-amount__arrow j-amount__arrow__minus   down">
                    <svg class="icon icon--arrow-left"><use class="symbol" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon--arrow-left"></use></svg>
                </a>
                <input type="text" name="amount_input" class="amount_input" data-max-count="<?php echo $data['maxCount'] ?>" value="1" />
                <a href="#" class="j-amount__arrow j-amount__arrow__plus    up">
                    <svg class="icon icon--arrow-right"><use class="symbol" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon--arrow-right"></use></svg>
                </a>
               
            </div>
        </div>
        <!-- amount - end -->
 
        <input type="hidden" name="inCartProductId" value="<?php echo $data['id'] ?>">
        <?php
        $count = $data['maxCount'];
        if($count == 0){ $model = new Models_Product(); $variants = $model->getVariants($data['id']); if($variants){ $count = 0;
 
        foreach($variants as $variant){ $count += $variant['count']; } } } ?>
 
        <?php if(!$data['noneButton']||($count>0||$count<0)){ ?>
 
        <?php if($data['ajax']){ if($data['buyButton']){ ?>
 
        <!-- buttons in catalog.php - start -->
        <?php echo $data['buyButton']; ?>
        <!-- buttons in catalog.php - end -->
 
        <?php }
        else{ ?>
 
        <!-- buttons in product.php - start -->
        <a class="<?php echo $data['classForButton'] ?>" href = "<?php echo SITE.'/catalog?inCartProductId='.$data['id'] ?>" data-item-id="<?php echo $data['id'] ?>">
            <?php echo $data['titleBtn']; ?>
        </a>
        <!-- buttons in product.php - end -->
 
        <input type="submit" name="buyWithProp" onclick="return false;" style="display:none">
 
        <?php } }
        else{ ?>
 
        <input type="submit" name="buyWithProp">
 
        <?php } ?>
 
        <?php if($data['printCompareButton']=='true'){ ?>
 
        <!-- compare in catalog.php/product.php  - start -->
        <a href="<?php echo SITE.'/compare?inCompareProductId='.$data['id'] ?>" data-item-id="<?php echo $data['id'] ?>" class="j-button__compare addToCompare" title="Добавить к сравнению">
            <svg class="icon icon--compare"><use class="symbol" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon--compare"></use></svg>
            <?php echo MG::getSetting('buttonCompareName'); ?>
        </a>
        <!-- compare in catalog.php/product.php  - end -->
 
        <!-- OneClick - start -->
        <?php if(class_exists('OneClick')): ?>[one-click product="<?php echo $data['id']?>"]<?php endif; ?>
        <!-- OneClick - end -->
 
        <?php } ?>
        <?php } ?>
    </div>
</div>
 

 
 

Всего записей: 2122 | Зарегистр. 07-02-2006 | Отправлено: 06:42 21-05-2019 | Исправлено: GEGEMON, 06:45 21-05-2019
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GEGEMON

Цитата:
Я в админке т.е. при оформлении страницы товара отметил чекбоксы значений которые нужно вывести на странице. Отметил один из множества который только и нужно показать на странице.

я без понятия что у вас за админка и какой api у движка. как вы мне предлагаете об этом догадаться?
подобные специфические вопросы задают в теме об используемом движке

Всего записей: 9716 | Зарегистр. 20-09-2014 | Отправлено: 07:54 21-05-2019
GEGEMON

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii - пост
Цитата:
 вопросы задают в теме об используемом движке

это понятно. Беда в том, что нет юзеров Могута. Офф форум мертв, спросил здесь и на мау.
Ладно, спасибо за участие.

Всего записей: 2122 | Зарегистр. 07-02-2006 | Отправлено: 08:13 21-05-2019
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Просьба помочь написать небольшой скрипт.
Имеется несколько файлов одинаковой структуры
file.content
VersionValue=VersionValueContent
Value1=Value1Content
Value2=Value2Content
 
необходимо при запросе примерно такой структуы
filename=filevalue&version=versionvalue
в зависимости от filename прочитать содержимое файла filevalue и сравнить в нем значение VersionValue с versionvalue в строке запроса. Если она больше, то сформировать ответ с заголовками
HeaderName1 = Value1, Content = Value1Content
HeaderName2 = Value2, Content = Value2Content
 


----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3952 | Зарегистр. 29-07-2003 | Отправлено: 02:53 03-06-2019
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ShIvADeSt

Цитата:
и сравнить в нем значение VersionValue

int, float, что там? иначе как сравнивать?
 
ps: к примеру так для int (проверка наличия GET аргументов в запросе не производится.

Код:
<?php
$filename = basename($_GET['filename']);
if (empty($filename) || !is_readable($filename) || is_dir($filename))
   die('File does not exist');
 
$version = intval($_GET['version']);
$data = parse_ini_file($filename);
$i = 0;
if (intval($data['VersionValue']) > $version)
   foreach($data as $header => $value) {
      if ($header != 'VersionValue')
         echo 'HeaderName' . (++$i) . ' = ' . $header . ', Content = ' . $value . "<br>";
   }
else echo 'Version is lower';

вместо <br> можно сделать \n, зависит от целей

Всего записей: 9716 | Зарегистр. 20-09-2014 | Отправлено: 03:03 03-06-2019 | Исправлено: Mavrikii, 03:13 03-06-2019
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
обычная строка будет в формате ГГГГ.ММ.ДД  
 
Под Header я имею ввиду нормальный заголовок для ответа. Просто не шарю в вебе, просто в коде на Андроиде получают Header с определенным именем и значением.

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3952 | Зарегистр. 29-07-2003 | Отправлено: 03:13 03-06-2019 | Исправлено: ShIvADeSt, 03:15 03-06-2019
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ShIvADeSt

Цитата:
обычная строка будет в формате ГГГГ.ММ.ДД

тогда убрать intvalы

Всего записей: 9716 | Зарегистр. 20-09-2014 | Отправлено: 03:13 03-06-2019
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Спасибо за пример
Под Header я имею ввиду нормальный заголовок для ответа. Просто не шарю в вебе, просто в коде на Андроиде получают Header с определенным именем и значением. Как их правильно вернуть?

----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3952 | Зарегистр. 29-07-2003 | Отправлено: 03:16 03-06-2019
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ShIvADeSt

Цитата:
Под Header я имею ввиду нормальный заголовок для ответа

я не совсем понимаю о чем речь. лучше на примере
 
нормальный заголовок (я так понимаю, что речь о Content-type ответе сервера) зависит от того, в каком формате ожидаются данные
или просто тупо в заголовках ответа http? тогда echo заменить на header
 

Код:
header('HeaderName' . (++$i) . ' = ' . $header . ', Content = ' . $value);

Всего записей: 9716 | Зарегистр. 20-09-2014 | Отправлено: 03:17 03-06-2019 | Исправлено: Mavrikii, 03:26 03-06-2019
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii

Цитата:
нормальный заголовок (я так понимаю, что речь о Content-type ответе сервера) зависит от того, в каком формате ожидаются данные

Все возвращается в виде строк, наверное.
Может из этого кода будет понятно

Код:
 
        HttpResponse response = CustomerHttpClient.getHttpClient().execute(new HttpHead(remote));
        if (response.getStatusLine().getStatusCode() != 200) {
            return false;
        }
 
        Header[] headLength = response.getHeaders("OtaPackageLength");
        if (headLength != null && headLength.length > 0) {
            this.mOtaPackageLength = headLength[0].getValue();
        }
 


----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3952 | Зарегистр. 29-07-2003 | Отправлено: 03:26 03-06-2019
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ShIvADeSt

Цитата:
Header[] headLength = response.getHeaders("OtaPackageLength");

ну так тут пытается читать определенный заголовок http ответа.
при чем только первый. остальное зависит от содержимого файла, есть ли в нем в явном виде OtaPackageLength или нужно писать самому.
 
что то типа такого

Код:
<?php  
$filename = basename($_GET['filename']);  
if (empty($filename) || !is_readable($filename) || is_dir($filename))  
   die('File does not exist');  
 
$version = $_GET['version'];  
$data = parse_ini_file($filename);  
if ($data['VersionValue'] > $version)  
   foreach($data as $header => $value) {  
      if ($header != 'VersionValue')  
         header($header . ':' . $value);  
   }  
else echo 'Version is lower';

Всего записей: 9716 | Зарегистр. 20-09-2014 | Отправлено: 03:28 03-06-2019 | Исправлено: Mavrikii, 03:31 03-06-2019
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Это выдержка из кода, там далее читаются разные заголовки.
 
Я правильно понимаю, что данная команда
header('HeaderName1' . (++$i) . ' = ' . $header . ', Content = ' . $value);
header('HeaderName2' . (++$i) . ' = ' . $header . ', Content = ' . $value);
 
позволит мне сформировать эти заголовки http ответа? По значениям я разберусь, мне главное с основой определиться
 
В принципе основу я понял, дальше думаю гугл мне поможет. Если что, напишу здесь.
Большое спасибо.


----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3952 | Зарегистр. 29-07-2003 | Отправлено: 03:34 03-06-2019 | Исправлено: ShIvADeSt, 03:36 03-06-2019
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ShIvADeSt

Цитата:
позволит мне сформировать эти заголовки http ответа?

нет, выше написал.
типичный заголовок http ответа это  
имя_заголовка:значение

Всего записей: 9716 | Зарегистр. 20-09-2014 | Отправлено: 03:36 03-06-2019
GEGEMON

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нужно вставить кликабельную ссылку после вывода даты. Скажите как сделать, а то я пишу так

Код:
<?php echo <a href="https://">текст</a>"; ?>  
и получаю упавший сайт (
   
Код:
<footer class="j-footer">
            <div class="j-container">
                <div class="j-footer__row">
                    <div class="j-footer__column">
                        &copy; <?php echo date('Y') ?>
 
                    </div>
 
                </div>
            </div>
        </footer>

 
Спасибо

Всего записей: 2122 | Зарегистр. 07-02-2006 | Отправлено: 00:22 04-08-2019
Mavrikii

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GEGEMON
ну посмотрите основы языка в любом учебнике.
вам нужно сформировать нужную строку HTML кода.
в данном случае, для вставки ссылки, вам php вообще не нужен.

Код:
<footer class="j-footer">  
            <div class="j-container">  
                <div class="j-footer__row">  
                    <div class="j-footer__column">  
                        &copy; <?php echo date('Y'); ?>  
                         <a href="https://">текст</a>
                    </div>  
 
                </div>  
            </div>  
        </footer>

Всего записей: 9716 | Зарегистр. 20-09-2014 | Отправлено: 01:01 04-08-2019 | Исправлено: Mavrikii, 01:01 04-08-2019
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10

Компьютерный форум Ru.Board » Интернет » Web-программирование » Простенький вопрос по PHP


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru