$ x ++结果总是给出1

时间:2014-01-23 15:11:15

标签: php increment

<?
include('config.php');
$z=$_GET['qnum'];
$j=$_GET['num'];
$n=$_GET['num'];

$sql=mysql_query("SELECT * FROM qustion where qnum='$z'");
while($l=mysql_fetch_array($sql))
{
    $m++;
}
$sql=mysql_query("DELETE FROM qustion WHERE qnum='$z' and num='$n'");
if($n!=$m)
{
    $sql=mysql_query("SELECT * FROM qustion where qnum= '$z' order by num");
    while($r=mysql_fetch_array($sql))
    {
        $x++;
        if($x<=9)
        {
            $x="0$x";
        }
        $sql= "UPDATE qustion SET num='$x' WHERE qnum='$z'";                
        if( !mysql_query($sql,$link) )
        die( 'Error: ' . mysql_error() );   
    }
}
?>

我的数据库更新,但我的所有num列都更新为01.i希望它是序列01,02 ....取决于我数据库中的行数。

1 个答案:

答案 0 :(得分:2)

为什么不适当地定义数据库列,而不是在PHP中进行零填充?

ALTER TABLE `qustion` MODIFY `num` TINYINT(2) UNSIGNED ZEROFILL

或者,更好的是,在出路时格式而不是在路上:

$q = /* some code to get the question data */
echo sprintf("%02s",$q['num']);