【问题标题】:i need to increment the id in the database in php automatically我需要在 php 中自动增加数据库中的 id
【发布时间】:2018-01-24 09:18:44
【问题描述】:

添加相机页面代码

这里我有 3 个字段,分别称为 name、sensor 和 orderid,这里我需要填写所有字段。填写后我保存了这些详细信息数据库。

在数据库中添加数据后,它将转到 cameralist.php 文件并使用编辑和删除按钮显示名称。

我的问题是我想通过 cameralist.php 页面中的订单 ID 来订购数据库。考虑第一个记录名称是索尼,传感器名称是索尼,orderid 变为 1。现在我要插入新记录名称是佳能,传感器是佳能,id 是 1。如果我输入相同的 id,sony 的 id 应该增加到 2 ,

这是否可行,请建议

<?php
include('db.php');
if(isset($_POST['submit']))
{
     //echo json_encode($_POST);



    foreach($_POST as $key=>$value)
    {
        if($key!="submit"){

        $names[]=$key;
        $val[]= "'".$value."'";
        }
        //$names=mysqli_real_escape_string($db,$value);
    }
    $output=implode(",",(array)($names));
    $v=implode(",",(array)($val));


$query="INSERT INTO `camera details` ($output)
                                        VALUES($v)";

$result=mysqli_query($db,$query) or die("OrderID Already Exists Add A new One");
    if($result)
    {

    header('location:cameralist.php');

    }
}
else {
?>



<div class="form">
<form method="POST" action="">
<?php

include('db.php');

$col="SHOW COLUMNS FROM `camera details`";
$output=mysqli_query($db,$col);

$kal=array();
while($row=mysqli_fetch_array($output))
{
    if($row['Field']!='id')
    {
        ?><div class="values"><?php echo $row['Field'];
        echo "<br>";?></div><br><br><?php
        array_push($kal, $row['Field']);
    }
}
?>
<div class="input">
<?php

foreach($kal as $key=>$value){
?>

<input type="text" name="<?php echo $value;?>" required /><br><br>
    <?php  } ?>




<br><input type="submit" name="submit" value="SUBMIT">

<?php 

?>
<br>

</div>
<br><br>
</form>
<?php } ?>

cameralist.php 文件代码

<?php

include('db.php');
$sql="SHOW COLUMNS FROM `camera details`";
$n=mysqli_query($db,$sql);
$kalai=array();

while($k=mysqli_fetch_array($n))
{
    if($k['Field']!='id')
    {
        array_push($kalai,$k['Field']);
    }
}

include('db.php');
$query="SELECT * FROM `camera details` ORDER BY OrderNo ";

$result=mysqli_query($db,$query);

while($row=mysqli_fetch_assoc($result))
{?>
<tr><td><div class="values"><?php echo $row["$kalai[0]"]; ?></td></div>
<td><div class="edit"><a href="editcameradetails.php?id=<?php echo $row["id"] ?>">MODIFY</a></td></div>
<td><div class="delete"><a href="deletecameradetails.php?id=<?php echo $row['id'] ?>"> DELETE</a></td></div></tr>
<br><br><br>
<?php }  ?>

【问题讨论】:

  • orderid 的值是否来自用户?
  • 在 SQL 表 AUTO_INCREMENT 中设置id 列属性的更好方法
  • id 字段中使用AUTO_INCREMENT
  • 为什么要多次包含db.php
  • @Swellar 是的 orderid 是来自用户的价值

标签: php html increment


【解决方案1】:

只需使用 DESC,新记录就会出现在您正在显示的列表的顶部

 $query="SELECT * FROM `camera details` ORDER BY OrderNo DESC ";

默认为它的 ASC

【讨论】:

  • 没关系。如果两行具有相同的 id(1) 我想将另一行增加到 2 我该怎么做??/建议
  • 如果您在表定义中将 id 设置为自动递增,数据库系统将防止重复,您不必担心,因为它不会发生。
猜你喜欢
  • 2018-03-13
  • 2012-03-10
  • 2014-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多