Thursday, 30 October 2025

create api in php

<?php

header('Access-Control-Allow-Origin: *');

header('Access-Control-Allow-Methods: *');

header('Access-Control-Allow-Headers: *');

header("Content-Type: application/json; charset=UTF-8");

header("Access-Control-Max-Age: 3600");

include "conn.php";

$method = $_SERVER['REQUEST_METHOD'];

$json = file_get_contents("php://input");

$obj = json_decode($json, true);


switch ($method) {

    case 'GET':

        try {

            if (isset($_GET['FID'])) {

                $fID = $_GET['FID'];

                $result = mysqli_query($conn, "SELECT * FROM feedback WHERE FID='$fID'");

                if (!$result) throw new Exception(mysqli_error($conn));

                if (mysqli_num_rows($result) > 0) {

                    $row = mysqli_fetch_assoc($result);

                    echo json_encode($row);

                } else {

                    echo json_encode("result not found.");

                }

            } else {

                $result = mysqli_query($conn, "SELECT * FROM feedback ORDER BY FID DESC");

                if (!$result) throw new Exception(mysqli_error($conn));

                $rows = [];

                while ($r = mysqli_fetch_assoc($result)) {

                    $rows[] = $r;

                }

                echo json_encode($rows);

            }

        } catch(Exception $e) {

            echo json_encode(["error" => $e->getMessage()]);

        }

        break;


    case 'POST':

        try {

            $nAME = $obj["NAME"];

            $mNUMBER = $obj["MNUMBER"];

            $cOMMENT = $obj["COMMENT"];

            $gENDER = $obj["GENDER"];

            $fLAG = $obj["FLAG"];

            $result = mysqli_query($conn, "INSERT INTO feedback(NAME, MNUMBER, COMMENT, GENDER, FLAG) VALUES ('$nAME','$mNUMBER','$cOMMENT','$gENDER','$fLAG')");

            if (!$result) throw new Exception(mysqli_error($conn));

            echo json_encode("Data Inserted successfully.");

        } catch(Exception $e) {

            echo json_encode(["error" => $e->getMessage()]);

        }

        break;


    case 'PUT':

        try {

            $fID = $obj["FID"];

            $nAME = $obj["NAME"];

            $mNUMBER = $obj["MNUMBER"];

            $cOMMENT = $obj["COMMENT"];

            $gENDER = $obj["GENDER"];

            $result = mysqli_query($conn, "UPDATE feedback SET NAME='$nAME', MNUMBER='$mNUMBER', COMMENT='$cOMMENT', GENDER='$gENDER' WHERE FID='$fID'");

            if (!$result) throw new Exception(mysqli_error($conn));

            echo json_encode("Data Updated successfully.");

        } catch(Exception $e) {

            echo json_encode(["error" => $e->getMessage()]);

        }

        break;


    case 'PATCH':

        try {

            $fID = $obj["FID"];

            $set = [];

            if (isset($obj["NAME"])) $set[] = "NAME='" . mysqli_real_escape_string($conn, $obj["NAME"]) . "'";

            if (isset($obj["MNUMBER"])) $set[] = "MNUMBER='" . mysqli_real_escape_string($conn, $obj["MNUMBER"]) . "'";

            if (isset($obj["COMMENT"])) $set[] = "COMMENT='" . mysqli_real_escape_string($conn, $obj["COMMENT"]) . "'";

            if (isset($obj["GENDER"])) $set[] = "GENDER='" . mysqli_real_escape_string($conn, $obj["GENDER"]) . "'";

            if (isset($obj["FLAG"])) $set[] = "FLAG='" . mysqli_real_escape_string($conn, $obj["FLAG"]) . "'";

            if (count($set) == 0) throw new Exception("No fields to update.");

            $query = "UPDATE feedback SET " . implode(", ", $set) . " WHERE FID='$fID'";

            $result = mysqli_query($conn, $query);

            if (!$result) throw new Exception(mysqli_error($conn));

            echo json_encode("Data Partially Updated successfully.");

        } catch(Exception $e) {

            echo json_encode(["error" => $e->getMessage()]);

        }

        break;


    case 'DELETE':

        try {

            $fID = $obj["FID"];

            $result = mysqli_query($conn, "DELETE FROM feedback WHERE FID='$fID'");

            if (!$result) throw new Exception(mysqli_error($conn));

            echo json_encode("Data Deleted successfully.");

        } catch(Exception $e) {

            echo json_encode(["error" => $e->getMessage()]);

        }

        break;


    default:

        echo json_encode(["error" => "Invalid request method!"]);

        break;

}


mysqli_close($conn);

?>


No comments:

Post a Comment