Raymond
Raymond

Reputation: 91

Get value from href link

I am trying to get the value from a href link and use if for my database. But i was not able to get the value.

Below is my code for a button,

<a class="btn btn-info" href="scheduleSetTime.php?id='. $id .'">' . 'Set Time' . '</a>

scheduleSetTime.php

<div class="container bs-docs-container">
  <div class="panel panel-default">
    <div class="panel-heading">Schedule Activity</div>
    <div class="panel-body">
      <div id="formbox">
        <form id="formTable">

          <table class="table table-hover">
            <thead>
              <tr>
                <th>Start Time</th>
                <th>End Time</th>
                <th>Monday</th>
                <th>Tuesday</th>
                <th>Wednesday</th>
                <th>Thursday</th>
                <th>Friday</th>
                <th>Saturday</th>
                <th>Sunday</th>
                <th></th>


              </tr>
            </thead>

            <tbody>
              <tr>
                <th>
                  <input type="text" class="form-control" name="startTime" id="starttime" width="50px">
                </th>
                <th>
                  <input type="text" class="form-control" name="endTime" id="endtime">
                </th>
                <th>
                  <input type="checkbox" name="Monday" value="1" id="monday">
                </th>
                <th>
                  <input type="checkbox" name="Tuesday" value="1" id="tuesday">
                </th>
                <th>
                  <input type="checkbox" name="Wednesday" value="1" id="wednesday">
                </th>
                <th>
                  <input type="checkbox" name="Thursday" value="1" id="thursday">
                </th>
                <th>
                  <input type="checkbox" name="Friday" value="1" id="friday">
                </th>
                <th>
                  <input type="checkbox" name="Saturday" value="1" id="saturday">
                </th>
                <th>
                  <input type="checkbox" name="Sunday" value="1" id="sunday">
                </th>
                <th>
                  <input type="button" class="btn btn-success" value="Add" id="send">
                </th>
                <th>Click the Add button to add to the list below</th>
              </tr>
            </tbody>
          </table>

        </form>
      </div>

      <table class="table table-hover">
        <thead>
          <tr>
            <th>Start Time</th>
            <th>End Time</th>
            <th>Monday</th>
            <th>Tuesday</th>
            <th>Wednesday</th>
            <th>Thursday</th>
            <th>Friday</th>
            <th>Saturday</th>
            <th>Sunday</th>
            <th></th>
            <th></th>
          </tr>
        </thead>
        <tbody id="comment">
        </tbody>
      </table>

The javascript i used for scheduleSetTime.php,

$(document).ready(function() {

  function showComment() {
    $.ajax({
      type: "post",
      url: "registerarray.php",
      data: "action=showcomment",
      success: function(data) {
        $("#comment").html(data);
      }
    });
  }
  showComment();

  $("#send").click(function() {

    var starttime = $("#starttime").val();
    var endtime = $("#endtime").val();

    if (document.getElementById('monday').checked) {
      var monday = $("#monday").val();
    }
    if (document.getElementById('tuesday').checked) {
      var tuesday = $("#tuesday").val();
    }
    if (document.getElementById('wednesday').checked) {
      var wednesday = $("#wednesday").val();
    }
    if (document.getElementById('thursday').checked) {
      var thursday = $("#thursday").val();
    }
    if (document.getElementById('friday').checked) {
      var friday = $("#friday").val();
    }
    if (document.getElementById('saturday').checked) {
      var saturday = $("#saturday").val();
    }
    if (document.getElementById('sunday').checked) {
      var sunday = $("#sunday").val();
    }



    var dataString = "starttime1=" + starttime + "&endtime1=" + endtime + "&monday1=" + monday + "&tuesday1=" + tuesday + "&wednesday1=" + wednesday + "&thursday1=" + thursday + "&friday1=" + friday + "&saturday1=" + saturday + "&sunday1=" + sunday + "&action=addcomment";

    $.ajax({
      type: "post",
      url: "registerarray.php",
      data: dataString,
      success: function(data) {
        showComment();
        $("#formTable")[0].reset();

      }

    });
    return false;

  });
});

My registerarray.php,

<?php

$action = $_POST["action"];

if ($action == "showcomment") {

    require_once 'dbfunction.php';
    include_once 'checkLoginStatus.php';
    $con = getDbConnect();
    $schedule_Id = $_GET["id"];
    $staff_Id = $staff_information["staff_Id"];

    if (!mysqli_connect_errno($con)) {
        $show = "SELECT * FROM scheduletime WHERE schedule_Id = '$schedule_Id' AND staff_Id = '$staff_Id'";

        $result = mysqli_query($con, $show);

        $html = "";
        while ($row = mysqli_fetch_array($result)) {
            $r = "<tr>";
            $r .= "<td>" . $row["startTime"] . "</td>";
            $r .= "<td>" . $row["endTime"] . "</td>";
            $r .= "<td>" . $row["Monday"] . "</td>";
            $r .= "<td>" . $row["Tuesday"] . "</td>";
            $r .= "<td>" . $row["Wednesday"] . "</td>";
            $r .= "<td>" . $row["Thursday"] . "</td>";
            $r .= "<td>" . $row["Friday"] . "</td>";
            $r .= "<td>" . $row["Saturday"] . "</td>";
            $r .= "<td>" . $row["Sunday"] . "</td>";
            $r .= "<td></td>";
            $r .= "</tr>";
            $html .= $r;
        }
        header("Content-type: text/plain");
        echo( $html);

        
        mysqli_close($con);
    } else {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }
    ?>


    <?php

} else if ($action == "addcomment") {
    require_once 'dbfunction.php';
    $con = getDbConnect();
    $schedule_Id = $_GET["id"];

    $starttime2 = $_POST['starttime1'];
    $endtime2 = $_POST['endtime1'];
    $monday2 = $_POST['monday1'];
    $tuesday2 = $_POST['tuesday1'];
    $wednesday2 = $_POST['wednesday1'];
    $thursday2 = $_POST['thursday1'];
    $friday2 = $_POST['friday1'];
    $saturday2 = $_POST['saturday1'];
    $sunday2 = $_POST['sunday1'];
    $staff_Id = $staff_information["staff_Id"];

    if (mysqli_connect_errno($con)) {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    } else {
        $query = "INSERT INTO scheduletime (schedule_Id, staff_Id, startTime, endTime, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday)" .
                "VALUES ('$schedule_Id', '$staff_Id', '$starttime2', '$endtime2', '$monday2', '$tuesday2', '$wednesday2', '$thursday2', '$friday2', '$saturday2', '$sunday2')";

        mysqli_query($con, $query);
    }
    echo "Your comment has been sent";
    mysqli_close($con);
}

A view of the scheduleSetTime.php

enter image description here

In the registerarray.php, I used $_GET["id"]; to get the id number, but it did not work. Is there another method to get the id value?

Upvotes: 1

Views: 787

Answers (1)

Frog
Frog

Reputation: 1641

When the user clicks one of your buttons, the GET variable id is send to scheduleSetTime.php. You try to retrieve it in registerarray.php though.

A solution is:

  1. Add a hidden input element to your form in scheduleSetTime.php with de id as value. For example:

    <input type="hidden" name="id" value="<?php echo htmlentities($_GET['id']); ?>" id="id">
    
  2. Send this id value in the POST request to registerarray.php. Adding the following code after declaring dataString should do the trick:

    dataString += "&id=" + $("#id").val();
    
  3. Retrieve the id in registerarray.php. Since the id is sent as a POST variable, you should $_GET['id'] in registerarray.php with $_POST['id'].

That should solve your problem!

Upvotes: 1

Related Questions