使用相同的php文件包括erease主页面

时间:2018-01-22 21:27:32

标签: php html sql include

大家。这笔交易是我试图为公司的产品做一个overflow-x =滚动显示,并使用带有php的数据库显示产品。一切都很好,我把它的代码打包在一个永恒的php文件中,并尝试使用include两次。主要的想法是只允许第二个包含和相应的querySelect文件的sql,以避免两次编写代码。问题是,当我包含2个文件时,第一个内容既不会显示第二个内容,也不会显示其后的所有内容。代码类似于:

<div>Div with some content<div>
<?php require ("productos.php"); ?>
<div>Div with some content<div>
<?php require ("productos1.php"); ?>/*This file will be the same as the other but with different sql*/
<div>Guest what? More divs<div>

php文件有什么作用?好吧:

  <?php

    require "querySelect.php";

    $productos = new columnas();

    $array_productos = $productos->get_items();

    foreach ($array_productos as $value) {

      echo
      '<div class="card">
        <img data-toggle="modal" data-target="#exampleModal" data-nombre="' . $value["NOMBRE"] . '" data-imagen="' . $value["IMAGEN"] . '" data-color="' . $value["COLOR"] . '" data-peso="' . $value["PESO"] . '" data-tiempo="' . $value["TIEMPO"] . '" data-observaciones="' . $value["OBSERVACIONES"] . '" class="card-img-top" src="' . $value["IMAGEN"] . '" alt="Card image cap">
        <div class="card-block p-3">
          <h4 class="card-title">' . $value["NOMBRE"] . '</h4>
          <p class="card-text">' . $value["DESCRIPCION"] . '</p>
          <!-- <a href="#" class="btn btn-primary">Go somewhere</a> -->
        </div>
      </div>';
    }
  ?>

querySelect.php是:

<?php

  require "conexion.php";

  class columnas extends conexion {

    public function columnas() {

      parent::__construct();

    }

    public function get_items() {

      $sql = "SELECT * FROM primaproductos";

      $sentencia = $this->conexion_db->prepare($sql);

      $sentencia->execute(array());

      $resultados = $sentencia->fetchAll(PDO::FETCH_ASSOC);

      $sentencia->closeCursor();

      return $resultados;

      $this->conexion_db = null;


      /*$resultados = $this->conexion_db->query('SELECT * FROM post');

      $productos = $resultados->fetch_all(MYSQLI_ASSOC);

      return $resultados;*/
    }

  }

?>

上一个文件:

<?php

  require "config.php";

  class conexion {

    protected $conexion_db;

    public function conexion() {

      //--------------PDO-------------------------------------------------------------------

      try {

        $this->conexion_db = new PDO('mysql:host=###; dbname=###', '###', '###');

        $this->conexion_db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

        $this->conexion_db->exec("SET CHARACTER SET utf8");

        return $this->conexion_db;

      } catch (Exception $e) {

        echo "La linea de error es: " . $e->getLine();
      }

  }

?>

1 个答案:

答案 0 :(得分:0)

文件:[Conexion.php,(querySelect.php检查return语句..)]我想也没关系。

我认为你正在使用bootstrap 4,所以你之前应该有一个好的结构,我的意思是..

<div class="container-fluid">
  <div class="row no-gutters">
        <!-- HERE THE CARD ELEMENT, so 
          http://php.net/manual/en/function.require-once.php
        -->
       <?php require_once('productos.php'); ?>
       <!-- And div with class col-12 or whatever you want per item -->
  </div>
</div>

Productos.php

我认为你的错误也会在这里,我的意思是..

在...之前检查元素。

if ( !empty($array_productos) ) {
 //The foreach
 foreach ($array_productos as $value) {
   echo '<div class="col-12">'.$value["nombre"].PHP_EOL.'</div>';
 }
};

我希望这对你有帮助=)