首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为一个表声明多个where条件

如何为一个表声明多个where条件
EN

Stack Overflow用户
提问于 2017-10-23 15:24:04
回答 2查看 57关注 0票数 0

嗨,伙计,我有个问题。如何只在一个php中声明多个where子句条件。我已经尝试使我的项目有一个最低限度的php文件。我只想让我的where子句包含在一个php文件中。

我的意思是这就是问题所在。我想把我的代码放入一个php文件或一个<?php ?>中。php代码如下

代码语言:javascript
复制
<?php
include("../../Connections/koneksi.php");

$date1= $_POST['date1'];
// Data for Titik1
$sql = "SELECT * FROM termocouple where tanggal='$date1' AND silo='Silo 1'";
$query = mysqli_query($db,$sql);
$rows = array();

while($tmp= mysqli_fetch_assoc($query)) {
    $rows[] = $tmp;
}

echo json_encode($rows);
mysqli_close($db);
?> 

在上面的代码中,查询有选择表termocouple,where条件的过滤器是tanggalsilo。现在的问题是我有12个这样的php文件。每个php的不同之处在于选择silo,我把Silo 1Silo 2Silo 3,...Silo 12

请谁来帮帮我。我想让它在一个php文件中变得简单。我真的很感激你给我举个例子

EN

回答 2

Stack Overflow用户

发布于 2017-10-23 15:45:22

为了最小化您的代码,如果您在同一项目中多次使用相同的查询或code,建议您创建一个函数,该函数将在您需要执行代码的任何时候调用。

因此,在这里,由于使用同一查询12次,因此必须创建一个执行该查询的函数,然后在每次要执行该查询时调用该函数。

该函数接受参数,因此您必须为该函数提供数据库连接参数$db,以便连接到数据库,因为您在函数内部使用此连接,然后还必须将where子句的值添加到参数中。

因此,这里的函数将接受数据库连接$db、从$_POST获取的$date1和从$_POST获取的$silo

在函数的末尾,您可以返回任何想要返回的值,因此在本例中,您必须返回从查询中获取的$rows数组

创建一个通用php file,并在其中创建一个函数。假设文件名为libraries.php

在此文件中,编写以下代码:

代码语言:javascript
复制
<?php
    function getRows($db, $date, $silo) {
        $sql = "SELECT * FROM termocouple where tanggal='$date' AND silo='$silo'";
        $query = mysqli_query($db, $sql);
        $rows = array();

        while($tmp= mysqli_fetch_assoc($query)) {
            $rows[] = $tmp;
        }

        return json_encode($rows);
    }
?>

在调用查询的每个文件中,您将删除php代码,并将其替换为以下代码:

代码语言:javascript
复制
<?php
include("../../Connections/koneksi.php");
include("{path-to-file}/libraries.php");

$date1= $_POST['date1'];
$silo = $_POST['silo'];

$rows = getRows($db, $date1, $silo) ;
?> 
票数 1
EN

Stack Overflow用户

发布于 2017-10-23 15:35:50

我假设这12个PHP是在不同的场景中调用的。为什么不从客户端传递一些参数,以便PHP知道要执行哪个场景。

代码语言:javascript
复制
$date1= $_POST['date1'];
$silo= $_POST['silo'];//This could be 'Silo 1 OR 'Silo 2' etc.
// Data for Titik1
$sql = "SELECT * FROM termocouple where tanggal='$date1' AND silo='$silo'";
$query = mysqli_query($db,$sql);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46883903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档