我需要一些帮助来在我的表单中创建一个自动递增的注册 ID。它可能是数字或字母数字。如果它以 aaa0001
开头,我已将其显示在表单中。在第一个条目之后,它应该递增到 aaa0002
并将其显示在表单中。我尝试使用 JSON 和 PHP,但出现了一些错误。
可能是 aaa0001、aaa0002、……aaa9999……aab0000……
PHP
$details = mysqli_query($con, "SELECT MAX(`member_id`) FROM `member_details`");
$details = mysqli_query($con, "SELECT * FROM `member_details` WHERE `member_id` ");
$rows = array();
while ($r = mysqli_fetch_assoc($details)) {
$rows[] = $r;
}
print json_encode($details);
JSON
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var myObj = JSON.parse(this.responseText);
//var memid = myObj[0].member_id;
//memid++;
//document.getElementById("member_id").value = memid;
document.getElementById("member_id").value = myObj[0];
alert(myObj);
}
};
xmlhttp.open("GET", "/fetch_reg_memid.php?member_id=" + member_id, true);
xmlhttp.send();
}
最佳答案
首先,您的第一个查询没问题,还有一个更简单的选择:
$details= mysqli_query($con, "SELECT MAX(`member_id`) FROM `member_details`");
$details = mysqli_query($con, "SELECT member_id FROM `member_details` ORDER BY member_id dESC");
第二,应该修复从 mysqli 中提取的问题。 details是你json编码的对象
如果只有一行,则无需遍历案例... 所以
$r = mysqli_fetch_assoc($details);
然后 $r['member_id']
应该返回您的 member_id:
$r = mysqli_fetch_assoc($details);
print $r['member_id'];
关于javascript - 自动递增注册ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52701705/