正手我想道歉,变量名是荷兰语,但我的页面导航和搜索框遇到了困难......
这是代码:
$zoekwoord="";
$html.=<<<EOT
<form method="get" class="zoek">
<input type="hidden" name="page" value="home_overzicht">
<input type="text" name="zoekwoord">
<input type="submit" value="zoeken"/>
</form>
EOT;
if(!empty($_GET['zoekwoord'])){
$zoekwoord=$_GET['zoekwoord'];
}
$itemsperpagina = 20;
$aantal=$data->berichten_tellen($zoekwoord);
$aantalpaginas=ceil($aantal / $itemsperpagina); // Altijd omhoog!
if (empty($_GET['pagina'])) {
$pagina=1;
} else {
$pagina=intval($_GET['pagina']);
}
if (($pagina<1) || ($pagina>$aantalpaginas)) $pagina=1;
$html_navigatie='<p>';
if ($pagina>1) {
$html_navigatie.='<a href="?page=home_overzicht&pagina='.($pagina-1).'&zoekwoord='.($zoekwoord).'">Vorige</a>';
}
$html_navigatie.=" Pagina {$pagina}/{$aantalpaginas} ";
if ($pagina<$aantalpaginas) {
$html_navigatie.='<a href="?page=home_overzicht&pagina='.($pagina+1).'&zoekwoord='.($zoekwoord).'">Volgende</a>';
}
$html_navigatie.="</p>";
$html.=$html_navigatie;
这是计算消息的功能
function berichten_tellen($zoekwoord=""){
$result = $this->mysqli->query(
<<<EOT
SELECT COUNT (*) FROM home
WHERE lower(concat_ws(' ',kop,auteur))
LIKE lower('%{$zoekwoord}%')
EOT
);
if(!$result){
die("MySQL error: " . $this->mysqli->error);
}
if($result){
$row = $result->fetch_row();
$result->free();
return($row[0]);
}else{
return(FALSE);
}
}
这是导航功能
function home_berichten_laten_zien($pagina, $itemsperpagina,$zoekwoord=""){
$l = ($pagina-1) * $itemsperpagina;
if ($l<0) $l=0;
$result = $this->mysqli->query(
<<<EOT
SELECT id, kop, artikel, auteur, datum, status
FROM home
WHERE lower(concat_ws(' ',kop,auteur))
LIKE lower('%{$cleandata}%') ORDER BY kop LIMIT {$l},{$itemsperpagina}
EOT
);
if(!$result){
die("MySQL error: " . $this->mysqli->error);
}
$waardes = array();
while($row = $result->fetch_assoc()){
$waardes[] = $row;
}
return $waardes;
}
这是我打开特定页面时得到的错误:
MySQL错误:您的SQL语法出错;查看与您的MySQL服务器版本相对应的手册,以便在正确的语法附近使用&#39; *)FROM home WHERE lower(concat_ws(&#39;&#39;,kop,auteur))LIKE lower(&#39 ; %%&#39;)&#39;在第1行
答案 0 :(得分:1)
埋在MySQL documentation的深处就是这个:
要在表达式中将名称用作函数调用,必须为no 名称和以下“(”括号之间)的空格 字符。
即,COUNT(*)
被识别。但是,COUNT (*)
不是。
请注意,这是MySQL数据库的特性。
答案 1 :(得分:1)
您的COUNT()不正确。你不能把计数(),你必须把它像计数()。我认为如果你坚持计数(),你可以做些什么,但我不确定。查阅here。