我正在关注如何在php中建立电子商务网站的教程,我现在的主要疑问是什么时候必须使用 isset 功能。
首先,我使用以下代码在侧栏上显示所有产品品牌:
function getBrands(){
global $con;
$get_brands = "select * from brands";
$run_brands = mysqli_query($con, $get_brands);
while ($row_brands=mysqli_fetch_array($run_brands)){
$brand_id = $row_brands['brand_id'];
$brand_name = $row_brands['brand_name'];
echo "<li><a href='index.php?brand=$brand_id'>$brand_name</a></li>";
}
}
然后有这个代码显示基于品牌的所有产品:
function get_brand_pro(){
if(isset($_GET['brand'])){
$brand_id = $_GET['brand'];
global $con;
$get_brand_pro = "select * from products where product_brand='$brand_id'";
$run_brand_pro = mysqli_query($con, $get_brand_pro);
$count_brands = mysqli_num_rows($run_brand_pro);
if($count_brands==0){
echo "<h3>No products associated with this brand where foundd</h3>";
}
while( $row_brand_pro = mysqli_fetch_array($run_brand_pro)){
$product_id = $row_brand_pro['product_id'];
$product_cat = $row_brand_pro['product_cat'];
$product_brand = $row_brand_pro['product_brand'];
$product_title = $row_brand_pro['product_title'];
$product_price = $row_brand_pro['product_price'];
$product_image = $row_brand_pro['product_image'];
echo "
<div class='single_product'>
<h3 class='product_title'>$product_title</h3>
<img src='admin-area/product_images/$product_image' alt='product image' width='250' height='250' />
<p class='product_price'>$ $product_price</p>
<div class='single_links'>
<a href='details.php?product_id=$product_id' class='details'>Details</a>
<a href='index.php?product_id=$product_id' class='add_cart'><button>Add to Cart</button></a>
</div>
</div>
";
}
}
}
根据我的理解,如果单击一个按钮,则isset函数的工作方式相同。
为什么选择isset([$ _ GET ['brands']])? 因为我发现我的数据库中没有名为品牌的属性。
希望你能在错误的地方纠正我。
答案 0 :(得分:0)
Well isset
确定变量是设置还是NULL。在您的代码和数据库中,您有一个名为product_brand的属性,该属性使用该值。
您可以使用此行获取值:$brand_id = $_GET['brand'];
然后在您的查询中,您正在使用它。
答案 1 :(得分:0)
isset()函数
isset()函数用于检查变量是否已设置或 不。如果变量已经使用unset()函数取消设置,则不会 更长的时间。如果测试变量,则isset()函数返回false 包含NULL值。
在您的代码中解释:
echo "<li><a href='index.php?brand=$brand_id'>$brand_name</a></li>";
此处,brands=$brand_id
是查询字符串,其中将ID分配给“品牌”
然后我们使用if(isset($_GET['brand']))
检查其集合。如果ise Set Then,
我们在另一个变量$brand_id
)中获取品牌价值,然后您在select ...where product_brand = '$brand_id'
中获取数据。
if(isset($_GET['brand'])){ //Check brand Is Set Or Not in Query String
$brand_id = $_GET['brand']; // If is set then assign to $brand_id variable
global $con;
$get_brand_pro = "select * from products where product_brand='$brand_id'"; //Here fetch the data of product table based on $brand_id which is equal to product_brand in your product table.
答案 2 :(得分:-1)
isset()实际检查是否定义了变量或数组, 例如:
$name = $_GET["name"];
检查HTTP _GET的值是否已设置为变量$ name的最佳方法是
if(empty($name)){
echo 'variable $name is empty';
}
但是如果你想直接检查全局变量/ array $ _GET而不将其赋值给变量,那就是当isset();功能是必要的。 示例
if(!isset($_GET["name"])){
echo '$_GET["name"] is not set';
}