The usage of if and else in MYSQL and PHP
Hallo friends of Tatamedia, web developer in Surabaya and Bali.
Now we will learn about the usage of if in mysql, so the query can be shortened.
Generally, if in mysql has a form as follows:
IF(condition, value_if_true, value_if_false)
where:
condition is the value to test.
value_if_true is the value to return if condition is TRUE.
value_if_false is the value to return if condition is FALSE.
Read: 6 Tips To Learn MySQL And PHP For Beginner
For example, we have a table, namely product which has two columns, namely nama and harga.
We have data in the table as follows:
nama | harga
Product A | 1000
Product B | 1500
Product C | 2000
Product D | 5000
Product E | 10000
Further, we will use if in mysql to show product with harga under 2000:
<?php
$result=$db->doQuery("SELECT nama,IF(harga < ?, "Promo", "Normal") as promo from product", Array(2000));
?>
The result is as follows:
nama | promo
Product A | Promo
Product B | Promo
Product C | Normal
Product D | Normal
Product E | Normal
By doing this, in PHP script we just call the value with command: $row['promo'].
Ofcourse we can use if and else in PHP language like follows:
<?php
if($row['harga'] < 2000) { echo 'Promo'; } else { echo 'Normal'; }
?>
But using that way is not effisient than using if in mysql.
Read: 6 Tips To Learn MySQL And PHP For Beginner
Can we use if in mysql for complicated query? Sure, we can.
You can make any variations in condition field as well as in value_if_true and value_if_false.
The example is as follows:
<?php
$result=$db->doQuery("SELECT nama,IF(nama=? , CONCAT(nama,' - Best Seller'), nama) as newname from product", Array('Product A'));
?>
CONCAT is Mysql's command to add several strings together.
The result is as follows:
nama | newname
Product A | Product A - Best Seller
Product B | Product B
Product C | Product C
Product D | Product D
Product E | Product E
It is easy, right? You can use with your need.
I hope you enjoy the tutorial of web developer in surabaya about the usage of if and else in PHP and Mysql.
Good luck.