print '<div id="wrap">';
print "<table width=\"100%\" border=\"0\" align=\"center\" cellpadding=\"3\" cellspacing=\"3\">";
for($i=0; $i<count($news_comments); $i++)
{
print '
<tr>
<td width="30%"><strong>'.$news_comments[$i]['comment_by'].'</strong></td>
<td width="70%">'.$news_comments[$i]['comment_date'].'</td>
</tr>
<tr>
<td></td>
<td>'.$news_comments[$i]['comment'].'</td>
</tr>
';
}
print '</table></div>';
$ news_comments - это 3-мерный массив из mysqli_fetch_assoc, возвращаемый из функции в другом месте, по какой-то причине цикл for возвращает сумму всех наборов массивов, таких как [0] [2] и т. Д., Пока не достигнет максимальной суммы из подсчитанного $ news_comments var, которая является возвращаемой функцией LIMIT 10. Моя проблема в том, что если я добавлю какой-либо текст / html / icons в цикл for, он напечатает его в этом случае 11 раз, даже если данные содержатся только в массивах 1 и 2. Как мне обойти это?
Мой функциональный запрос выглядит следующим образом:
function news_comments()
{
require_once '../data/queries.php';
// get newsID from the url
$urlID = $_GET['news_id'];
// run our query for newsID information
$news_comments = selectQuery('*', 'news_comments', 'WHERE news_id='.$urlID.'', 'ORDER BY comment_date', 'DESC', '10'); // requires 6 params
// check query for results
if(!$news_comments)
{
// loop error session and initiate var
foreach($_SESSION['errors'] as $error=>$err)
{
print htmlentities($err) . 'for News Comments, be the first to leave a comment!';
}
}
else
{
print '<div id="wrap">';
print "<table width=\"100%\" border=\"0\" align=\"center\" cellpadding=\"3\" cellspacing=\"3\">";
for($i=0; $i<count($news_comments); $i++)
{
print '
<tr>
<td width="30%"><strong>'.$news_comments[$i]['comment_by'].'</strong></td>
<td width="70%">'.$news_comments[$i]['comment_date'].'</td>
</tr>
<tr>
<td></td>
<td>'.$news_comments[$i]['comment'].'</td>
</tr>
';
}
print '</table></div>';
}
}// End function
Любая помощь очень ценится.
EDIT:
Это мой selectQuery () для kemp и / или кого-то еще, кто может немного починить его, он все еще в значительной степени WIP, поэтому он не завершен.
$_SESSION['errors'] = array();
function selectQuery($select, $tbl, $where, $order, $scroll, $limit)
{
global $mysqli;
require_once '../config/mysqli.php';
$query = "SELECT $select FROM $tbl $where $order $scroll LIMIT $limit";
if($result = mysqli_query($mysqli, $query))
{
$num = mysqli_num_rows($result);
if(!$num > 0)
{
array_push($_SESSION['errors'], 'No Results found : ');
}
else
{
for($i=0; $i<=$limit; $i++)
{
$data[$i] = mysqli_fetch_assoc($result);
}
return $data;
mysqli_free_result($result);
}
}
else
{
print('Error: ' . mysqli_error($mysqli));
}
}