• Почему не получается ввести пароль в Git при подключении Github?

    dergus
    @dergus
    Я не то чтобы граммар-наци, но написать "порол" вместо пароль это уже слишком.
    Ответ написан
    1 комментарий
  • Как и в каких случаях использовать DI в Yii2?

    SamDark
    @SamDark
    Yii2 core team
    DI именно в вашем случае не при чём. Это способ реализации, а не сама идея. Идея состоит в том, что вам нужно реализовать принцип инверсии зависимостей. То есть начать работать с интерфейсами, а не с конкретными реализациями.

    Чтобы быть универсальным и переносимым, модуль не должен знать о моделях извне себя. Вместо этого он должен выражать свои требования в виде интерфейса, а внешние модели этот интерфейс должны реализовывать.

    Для вашего примера делаем в модуле Article делаем интерфейсы:

    interface ArticleInterface
    {
        public function getTitle();
        public function getAuthor();
    }
    
    interface ArticleAuthorInterface
    {
        public function getName();
        public function getID();
    }


    Далее в пределах модуля используем только интерфейсы, а не сами модели:

    public function renderArticle(ArticleInterface $article)
    {
        return $this->renderPartial('_article', [
             'author' => $article->getAuthor(), 
             'title' => $article->getTitle()
        ]);
    }


    Вне модуля нам придётся реализовать интерфейсы в моделях:

    class Article extends ActiveRecord implements ArticleInterface
    {
       // ...
    }
    Ответ написан
    34 комментария
  • Сложный запрос mysql в php. В чём ошибка?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    хехехе
    $qr_result = $sql;
    Ответ написан
    Комментировать
  • Сложный запрос mysql в php. В чём ошибка?

    @krypt3r
    Я слеп — я не увидел mysql_query.
    ЗЫ. Опять эти mysql_* функции =\
    Ответ написан
    Комментировать
  • Сложный запрос mysql в php. В чём ошибка?

    mlnkv
    @mlnkv
    JavaScript Developer
    $qr_result = $sql; // что это??? где вы запрос в базу делаете?

    попробуйте так
    <?php 
        
      $db_host = 'localhost';
      $db_name = 'rgraph_example';
      $db_username = 'user';
      $db_password = 'password';
        
      $connect_to_db = mysql_connect($db_host, $db_username, $db_password);
    
      if (!$connect_to_db) {
        die("Could not connect: " . mysql_error());
      }
    
      if (!mysql_select_db($db_name, $connect_to_db)) {
        die("Could not select DB: " . mysql_error());
      }
      
      $sql = "SELECT `daily_statistics`.`Values` , `daily_statistics`.`Id` , `Humidity`.`Humidity` , `Temp`.`Value` ".
        "FROM daily_statistics LEFT JOIN `rgraph_example`.`Humidity` ON `daily_statistics`.`Id` = `Humidity`.`Id` ".
        "LEFT JOIN `rgraph_example`.`Temp` ON `daily_statistics`.`Id` = `Temp`.`Id` LIMIT 0 , 30";
      
      $result = mysql_query($sql);
      if (!$result) {
        die(mysql_error());
      }
      $data = array();
      while ($row = mysql_fetch_array($qr_result)) {
        $data[] = $row;
      }
    ?>
    
    <table border="1">
      <thead>
        <tr>
          <th>id</th>
          <th>Values</th>
          <th>Humidity</th>
          <th>Value</th>
        </tr>
      </thead>
      <tbody>
      <?php foreach ($data as $item):?>
        <tr>
          <td><?php echo $item['Id'] ?></td>
          <td><?php echo $item['Values'] ?></td>
          <td><?php echo $item['Humidity'] ?></td>
          <td><?php echo $item['Value'] ?></td>
        </tr>
      <?php endforeach; ?>    
      </tbody>
    </table>
    Ответ написан