0

我希望代码将相同的值插入到列表中检查的不同行(从数据库中查询列表。)但它说
“注意:第 5 行 \enrol.php 中的数组到字符串转换”,

这是我的section.php

    <table border=1px>
    <th>SELECT</th>
    <th>ID NUMBER</th>
    <th>NAME</th>
    <th>COURSE</th>
    <th>YEAR</th>

    <?php session_start();
    include('connect.php');
    $group=$_REQUEST['idEdit'];
    echo $group;

    $sql="SELECT * FROM login WHERE section IS NULL or section = 0";
    $result=mysql_query($sql) or die(mysql_error() );


        while($arr=mysql_fetch_array($result))
        {
            echo '<tr><td><form action="enrol.php" method="post"><input type="checkbox" name="idnumber[]" value="'.$arr['idnumber'].'"></td>'.
                 '<td>'.$arr['idnumber'].",&nbsp</td>".
                 '<td>'.$arr['lastname'].",".$arr['firstname']."&nbsp</td>".
                 '<td>'.$arr['course']."&nbsp</td>".
                 '<td>'.$arr['year']."&nbsp</td></tr>";}

         $idnumber=$arr['idnumber'];
         ?> 

        <input type="hidden" value="<?php $group ?>" name="group">
        <input type="submit" value="Enrol Student" name="submit">
        </form>
    </table>

这是我的 enrol.php

    <?php 
    if(isset($_REQUEST['submit'])){

    $ids = join (', ', $_POST['idnumber']);
    $sql="INSERT INTO login (section) values ('$_POST[group]') WHERE idnumber='$ids'";
    mysql_query($sql);

    $count=mysql_affected_rows();

    if($count==1){
                  echo '<script type="text/javascript">alert("Added Sucessfully")</script>';

    }else{
                echo '<script type="text/javascript">alert("Error!")</script>';

                }
     }
    ?>

我怎么解决这个问题?我一直在尝试寻找解决方案,但似乎找不到任何解决方案。请帮忙。

4

5 回答 5

1

我认为,您将隐藏字段组的值设为空。首先,您在隐藏字段中回显组值。

<input type="hidden" value="<?php echo $group; ?>" name="group">

我希望你的问题会得到解决。你明白我的意思了吗?

于 2013-04-03T10:55:02.190 回答
0

使用 implode 代替 join

$ids = implode(', ', $_POST['idnumber']);
于 2013-04-03T10:49:59.897 回答
0

使用内爆

 <?php 
        if(isset($_REQUEST['submit'])){

        $ids = implode(', ', $_POST['idnumber']);
        $sql="INSERT INTO login (section) values ('$_POST[group]') WHERE idnumber='$ids'";
        mysql_query($sql);

        $count=mysql_affected_rows();

        if($count==1){
                      echo '<script type="text/javascript">alert("Added Sucessfully")</script>';

        }else{
                    echo '<script type="text/javascript">alert("Error!")</script>';

                    }
         }
        ?>
于 2013-04-03T10:52:01.560 回答
0

获取帖子值时存在一些报价问题。尝试一下。

$sql="INSERT INTO login (section) values ('".$_POST["group"]."') WHERE idnumber='".$ids."'";
于 2013-04-03T10:52:06.750 回答
0

感谢@thumber nirmal 和所有回答这个问题的人,我得到了答案。这是 enrol.php 的工作代码

    <?php include('connect.php');
    if(isset($_REQUEST['submit'])){

    $ids = implode(', ', $_POST['idnumber']);
    $sql="update login set section='".$_POST['group']."' WHERE idnumber IN ($ids)"; 
    echo $sql; 
    $query = mysql_query($sql) or die(mysql_error());
    mysql_query($sql);

    $count=mysql_affected_rows();

    if($count==1){
                  echo '<script type="text/javascript">alert("Added Sucessfully")</script>';

    }else{
                echo '<script type="text/javascript">alert("Error!")</script>';

                }
     }
    ?>
于 2013-04-03T11:34:55.620 回答