Php 如何使用mysql数据库中的WHERE语句在一个页面中提取不同类别/使用多个查询?

Php 如何使用mysql数据库中的WHERE语句在一个页面中提取不同类别/使用多个查询?,php,mysql,database,Php,Mysql,Database,前几天,我在这里发布了一个问题,得到了一位用户的友好帮助,但在遇到另一个问题时,我一直无法找到解决方法 我正在尝试使用此代码从数据库中提取记录,尽管它现在工作正常,但我无法让它在一个文档中对数据库进行多个查询 代码如下: This code is in the db config file. ---->This database query calls for all photos to be pulled from database! try { $conn = new PDO("my

前几天,我在这里发布了一个问题,得到了一位用户的友好帮助,但在遇到另一个问题时,我一直无法找到解决方法

我正在尝试使用此代码从数据库中提取记录,尽管它现在工作正常,但我无法让它在一个文档中对数据库进行多个查询

代码如下:

This code is in the db config file.
---->This database query calls for all photos to be pulled from database!

try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT * FROM photos ORDER BY value DESC"); 
$stmt->execute();
} catch (PDOException $e) {
echo 'Error '. $e->getMessage();
}

 ---->This database query calls for all photos from category one to be pulled from database
try {
$conn2 = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn2->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt2 = $conn2->prepare("SELECT * FROM photos WHERE type=1 ORDER BY value DESC"); 
$stmt2->execute();
} catch (PDOException $e) {
echo 'Error '. $e->getMessage();
}




This is the code on the page!


<!-- UGP holder -->
<div id="myDiv"></div>

<!-- UGP playlist -->
<div id="myPlaylist" style="display:none">

<!-- MAIN CATEGORY SHOWING ALL BOXES IN ORDER OF VALUE -->
    <ul data-category-name="ALL">



    <!-- CODE SNIPPET BELOW PULLS RECORDS FROM DATABASE FOR ALL PHOTOS-->



---> I would like this bit here to display ALL photos from database


<?php foreach($stmt->fetchAll() as $p): ?>
<li data-url="link: <?= $p['link'] ?>" data-target="_blank">
    <img src="<?= $p['image'] ?>" alt="custom alt"/>
    <div data-thumbnail-content1="">
        <p class="centerDark"><?= $p['name'] ?></p>
        <p class="centerNormalDark"><?= $p['desc'] ?></p>
    </div>
</li>
<?php endforeach; ?>

       </ul>




    <ul data-category-name="PEOPLE" style="display:none">

    <!-- CODE SNIPPET BELOW PULLS RECORDS FROM DATABASE FOR CATEGORY ONE (TYPE=1) ONLY-->



  ---> I would like this bit here to display category one photos only from database



<?php foreach($stmt2->fetchAll() as $p): ?>
<li data-url="link: <?= $p['link'] ?>" data-target="_blank">
    <img src="<?= $p['image'] ?>" alt="custom alt"/>
    <div data-thumbnail-content1="">
        <p class="centerDark"><?= $p['name'] ?></p>
        <p class="centerNormalDark"><?= $p['desc'] ?></p>
    </div>
</li>
<?php endforeach; ?>


       </ul>
    <ul data-category-name="WILDLIFE">

    OTHER CODE SNIPPET HERE FOR NEXT CATEGORY AND SO ON

     </ul>
此代码位于db配置文件中。
---->此数据库查询要求从数据库中提取所有照片!
试一试{
$conn=newpdo(“mysql:host=$servername;dbname=$dbname”、$username、$password);
$conn->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_异常);
$stmt=$conn->prepare(“按值DESC从照片顺序中选择*);
$stmt->execute();
}捕获(PDO$e){
回显“错误”。$e->getMessage();
}
---->此数据库查询要求从数据库中提取类别1中的所有照片
试一试{
$conn2=newpdo(“mysql:host=$servername;dbname=$dbname”,$username,$password);
$conn2->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_异常);
$stmt2=$conn2->prepare(“从照片中选择*,其中type=1,ORDER BY value DESC”);
$stmt2->execute();
}捕获(PDO$e){
回显“错误”。$e->getMessage();
}
这是页面上的代码!
    --->我想在这里显示数据库中的所有照片 “数据目标=“\u blank”> “alt=”自定义alt“/>

    下面是下一个类别的其他代码片段,依此类推
我不确定如何使用不同的id定义对数据库的每个调用。我希望在第一部分中显示所有照片,但在其他部分中也按类别显示照片,如代码中所示

还有。。。。 是否有一种方法可以对数据库进行一次调用,然后让代码从初始数据库响应中调用每个类别以节省服务器负载,或者每次都必须对每个类别进行单独的查询

任何帮助都将不胜感激

谢谢
Justin

对于这两个查询,您想使用两个单独的连接,有什么原因吗?只需创建一个连接并将其用于两个查询,it服务器会满足您的需要吗?您好,谢谢您的回复。我不确定,因为我还不太擅长编码,但会有大量的图像,这些图像将使用AJAX惰性滚动加载加载。我如何调用数据库,然后在其他地方定义类别?有可能吗?:>/我不确定我能帮你什么。你似乎在问几个不同的问题,却没有一个非常清楚的解释。你能不能把这个问题简化成一个问题,“我该怎么做X”和一个你试图实现X但没有成功的例子?也许是这样的$stmt2=$conn2->prepare(“从照片中选择*,按值输入(1,2,3,4,5)顺序描述”);你好。好的,我开始理解数据库查询方面的内容,但是我如何编写调用实际文档中每个类别的代码呢?这就是我感到困惑的地方/