-2

私はライブラリ管理システムに取り組んでおり、ユーザーが指定したコピー数と同じ数のレコードを挿入したい.このコードはこれを行いますが、エントリが1つ少なくなることがあります.

  <?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

セッション変数を指定する前にセッションを開始するだけです...

ちょうどそれをチェック..

<?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 に答える
0

指定したため、1つ少なく追加している$i>0ため、常に1から開始されます。代わりに、次のようにします。

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