如何在 foreach 循环中使用 whileloop?

问题:


我正在使用 for each 循环从文本区域中检索行。但我不能在我的 while 循环中使用它们。while 循环只运行一次。我希望它针对文本区域中的所有行运行。但它只显示最后一个 B000 编号(B000575825)的描述。


如何解决这个问题......?


我的代码:


<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title></title>


    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">

    <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>

    <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>

    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>


</head>

<body>

    <form method="post" action="Select_description.php">

        <textarea class="form-control" name="text" rows="25" style="width: 150px;">

        </textarea>

        <br>

        <button type="submit" class="btn btn-primary">Data submit</button>

    </form>

</body>

</html>


$text = $_POST['text'];


$a = 0;

$b = 0;


foreach(explode("\n", $text) as $b000_number) {


    $a++;


    $query1 = "SELECT `description` FROM mat_index_items WHERE b000_number = '$b000_number'";

    $result1 = mysqli_query($conn, $query1);


    while ($row = mysqli_fetch_assoc($result1)) {

        $b++;

        $description= $row['description'];

        echo $description;

        echo "<br>";

    }

}


echo "Foreach: ".$a;

echo "<br>";

echo "While: ".$b;



千万里不及你
浏览 103回答 1
1回答

慕妹3146593

只是为了确保没有杂散的空白字符,使用trim()...$b000_number&nbsp;=&nbsp;trim($b000_number);
打开App,查看更多内容
随时随地看视频慕课网APP