<?php
define('DB_HOSTNAME', 'localhost');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', null);
define('DB_DATABASE', 'publicacoes');
define('DB_PREFIX', 'bn');
define('DB_CHARSET', 'utf8');
?>
<?php
function DBclose($link){
@mysqli_close($link) or die(mysqli_error($link));
}
function DBConnect(){
$link = @mysqli_connect(DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE) or die(mysqli_connect_error());
mysqli_set_charset($link, DB_CHARSET) or die(mysqli_error($link));
return $link;
}
?>
<?php
function DBRead($table, $params = null, $fields = '*'){
$table = DB_PREFIX.'_'.$table;
$params = ($params) ? " {$params}" : null;
$query = "SELECT {$fields} FROM {$table}{$params}";
$result = DBExecute($query);
if(!mysqli_num_rows($result))
return false;
else{
while ($res = mysqli_fetch_assoc($result)){
$data[] = $res;
}
return $data;
}
}
function DBExecute($query, $insertId = false){
$link = DBConnect();
$result = @mysqli_query($link, $query) or die(mysqli_error($link));
if($insertId)
$result = mysqli_insert_id($link);
DBClose($link);
return $result;
}
?>
<?php
$publicacao = DBRead('publicacao');
foreach ($publicacao as $pl):
endforeach;
?>
<? foreach ($publicacao as $pl): ?>
<li>
<h4><a href="#"><?php echo $pl['title']?></a></h4>
<h5><?php echo $pl['text']?><a href="%">Continue lendo »</a></h5>
</li>
<? endforeach; ?>
<? foreach ($publicacao as $pl): ?>
<li>
<h4><a href="#"><?php echo $pl['title']?></a></h4>
<h5><?php echo $pl['text']?><a href="%">Continue lendo »</a></h5>
</li>
<? endforeach; ?>
我在变量var_dump
中放入了$publicacao
没关系,但是我的foreach
只在两个li
上打印了一条记录。怎么了?
我该如何解决?我在Stackoverflow上没有发现任何类似的问题。而且我找不到问题。我对使用MYSQLi和 我正在尽力而为,但是这个问题让我有些头疼。
编辑:
print_r($publicacao)
Array([0] => Array([id] => 33 [title] =>第一个标题[text] =>第一个文本)[1] => Array([id] => 34 [title] = >第二个标题[文本] =>第二个文本))
答案 0 :(得分:0)
根据我的评论
在这一行$publicacao_ = DBRead('publicacao');
中,您的变量是$publicacao_
和_
,但是在foreach loop
中,您缺少了_
并使用了$publicacao
>
$publicacao_ = DBRead('publicacao');
<? foreach ($publicacao_ as $pl): ?> //replace $publicacao with $publicacao_
<li>
<h4><a href="#"><?php echo $pl['title']?></a></h4>
<h5><?php echo $pl['text']?><a href="%">Continue lendo »</a></h5>
</li>
<? endforeach; ?>