2013-11-26 107 views
1

我有記錄哪個列名稱是計數器。值爲000003,000012等。但是我的問題是,當我嘗試將它的形式操作url更改中收到的值發佈時,我只收到3個實際值爲00000的數據。爲什麼?我在第二頁中回覆POST值。郵政價值變化

<?php 
$mysqli = new mysqli("localhost", "root", "", "app"); 
$result1 = $mysqli->query(" 
    SELECT * 
    FROM app 
"); 
echo'<table border=1> 
     <thead> 
    <tr> 
     <th>cc</th> 
    </tr> 
     </thead>'; 
     echo'<tbody>'; 
while($row = $result1->fetch_assoc()){ 
echo' <tr>'; 
      echo "<td><a href='#' onclick='javascript:postIt(".$row['counter'].");'>".$row['counter']."</a></td> "; 
     echo'</tr>'; 
    } 
    echo "</tbody></table>"; 

?> 
<script> 
function postIt(value){ 
    document.forms[0].id.value = value; 
    document.forms[0].submit(); 
} 
</script> 
<form name="blah" action="check.php" method="post"> 
<input type="hidden" name="id"> 
</form> 

爲什麼000003變成只有3,或者000172變成了172。

+0

檢查你的數據庫中的數據類型 – SHIN

+0

我檢查它,它不是整數,我將它設置在VARCHAR – surname

+0

回聲 「​​".$row['counter']."」; – SHIN

回答

0

這可能工作

echo "<td><a href='#' onclick='javascript:postIt(\"".$row['counter']."\");'>".$row['counter']."</a></td> "; 
+0

它的工作原理,但會解釋\你添加在腳本中的功能?在函數(0003)中, – surname

+0

表示函數(3),但您需要函數(「0003」)。所以我加了「。但是你已經有了」處理字符串,我需要把它轉義出來,所以把「\」 – SHIN

0

因爲你正在使用整數,而不是字符串。如果要將它們保留爲字符串,則用前導零將含義轉換爲字符串類型。

+0

在腳本中?但是如何? – surname

+1

http://stackoverflow.com/questions/11083254/casting-to-string-in-javascript –

0

爲什麼這是一個問題?在接收端,您可以簡單地將該號碼填回您想要的方式。

這似乎是一個計數器應該是一個整數。然後你可以把它拿出來,或者不用,如果你想要的話。

如果你真的想在發送之前填充它,

在這裏看到: How can I pad a value with leading zeros?