I have a system in which show messages, but the user has the option to see positive (1) and negative (0) messages, but also has a link where you can see all messages (1 and 0) and I can do this query?
index.php?id=1&url=1
<?php
function mesage($id, $url) {
$db = DB::getInstance();
$query = $db->query("SELECT * FROM mesage WHERE id = ? AND url = ?", array($id, $url));
$results = $query->results();
return ($results);
}
$url = isset($_GET["url"])?$_GET["url"]:'Select 0 and 1';
$id = $_GET['id'];
$getmesaje = mesage($id, $url);
?>
As I can change the word " Select 0 and 1
" in the variable " $url
" to show all?
You can use
index.php?id=1&url=1 // for positive
index.php?id=1&url=0 // for negative
index.php?id=1 // for all
<?php
function mesage($id, $url) {
$db = DB::getInstance();
if(empty($url)) {
$query = $db->query("SELECT * FROM mesage WHERE id = ?",$id);
} else {
$query = $db->query("SELECT * FROM mesage WHERE id = ? AND url = ?", array($id, $url));
}
$results = $query->results();
return ($results);
}
$url = isset($_GET["url"])?$_GET["url"]:'';
$id = $_GET['id'];
$getmesaje = mesage($id, $url);
?>
Prepare dynamic query depends upon user input . and use IN
in where clause.
<?php
function mesage($id, $url) {
$concatenate='';
if(!empty($url))
{
$concatenate.= " AND url IN(?)";
$param = array($id, $url);
}
else
{
$param = array($id);
}
$db = DB::getInstance();
$query = $db->query("SELECT * FROM mesage WHERE id = ? $concatenate ",$param );
$results = $query->results();
return ($results);
}
$url = isset($_GET["url"])?$_GET["url"]:'';
$id = $_GET['id'];
if(!empty($id))
{
$getmesaje = mesage($id, $url);
}
?>
UPDATE 1 : As per comment your correct when $url comes with 0 values it consider as empty . so it should be if(strlen($url)>0){}
like this .
<?php
function mesage($id, $url) {
$concatenate='';
if(strlen($id)>0)
{
$concatenate.= " AND url IN(?)";
$param = array($id, $url);
}
else
{
$param = array($id);
}
$db = DB::getInstance();
$query = $db->query("SELECT * FROM mesage WHERE id = ? $concatenate ",$param );
$results = $query->results();
return ($results);
}
$url = isset($_GET["url"])?$_GET["url"]:'';
$id = $_GET['id'];
if(strlen($id)>0)
{
$getmesaje = mesage($id, $url);
}
?>
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.