php - 在代码中的多个地方使用mysql查询结果

标签 php mysql

我正在构建一个跟踪隐形眼镜的系统。我将隐形眼镜信息存储在数据库中,因为有时价格/可用性会发生变化,并且我从程序中的多个点访问此信息。我正在尝试通过执行“SELECT * FROM Contacts”作为查询,使用下拉列表与此列表进行交互。我的代码如下所示:

$contact_list = mysqli_query($link, "SELECT brand FROM contacts ORDER BY brand");

然后,我使用 PHP 在 while 循环中回显该列表,以填充下拉列表中的选项。

我的问题是这样的:我在同一张表格上为每只眼睛提供了这些下拉菜单。所以这是“品牌右眼”……有关右眼的其他杂项信息……然后是“品牌左眼”。但只有右眼会看到品牌信息,因为它首先出现在代码中。我要做的就是复制/粘贴完全相同的查询并执行

$contact_list2 = mysqli_query($link, "SELECT brand FROM contacts ORDER BY brand");

然后如果我再次需要下拉菜单,我需要执行 $contact_list3.. 等等。为什么我不能使用相同的变量生成下拉列表?为什么它在第一次执行后停止响应调用变量?是否有任何我可以实现的解决方法,让我不必每次都复制/粘贴具有不同变量关联的相同查询?

仅供引用,我的php代码是这样的:

 <select class="form-control" name = "brandOS"> 
    <option value="0">Please Select</option>
        <?php
            while($row = mysqli_fetch_array($contact_list))
            {
            ?>
            <option value = "<?php echo($row['brand'])?>" name = "brandOS">
                <?php echo($row['brand']) ?>
            </option>
            <?php
            }               
        ?>
    </select>

我有右眼和左眼的循环复制/粘贴。但它仅适用于代码中首先出现的下拉列表。

最佳答案

在性能方面可能更有效的解决方案可能是:

<?php
    $left_eye = '<option value="0">Please Select</option>';
    $rigth_eye = '<option value="0">Please Select</option>';

    while($row = mysqli_fetch_array($contact_list))
    {
        //logic for left eye
        $left_eye .= <<<HTML
        <option value ="{$row['brand']}" name = "brandOS">
            {$row['brand']}
        </option>
HTML;

        //logic for rigth eye
        $rigth_eye .= <<<HTML
        <option value ="{$row['brand']}" name = "brandOS">
            {$row['brand']}
        </option>
HTML;
    }       
?>



<select class="form-control" name = "brandOS"> 
  <?php echo $left_eye ; ?>
</select>


<select class="form-control" name = "brandOS"> 
  <?php echo $rigth_eye ; ?>
</select>

使用此解决方案,您可以在同一个 while 循环中获得结果。如果左右选择相同,则可以使用相同的变量。

关于php - 在代码中的多个地方使用mysql查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48405868/

相关文章:

MySQL Join AND EXISTS 组合

php - "Notice: Undefined variable"、 "Notice: Undefined index"、 "Warning: Undefined array key"和 "Notice: Undefined offset"使用 PHP

php - "Notice: Undefined variable"、 "Notice: Undefined index"、 "Warning: Undefined array key"和 "Notice: Undefined offset"使用 PHP

gcloud auth print-identity-token 的 PHP 等效项

php - 如何使用 RegEx 删除 html 元素及其内容

php - 非主键字段出现重复输入错误

mysql - 如何监控MySQL服务器状态

mysql - sql - 结果得到行位置

mysql - 有关过滤数据的 SQL 查询帮助

php - 如何将一个数组放入另一个数组中?