Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.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
SQL查询使用PHP显示x和y之间的所有数字_Php_Sql - Fatal编程技术网

SQL查询使用PHP显示x和y之间的所有数字

SQL查询使用PHP显示x和y之间的所有数字,php,sql,Php,Sql,使用html表单让我们在100中转换$core,在1000中转换$mhz emag和koyos是表行 因此,如果设置了$core,$parameters['emag']=“$core”为emag=100否则为null 和和中的是默认设置为显示的,所以问题是我收集了$parameters[]和foreach()中变量的所有数据。 通过我的代码,我得到的正是$core的内容。代码如下: if (!empty($core)) { $parameters['emag'] = "$core"; } if

使用
html表单
让我们在
100
中转换
$core
,在
1000
中转换
$mhz
emag
koyos
是表行
因此,如果设置了
$core
$parameters['emag']=“$core”
emag=100
否则为
null

中的
是默认设置为显示的,所以问题是我收集了
$parameters[]
foreach()中变量的所有数据。
通过我的代码,我得到的正是
$core
的内容。代码如下:

if (!empty($core)) {
$parameters['emag'] = "$core";

}
if (!empty($mhz)) {
$parameters['koyos'] = $mhz;
  }

$sql = "SELECT * FROM $tbl_name WHERE 1=1 ";
if (!empty($parameters)) {
foreach ($parameters as $k => $v) {
    $sql .= " AND " . $k . "='" . $v . "'";
}
  }
$sql .= " ORDER BY emag, performanta_cpu_core DESC, performanta_cpu DESC LIMIT $start, $limit";
结果是只有
emag=100
的行,但我需要所有的数字都等于或小于
100
而不仅仅是
100
试试这个:

foreach ($parameters as $k => $v) {

    if ($k == 'emag') {
        $sql .= " AND " . $k . "<='" . $v . "'";
        continue;
    }

    $sql .= " AND " . $k . "='" . $v . "'";
}
foreach($k=>v的参数){
如果($k=='emag'){

$sql.=”和“$k.”根据您提供的数据,您的查询条件是:

其中1=1,emag='100'和koyos='1000'

因此,很明显,将只显示
emag
=
100
的行。如果要显示
100
之前的所有行,请将
=
更改为
$v){
如果($k=='emag')
{
$sql.=“和”$k。“
foreach ($parameters as $k => $v) {

    if ($k == 'emag')
    {
        $sql .= " AND " . $k . "<='" . $v . "'";
    }

    else
    {
        $sql .= " AND " . $k . "='" . $v . "'";
    }

}