We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 32187
    • 5 Posts
    Задача:
    Показать имя человека, у которого сегодня день ангела.
    Первым делом проверяем текущую дату, $curDate.
    Затем выбираем pagetitle 3-его контейнера, у которого один из TV параметров (tmplvarid c 24 по 33) имеет value = $curDate


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

    <?php
    $curDate=date( 'd.m.Y', time() );
    $date= "SELECT value ";
    $date .= "FROM " . $modx->getFullTableName('site_tmplvar_contentvalues');
    $date .= "WHERE  tmplvarid='24' OR tmplvarid='25' OR tmplvarid='26' OR tmplvarid='27' OR tmplvarid='28' OR tmplvarid='29' OR tmplvarid='30' OR tmplvarid='31' OR tmplvarid='32' OR tmplvarid='33'";
    $dater= $modx->dbQuery($date);
    
      if (!mysql_num_rows($dater))
          echo ("Нет данных");
      else
      {
        $i=1;
        while ($row = mysql_fetch_array($dater))
        {
      print($row["value"]);
      print('<br/>');
          $i++;
        }
      }
    
    $sql= "SELECT pagetitle ";
    $sql .= "FROM " . $modx->getFullTableName('site_content');
    $sql .= "WHERE parent='3'";
    $res= $modx->dbQuery($sql);
    
    
      if (!mysql_num_rows($res))
          echo ("Нет данных");
      else
      {
        $i=1;
        while ($row = mysql_fetch_array($res))
        {
      print($row["pagetitle"]);
      print('<br/>');
          $i++;
        }
      }
    ?>
      • 897
      • 1,620 Posts
      как-то так
      $all = getDocumentChildrenTVarOutput(3, range(24, 33));
      $curDate=date( 'd.m.Y', time() );
      $need_ids = array_keys(array_filter($all, function ($value) use ($curDate) { return ($value == $curDate); } ));
      
      foreach($need_ids as $doc_id)
          echo current($modx->getPageInfo($doc_id,1,'pagetitle'));
      
      
        "Und wenn du lange in einen Abgrund blickst, blickt der Abgrund auch in dich hinein."

        Не используйте Revo для "просто сайтов". Используйте Evo

        Who can defeat the Russian bear?
        • 32187
        • 5 Posts
        Спасибо, к сожалению поздно прочитал ))0
        Сделал так:
        <?php
        $curDate=date( 'd.m.Y', time() );
        $date = "SELECT modx_site_content.pagetitle
                 FROM modx_site_content
                 where modx_site_content.id in 
                 (   
                 select modx_site_tmplvar_contentvalues.contentid 
                 from modx_site_tmplvar_contentvalues 
                 where modx_site_tmplvar_contentvalues.value ='".$curDate."'
                 )";
        $dater= $modx->dbQuery($date);
        
          if (!mysql_num_rows($dater))
              echo ("Сегодня нет Дня Ангела");
          else
          {
            $i=1;
            while ($row = mysql_fetch_array($dater))
            {
          print($row["pagetitle"]);
          print('<br/>');
              $i++;
            }
          }
        ?>
          • 9085
          • 630 Posts
          А с годом проблем не возникает?
            Правильно заданный вопрос повышает вероятность получения нужного ответа.
            Что-то не работает? Загляните в лог ошибок!
            Есть проблема? "Локализуйте" её!
            Ответы на большинство вопросов по MODx | MODx RTFM | API Evo Revo | галопом по Европам Азиям smiley wikibooks(ru) Ditto(en) | Wayfinder e-book | Заметки и о MODx
            • 897
            • 1,620 Posts
            в следующем году будут smiley
              "Und wenn du lange in einen Abgrund blickst, blickt der Abgrund auch in dich hinein."

              Не используйте Revo для "просто сайтов". Используйте Evo

              Who can defeat the Russian bear?