简体   繁体   English

$ x ++结果总是给出1

[英]$x++ result always gives 1

<?
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() );   
    }
}
?>

my database updates but all my num column is updated to 01.i want it to be a sequence 01,02....depends on the number of rows on my database. 我的数据库更新,但我的所有num列都更新为01.i希望它是序列01,02 ....取决于我的数据库中的行数。

Rather than zero-padding in your PHP, why not define your database column appropriately? 为什么不适当地定义数据库列,而不是在PHP中进行零填充?

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

Or, better still, format on the way out instead of on the way in: 或者,更好的是,在出路上格式而不是在路上:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM