2011-02-15 56 views
0

我得到这个错误,不知道如何解决它。第162行是php代码中的第一行。我看了一些相关的问题和我所有的引号似乎是在正确的地方PHP的警告:除零错误

Per page: 
<input type=text name=per_page value="<?php echo $en['per_page']; ?>" size=6> 
Go to page: 
<select name=page size=1> 

<?php 
$pages = ceil(sql_num_rows($result)/$en['per_page']); 
for ($k=1;$k<=$pages;$k++) 
    echo '<option value='.$k.($en[page] == $k ? ' selected':'').'>'. 
    $k.'</option>'; 

echo '</select>'; 
if ($en[page]<$pages) 
    echo '<input type=submit name=next value="Next page">'; 
?> 

回答

3

尝试echo $en['per_page'],并确保它得到正确的值。 (我敢打赌它没有)。

无关:$en[page]大概应该是$en['page'](假设页面实在不是一个常数)

3

什么的$en['per_page']值(我猜零)

1

如果你得到一个鸿沟零错误,那么$en['per_page']可能不正确。这可能是零值。


此外,所有的HTML属性需要加引号。 例如:

<input type=text name=per_page 

应该是:

<input type="text" name="per_page" 

你的数组索引也应该被引用。

$en[page] 

应该是:

$en['page'] 
+0

他们不*需要加引号*;)XHTML说,他们必须是,HTML说,他们可以是 - [HTML规范(http://en.wikipedia.org/wiki/HTML) – Rudu 2011-02-15 17:58:57

+0

@Rudu :啊,没有意识到。我已经使用了XHTML这么久了,我习惯于引用所有属性。 – 2011-02-15 17:59:40

2

因为你不能有0

分母值检查的$值en [ 'per_page'> 0之前,将它应用于师。

2

你通过一个变量划分,如果变量是0,你会得到错误的任何时间。

,以防止它会检查,以确保$连接[“per_page”]的方式是不为零,因为这似乎是你唯一的分裂和可能是您的问题。

0

这里是解决方案:

每页:

<input type=text name=per_page value="<?php echo $en['per_page']; ?>" size=6> 

转到页:

<?php 
$pages = @ceil(sql_num_rows($result)/$en['per_page']); 
for ($k=1;$k<=$pages;$k++) 
    echo '<option value='.$k.($en[page] == $k ? ' selected':'').'>'. 
    $k.'</option>'; 

echo '</select>'; 
if ($en[page]<$pages) 
    echo '<input type=submit name=next value="Next page">'; 
?> 

小区/除法之前只是用@。