声明没有回显信息

时间:2016-02-18 16:34:12

标签: php mysql

好吧,所以我在一个数据库中有两个不同的表,我试图使用while语句从一个表中回显一个名称,然后为每个名称回显一个选择器..

例如,如果表中只有一个名称,那么只有一个选择器,如果有两个名称则为Else但是选项选择值应该设置为它在DB中所说的...现在一切都正确地回响,但所有选择的选项都不是唯一的,它们保持与之前的相同。因此,如果我将其中一个设置为禁用,则选择器将它们全部显示为已禁用..这是代码

 <?php


            $userID = $_GET['uid']; // from the query string in the link

            $_SESSION['userid'] = $userID;

            $query = $con->prepare("SELECT * FROM users WHERE ID = '". $userID ."'") or die(mysqli_error()); 
            $query->execute();
            $user=$query->fetch(PDO::FETCH_ASSOC);

            // echo out user details:

            echo '<b>' . 'User Info:' . " " . '</b>';
            echo '<br>';
            echo  $user['last']. "," . " " .$user['first'];
            echo '<br>';
            echo 'Business Unit';
            echo '<br>';
            echo $user['busunit'];
            echo '<br>';
            echo 'Location';
            echo '<br>';
            echo $user['location'];
            echo '<br>';
            echo 'Position';
            echo '<br>';
            echo $user['position'];

            echo '<br>';
            echo '<br>';
            echo '<b>Access Info</b>';
            echo '<br>';
            $number = '1';
            $number++;

            $new = 'op' . $number;



            $stmt = $con->prepare("SELECT * FROM access");
            $stmt->execute();

            $userIDi = $user['ident'];
            $q = $con->prepare("SELECT * FROM priv WHERE ident = :ID ");
            $q->bindparam(":ID", $userIDi);
            $q->execute();
            $priv=$q->fetch(PDO::FETCH_ASSOC);

            $val1 = 'Yes';
            $val2 = 'No';


            echo '<form method="post">';

            while($row=$stmt->fetch(PDO::FETCH_ASSOC))
            {
                echo $row['name'];
                echo ' ';
                echo '
                <select id='.$new.'>
                <option value="Yes"';  
                if($priv[$new]==$val1){echo 'selected="selected"';}   echo '>Enabled </option>';
                echo '<option value="No"';   
                if($priv[$new]==$val2){echo 'selected="selected"'; }  echo '>Disabled </option>';
                echo '</select>';
                echo '<br>';





            }
            echo '<br>';
            echo '<input type="submit" name="submit"/>';
            echo '</form>';

更新了此代码, 仍然无法让它发挥作用。

while($row=$stmt->fetch(PDO::FETCH_ASSOC))
            {
                echo $row['name'];
                echo ' ';


                echo '
                <select id='.$new.'>';

                while($priv=$q->fetch(PDO::FETCH_ASSOC)){ 

                echo '<option value="Yes"'; if($priv[$new]==$val1){echo 'selected="selected"' . '>Enabled </option>';}





                echo '<option value="No"'; if($priv[$new]==$val2){echo 'selected="selected"' . '>Disabled </option>'; }
                }   




                echo '</select>';

                echo '<br>';



            }

这是第三次更新..

现在第一个选择器正在动态运行,它将更改为启用或禁用,但其他选择器保持静态。

while($row=$stmt->fetch(PDO::FETCH_ASSOC))
            {
                echo $row['name'];
                echo ' ';
                echo '
                <select id='.$new.'>

                <option value="Yes"'; 

                while($priv=$q->fetch(PDO::FETCH_ASSOC)){ 

                if($priv[$new]==$val1){echo 'selected="selected"';}  echo '>Enabled </option>';

                echo '<option value="No"';  


                if($priv[$new]==$val2){echo 'selected="selected"'; }}  echo '>Disabled </option>';

                echo '</select>';

                echo '<br>';



            }
            echo '<br>';
            echo '<input type="submit" name="submit"/>';
            echo '</form>';

0 个答案:

没有答案