0

我有这个代码,我的数据库中的主要是计数器。

<input class="textbox1" tabIndex="8" maxLength="49" size="30" name="n_counter" value='
<?php
   $result = mysql_query("SELECT * FROM procurement WHERE counter != ' '");
   while ( $row = mysql_fetch_array( $result ) ) {
      $value = $row['counter'];
   }
   $i = "0";
   while ( $i <= $value ) {
      $i++;
   }
   $value2 = strlen( $i );
   if ( $value2 == 1 ) {
      echo "00000" . $i;
   } else if ( $value2 == 2 ) {
      echo "0000" . $i;
   } else if ( $value2 == 3 ) {
      echo "000" . $i;
   } else if ( $value2 == 4) {
      echo "00" . $i;
   } else if ( $value2 == 5 ) {
      echo "0" . $i;
   } else {
      echo $i;
   }
?>'>

循环语句完美运行,但在我从数据库中删除记录后出现问题。

在此处输入图像描述

当我删除 000001 条记录并添加另一条记录时,该记录位于 000000 旁边,我想要的是 000010 应该放在 000009 旁边。在我的另一个项目中工作正常。可能是什么问题呢?

4

2 回答 2

0

在您的 sql 查询中添加“ORDER BY counter ASC”。

$result = mysql_query("SELECT * FROM procurement WHERE counter != ' ' ORDER BY counter ASC");
于 2013-09-27T06:24:49.317 回答
0

一切都好

只是更新这个

$result = mysql_query("SELECT * FROM procurement WHERE counter != ' ' ORDER BY counter ASC");

强烈建议您使用mysqli而不是mysql.

哟将不得不更新connection,然后Query execution太。

$connection = ($GLOBALS["___mysqli_ston"] = mysqli_connect( "db_server",  "db_user",  "db_password","database" )) or die( ((is_object($GLOBALS["___mysqli_ston"])) ? mysqli_error($GLOBALS["___mysqli_ston"]) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false)) ) ;

$sql = "SELECT * FROM procurement WHERE counter != ' ' ORDER BY counter ASC";
$result = mysqli_query($GLOBALS["___mysqli_ston"],  $sql ) or die( ((is_object($GLOBALS["___mysqli_ston"])) ? mysqli_error($GLOBALS["___mysqli_ston"]) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false)) ) ; 
于 2013-09-27T05:53:36.647 回答