-2

I'm working on a library management system & i want to insert no of records as equal to no of copies specified by user.this code does this but sometimes it adds 1 less entry.

  <?php
    $title=$_POST["title"];
    $authore=$_POST["aut"];
    $doa=$_POST["doa"];
    $cst=$_POST["cst"];
    $noc=$_POST["noc"];
    $tag= implode("," , $_POST["checkbox"]);
    $ses=$_SESSION['session'];
    session_start();
    require_once("../db.php");

    for($i=$noc;$i>0;$i--)
    {
    $bno=$_POST["bno"][$i];
    $qry="insert into addbook(bookno,title,authore,tags,session,status,dateofarrival,customtag,noofcopies)values('$bno','$title','$authore','
    $tag','$ses','0','$doa','$cst','$noc')";
    mysql_query($qry);
    ?>
4

2 回答 2

0

因为你指定$i>0了,所以它会少加一个,所以它总是从 1 开始,而不是像这样:

for($i=$noc;$i>=0;$i--)
于 2013-10-28T07:38:16.213 回答
0

在指定任何会话变量之前启动会话...

只是检查它..

<?php
$title=$_POST["title"];
    $authore=$_POST["aut"];
    $doa=$_POST["doa"];
    $cst=$_POST["cst"];
    $noc=$_POST["noc"];
    $tag= implode("," , $_POST["checkbox"]);
    $ses=$_SESSION['session'];
    session_start();
    require_once("../db.php");

改变

<?php
session_start();
$title=$_POST["title"];
    $authore=$_POST["aut"];
    $doa=$_POST["doa"];
    $cst=$_POST["cst"];
    $noc=$_POST["noc"];
    $tag= implode("," , $_POST["checkbox"]);
    $ses=$_SESSION['session'];

    require_once("../db.php");

这可能有助于否则在php中您可以尝试调试,例如,使用mysqli_error()等。

于 2013-10-28T08:00:56.320 回答