Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php while语句不回显信息_Php_Mysql - Fatal编程技术网

Php while语句不回显信息

Php while语句不回显信息,php,mysql,Php,Mysql,好的,我在一个数据库中有两个不同的表,我试图使用while语句从一个表中回显一个名称,然后为每个名称回显一个选择器 例如,如果表中只有一个名称,则只有一个选择器,否则,如果有两个名称,则“选项选定值”应设置为数据库中显示的值。。。现在,所有内容都正确地进行了响应,但是为该选项选择的所有内容都不是唯一的,它们与之前的内容保持相同。因此,如果我将一个设置为disabled,选择器会将它们全部显示为disabled。。这是密码 <?php $userID = $_G

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

例如,如果表中只有一个名称,则只有一个选择器,否则,如果有两个名称,则“选项选定值”应设置为数据库中显示的值。。。现在,所有内容都正确地进行了响应,但是为该选项选择的所有内容都不是唯一的,它们与之前的内容保持相同。因此,如果我将一个设置为disabled,选择器会将它们全部显示为disabled。。这是密码

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

您的
中没有任何内容当
在循环过程中实际发生变化时,您所要做的就是反复输出不同的
$row['name']
和相同的
$priv[$new]
数据。
$priv[$new]
不是应该以某种方式特定于每次迭代获取的
$row
吗?是的,我不知道如何获取它。。这就是为什么我问这个问题的原因我现在已经这样试过了,但是仍然不能在($row=$stmt->fetch(PDO::fetch_ASSOC)){echo$row['name'];echo';echo';echo';while($priv=$q->fetch(PDO::fetch_ASSOC)){echo'启用'}echo'禁用';}}回声“”;回声“
”;}
我认为你应该做你的
$stmt=$con->prepare(“SELECT*FROM access”)
在循环内,并将查询限制为
$row
中的当前数据,然后只使用返回的第一行。@TonyBogdanov更新了上面的代码
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>';