我正在尝试从MySQL数据库中解析一些数据,我有一个列调用is_approved
,值为0
或1
(0表示否,1表示是)< / p>
我只希望所有被批准的内容都被回应
我怎么能这样做?
<?php
// Connect to MySQL
$link = mysql_connect( 'localhost', 'username', 'password' );
if ( !$link ) {
die( 'Could not connect: ' . mysql_error() );
}
// Select the data base
$db = mysql_select_db( 'DATABASE', $link );
if ( !$db ) {
die ( 'Error selecting database \'DATABASE\' : ' . mysql_error() );
}
// Fetch the data
$query = "
SELECT *
FROM prayer
ORDER BY created_at DESC";
$result = mysql_query( $query );
// All good?
if ( !$result ) {
// Nope
$message = 'Invalid query: ' . mysql_error() . "\n";
$message .= 'Whole query: ' . $query;
die( $message );
}
// Print out rows
while ( $row = mysql_fetch_assoc( $result ) ) {
//echo json_encode($row);
echo 'Name: '.$row['first_name'] . ' ' . $row['last_name'] . ' <br>Gypsy Name: ' .$row['gypsy_name'].'<br>Veetsa: ' .$row['veetsa'].'<br> Location: ' .$row['location'].'<br>' .$row['created_at'].'<br>' .$row['content'] . "<hr>";
}
// Close the connection
mysql_close($link);
?>
计划是吐出JSON,以便我可以在另一台服务器上使用它
答案 0 :(得分:2)
只需在查询中添加WHERE
子句:
SELECT *
FROM prayer
WHERE is_approved = 1
ORDER BY created_at DESC
答案 1 :(得分:1)
您可以在MySQL查询中执行此操作,但您也可以使用if ($row['is_approved'] == 1) {
通过PHP逻辑过滤数据,如下所示:
// Print out rows
while ( $row = mysql_fetch_assoc( $result ) ) {
if ($row['is_approved'] == 1) {
echo 'Name: '.$row['first_name'] . ' ' . $row['last_name'] . ' <br>Gypsy Name: ' .$row['gypsy_name'].'<br>Veetsa: ' .$row['veetsa'].'<br> Location: ' .$row['location'].'<br>' .$row['created_at'].'<br>' .$row['content'] . "<hr>";
}
}
目前还不清楚代码的大目标是什么,但这样做的好处是,您可以在is_approved
状态之间快速切换或设置某种排序逻辑来处理{{1} }。
否则,MySQL查询真的更有效率&amp;干净。