我有以下与数据表一起使用的内容,它可以很好地检索我需要的内容:
$table = 'full_data';
$primaryKey = 'index';
$columns = array(
array( 'db' => 'category', 'dt' => 0 ),
array( 'db' => 'value', 'dt' => 1 ),
array( 'db' => 'database_percent', 'dt' => 2),
array( 'db' => 'national_percent', 'dt' => 3 ),
array( 'db' => 'index_value', 'dt' => 4 ),
array( 'db' => 'quadrant', 'dt' => 5 )
);
$sql_details = array(
'user' => 'root',
'pass' => '*****',
'db' => 'my_db',
'host' => 'localhost'
);
require( 'ssp.class.php' );
echo json_encode(
SSP::simple( $_GET, $sql_details, $table, $primaryKey, $columns )
);
我现在想做的是从该文件最终呈现为 JSON 的内容中排除行。得到我想要的 mySQL 查询是这样的:
SELECT * FROM `full_data` WHERE `category` NOT LIKE 'state'
但是,我不知道如何将其包含在我的 php 文件中,以便只有正确的行才进行 JSON 编码以在我的表中使用。对于使用 mySQL 数据库/PHP 来说是全新的。
编辑:这是我的 ssp.class.php文件。
最佳答案
我确信有很多方法可以实现这一点(对于这个问题,我们只提供了很少的细节,对此深表歉意),但我可以采取以下措施来实现这一目标。
感谢@HartmutHolzgraefe的建议,我查看了我的SSP类文件并发现了这个:
// Main query to actually get the data
$data = SSP::sql_exec( $db, $bindings,
"SELECT SQL_CALC_FOUND_ROWS `".implode("`, `", SSP::pluck($columns, 'db'))."`
FROM `$table`
$where
$order
$limit"
);
我只是更新了此处的查询以匹配我需要排除这些行的查询。我确实必须为此创建第二个 ssp.class.php 文件,因为我在其他几个地方使用了原始文件,并且我需要按原样使用它。
就像我说的,我确信有比拥有两个这样的文件更好的方法来做到这一点,但这是我能够想出的快速“技巧”。
关于php - 用于排除某些行的数据表 PHP 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27485748/