我想将我的if else结构更改为switch case,如何将其更改为switch case。
<?php
header('Access-Control-Allow-Origin: *');//Should work in Cross Domaim ajax Calling request
mysql_connect("localhost","root","");
mysql_select_db("ocean");
if(isset($_GET['type']))
{
$res = [];
if($_GET['type'] =="add"){
$name = $_GET ['Name'];
$lname = $_GET['Lname'];
$userN = $_GET['User'];
$passW = $_GET['Pass'];
$gen = $_GET['Gender'];
$mail = $_GET ['Email'];
$mobile = $_GET ['Mobile'];
$address= $_GET['Address'];
$query1="select uid from oops where email='$mail'";
$result1= mysql_query($query1);
if( mysql_num_rows($result1)>0){
$res["flag"]= TRUE;
$rest["message"] = "There is already a user with that email!";
}else{
$query1 = "insert into oops(username, password, firstname, lastname, gender, email, mobile, address) values('$userN','$passW','$name','$lname','$gen','$mail','$mobile','$address')";
$result1 = mysql_query($query1);
if($result1)
{
$res["flag"] = true;
$rest["message"] = "Data Inserted Successfully";
}
else
{
$res["flag"] = false;
$rest["message"] = "Oppes Errors";
}
}
}
if($_GET['type'] =="edit") {
$id=$_GET['id'];
$name = $_GET ['Name'];
$lname = $_GET['Lname'];
$userN = $_GET['User'];
$passW = $_GET['Pass'];
$gen = $_GET['Gender'];
$mail = $_GET ['Email'];
$mobile = $_GET ['Mob'];
$address= $_GET['Address'];
//$id = $_GET['id'];
// echo var_dump($_GET);
$query1 =("UPDATE oops SET username = '$userN',password = '$passW', firstname= '$name',lastname='$lname',gender = '$gen', email = '$mail', mobile = '$mobile' , address = '$address' WHERE uid = '$id'")or die('fail to update');
$result1 = mysql_query($query1);
if($result1)
{
$res["flag"] = true;
$rest["message"] = "Data Updated Successfully";
}
else
{
$res["flag"] = false;
$rest["message"] = "Oppes Errors";
}
}
if($_GET['type'] == "delete"){
$id=$_GET['id'];
$query1=("DELETE FROM oops WHERE uid='$id'");
$result1= mysql_query($query1);
if($result1){
$res["flag"] = true;
$rest["message"] = "User deleted Successfully";
// header("location:client.php");
}
else{
$res["flag"] = false;
$rest["message"] = "Oppes Errors";
}
}
}
else{
$res["flag"] = false;
$rest["message"] = "Invalid format";
}
echo json_encode($rest);
?>
我不知道该怎么做以及如何将isset($_GET['type'])
值的值存储到同一页面的变量中
答案 0 :(得分:0)
switch($_GET['type']) {
case "add": insert code here; break;
case "edit": insert code here; break;
case "delete": insert code here; break;
default: insert code of last 'else' here;
}
http://php.net/manual/en/control-structures.switch.php
另外请考虑Alexander O'Mara关于消毒用户输入和使用最新功能的评论。 mysql_(没有尾随'i')函数自PHP 5.5.0起已被弃用,并已从PHP 7中删除。
答案 1 :(得分:0)
switch($_GET['type']) {
case "add":
//do something
break;
case "delete":
// do something else etc
default:
//if none of the cases apply, do something here (same as else in if-elseif-else)
}
答案 2 :(得分:0)
您可以将类型存储到变量中并使用开关,例如
$type = $_GET['type'];
switch($type){
case "add":
..
break;
case "edit":
..
break;
}
请参阅Switch