За последние 24 часа нас посетили 22460 программистов и 1051 робот. Сейчас ищут 678 программистов ...

Не выводятся значения переменных внутри div.

Тема в разделе "PHP для новичков", создана пользователем Ирина Гущина, 14 авг 2019.

Метки:
  1. Ирина Гущина

    Ирина Гущина Новичок

    С нами с:
    8 авг 2019
    Сообщения:
    19
    Симпатии:
    0
    Здравствуйте. Не выводятся значения переменных внутри div. Простой вывод через echo работает. Подскажите, пожалуйста, где может быть ошибка?
    Код (Text):
    1.   while ($result = mysqli_fetch_array($sql)) {
    2.               $start=($result['create_date']);
    3.               $user_uid=($result['uid']);
    4.               $user_id=($result['id']);
    5.               $stat=($result['status']);
    6.               $reg_lid=($result['lid']);
    7.               $amount=($result['amount_value']);
    8.               $datediff = date('d.m.Y') - date("d.m.Y", strtotime($result['create_date']));
    9.       $referrals_amount=($result['referrals_amount']);  
    10.      
    11.              
    12.       if ($user_uid==$cur_id&&($reg_lid['lid']==1)) {
    13.             $proc = 25;
    14.             $proc_d =0.25*$datediff;
    15.             $proc = ($amount+$referrals_amount)/100*$proc;
    16.             $proc_d = ($amount+$referrals_amount)/100*$proc_d;
    17.           $amount_all = $referrals_amount + $proc_d;
    18.             $amountWithPct_all = $amount + $referrals_amount + $proc;
    19.             $amountWithPct_d = $amount + $referrals_amount + $proc_d;
    20.             round ($amountWithPct_all);
    21.             round ($amountWithPct_d);
    22.          //Проверяем вывод
    23.         echo " {$start}<br/>"; //выводится
    24.         echo "{$datediff}<br/>"; //выводится
    25.         echo "{$amount}<br/>"; //выводится
    26.         echo "{$referrals_amount}<br/>"; //выводится
    27.         echo "{$proc_d}<br/>"; //выводится
    28.         echo "{$amount_all}<br/>"; //выводится
    29.         echo "{$amountWithPct_all}<br/><br/>"; //выводится
    30.          
    31.               echo      '<div class="uap-row">
    32.         <div class="uapcol-md-4 uap-account-overview-tab1">
    33.             <div class="uap-account-no-box" style="padding-left:0px;">
    34.              <div class="uap-account-no-box-inside">
    35.                   <div class="uap-count"> <?php echo "{$datediff}" ?> </div> /* не выводится */
    36.                 <div class="uap-detail">Прошло дней</div>
    37.              </div>
    38.             </div>
    39.         </div>
    40. </div>'
    Заранее спасибо.
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.744
    Симпатии:
    1.319
    Адрес:
    Лень
    подсветку кода используешь ?
     
  3. Ирина Гущина

    Ирина Гущина Новичок

    С нами с:
    8 авг 2019
    Сообщения:
    19
    Симпатии:
    0
    Да. Это не весь код. Только кусок для понимания где и как я вывожу.
     
  4. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.744
    Симпатии:
    1.319
    Адрес:
    Лень
    покажи подсветку с проблемным участком
     
  5. Ирина Гущина

    Ирина Гущина Новичок

    С нами с:
    8 авг 2019
    Сообщения:
    19
    Симпатии:
    0
    Проблема не подсвечивается и ни каким образом не выявляется. Просто не выводятся значения внутри div. Например в этом месте.
    Код (Text):
    1. <div class="uap-count"> <?php echo $datediff ?> </div>
     
  6. kazadai90

    kazadai90 Активный пользователь

    С нами с:
    6 фев 2013
    Сообщения:
    103
    Симпатии:
    19
    PHP:
    1.  echo      '<div class="uap-row">
    2.         <div class="uapcol-md-4 uap-account-overview-tab1">
    3.             <div class="uap-account-no-box" style="padding-left:0px;">
    4.              <div class="uap-account-no-box-inside">
    5.                   <div class="uap-count"> <?php echo "{$datediff}" ?> </div> /* не выводится */
    6.                 <div class="uap-detail">Прошло дней</div>
    7.              </div>
    8.             </div>
    9.         </div>
    10. </div>'
    вы уже используете оператор echo , внутри html писать его еще раз не нужно

    PHP:
    1.  echo      '<div class="uap-row">
    2.        <div class="uapcol-md-4 uap-account-overview-tab1">
    3.            <div class="uap-account-no-box" style="padding-left:0px;">
    4.             <div class="uap-account-no-box-inside">
    5.                  <div class="uap-count"> ' . $datediff . ' </div>
    6.                <div class="uap-detail">Прошло дней</div>
    7.             </div>
    8.            </div>
    9.        </div>
    10. </div>'
     
    jurvrn.ru и Ирина Гущина нравится это.
  7. Ирина Гущина

    Ирина Гущина Новичок

    С нами с:
    8 авг 2019
    Сообщения:
    19
    Симпатии:
    0
    Спасибо! Так и знала, что сама недосмотрела(
     
  8. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.792
    Симпатии:
    650
    На будущее: почитайте про разницу между одинарными и дв. кавычками при обрамлении строк ;)
     
    Ирина Гущина нравится это.
  9. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.744
    Симпатии:
    1.319
    Адрес:
    Лень
    Еще как будет подсвечиваться
     
  10. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.792
    Симпатии:
    650
    P.S. И шаблоны лучше так оформлять:
    PHP:
    1.                 <div class="fullwidth-block content">
    2.                     <div class="container">
    3.                         <h2 class="entry-title"><?= $page['desc'] ?></h2>
    4. <?= $page['content'] ?>
    5.  
    6. <?php while ($row=getrow()): ?>
    7.                         <div class="team image-left">
    8.                             <figure class="team-image"><img src="/images/about/<?= $row['id'] ?>.jpg" alt=""></figure>
    9.                             <h3 class="team-name"><?= $row['name'] ?></h3>
    10.                             <small class="team-desc"><?= $row['desc'] ?></small>
    11. <?= $row['content'] ?>
    12.  
    13.                             <div class="team-social">
    14.                                 <a href=""><i class="fa fa-facebook"></i></a>
    15.                                 <a href=""><i class="fa fa-google-plus"></i></a>
    16.                             </div>
    17.                         </div>
    18. <?php endwhile; ?>
    19.                     </div>
    20.                 </div>
     
  11. jurvrn.ru

    jurvrn.ru Новичок

    С нами с:
    14 июн 2019
    Сообщения:
    97
    Симпатии:
    2
    то есть вместо echo использовать <?= ?
     
  12. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.792
    Симпатии:
    650
    @jurvrn.ru, не только. Сравни с кодом ТСа, если не понимаешь, о чем я.
     
  13. jurvrn.ru

    jurvrn.ru Новичок

    С нами с:
    14 июн 2019
    Сообщения:
    97
    Симпатии:
    2
    при одинарных кавычках переменные (их содержание) не выводятся, при двойных выводится значение переменных.

    коды у вас вроде как разны... знак "." вместо echo поняли, соединять строки нужно так.
    Не понял смысл "<?="
     
  14. Valick

    Valick Активный пользователь

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
    это так называемые шот-тэги, в данном случае "<?=" равносильно "<?php echo "

    лично я стараюсь избегать двойных кавычек для echo, преимущественно использую одинарные+конкатенация
     
    jurvrn.ru нравится это.
  15. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.792
    Симпатии:
    650
    См. на оформление. Речь о том, как оформляются упр. конструкции, вывод (значений) выражений (в частности переменных/ф-ций).
    --- Добавлено ---
    P.S. Несколько выражений можно выводить в одной вставке:
    PHP:
    1. <p><?= $name, ' ', $surname ?></p>
    Только не злоупотребляйте этим.

    С упр. конструкциями аналогично.
     
    jurvrn.ru нравится это.
  16. jurvrn.ru

    jurvrn.ru Новичок

    С нами с:
    14 июн 2019
    Сообщения:
    97
    Симпатии:
    2
    почему такой вариант, чем хуже двойные кавычки? мне нравиться больше <<<...
    ' . $datediff . ' - по идее переменную можно было вставить просто внутрь двойных кавычек среди прочего текста - " текст $datediff текст"

    не знал что <?= заменяет echo. Теперь понятно

    p.s. как начинающий могу спросить - это что выводит? пустое поле или содержание поля?
    1. <?= $page['content'] ?>
     
  17. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.792
    Симпатии:
    650
    Не просто echo. Валик выше написал точнее.

    Речь опять-таки не об этом. Это был просто пример оформления шаблона. Ну ОК: любая страница характеризуется набором «полей». Это пример вывода исходного значения поля content страницы. Часто также для выводимых полей предварительно создаются ссылки в виде простых переменных: <?= $content ?>. Часто также в шаблонах можно наблюдать вывод значений через ф-ции представления: <?= showcontent($page['content']) ?>.
    --- Добавлено ---
    Код (Text):
    1. INSERT INTO `site_pages` (`id`, `name`, `desc`, `content`) VALUES
    2. ('about', 'About', 'Lorem ipsum dolor sit amet consectetur adipisicing elit sed do eiusmod tempor incididunt ut labore et dolore magna aliqua enim ad minim veniam', '<p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur.</p>');
    3.  
    4. INSERT INTO `site_about` (`id`, `name`, `desc`, `content`) VALUES
    5. (1, 'Steven Simon', 'Main mechaninc', '<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolor ut tenetur dicta deserunt fugiat itaque voluptates doloremque dolore accusamus suscipit quasi velit impedit quibusdam, fugit qui? Doloremque veritatis omnis inventore.</p>'),
    6. (2, 'George Stevens', 'Painter', '<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Possimus quisquam hic cum laboriosam, est saepe amet magni labore, corrupti recusandae dolores id in quidem atque, corporis animi, perferendis. Nostrum, laborum!</p>'),
    7. (3, 'David Smith', 'Engineer', '<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Corrupti quisquam, odit! Mollitia, porro. Quidem officiis, harum tempora, voluptates distinctio quis illo temporibus, ea, nisi perspiciatis architecto. Voluptate voluptatibus, maiores atque.</p>'),
    8. (4, 'Howarrd Newman', 'Computer Specialist', '<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Repudiandae repellat ipsum optio nam! Error at minus fugit est voluptatum, placeat, exercitationem, aspernatur dignissimos voluptate odio ea maiores eaque blanditiis! Placeat?</p>');
    Результат: http://workshop.pageshop.ru/about
     
    jurvrn.ru нравится это.
  18. jurvrn.ru

    jurvrn.ru Новичок

    С нами с:
    14 июн 2019
    Сообщения:
    97
    Симпатии:
    2
    спасибо за разъяснение...понял так: на странице есть поля $id, $name и т.д. Они запросом SQL из базы заполняются значениями...
    мне это в будущем пригодится
     
  19. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.552
    Симпатии:
    1.754
    Ещё один пример, почему большие куски html не должны быть внутри строковых констант

    Читаем основы и отключаем режим php там, где надо вывести много html
     
    jurvrn.ru нравится это.
  20. jurvrn.ru

    jurvrn.ru Новичок

    С нами с:
    14 июн 2019
    Сообщения:
    97
    Симпатии:
    2
    где этот пример?

    где об этом почитать
     
  21. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.552
    Симпатии:
    1.754
    jurvrn.ru нравится это.
  22. jurvrn.ru

    jurvrn.ru Новичок

    С нами с:
    14 июн 2019
    Сообщения:
    97
    Симпатии:
    2
    а где же им быть если надо вывести?
     
  23. Valick

    Valick Активный пользователь

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
    @jurvrn.ru, вот тебе 15 раз уже сказали и показали как надо выводить и "где им быть если надо вывести", но всё бесполезно.
     
  24. jurvrn.ru

    jurvrn.ru Новичок

    С нами с:
    14 июн 2019
    Сообщения:
    97
    Симпатии:
    2
    @Valick, так много говорят и дают кода, что я уже запутался как правильно. Можно ссылку на пост с правильным вариантом?
     
  25. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.552
    Симпатии:
    1.754