大家。这笔交易是我试图为公司的产品做一个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();
}
}
?>
答案 0 :(得分:0)
我认为你正在使用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>
我认为你的错误也会在这里,我的意思是..
在...之前检查元素。
if ( !empty($array_productos) ) {
//The foreach
foreach ($array_productos as $value) {
echo '<div class="col-12">'.$value["nombre"].PHP_EOL.'</div>';
}
};
我希望这对你有帮助=)