Jayanta Moitra Ответов: 1

Я новичок в PHP и пытаюсь построить программу, но сталкиваюсь с проблемами. Кто-нибудь, пожалуйста, помогите ..


Я пытаюсь заполнить данные из таблицы на основе входного значения других полей
Обслуживание Нет/наименование услуги, время обслуживания, Эми, имя & обслуживание курсировали км будет обязательным входной сигнал &ампер; на основе наименование услуги/сервиса нет, система будет получать данные из основной файловой службы. Если обслуживаемый Kms меньше данных мастер-файла, то гонорар будет равен нулю и т. д.

Что я уже пробовал:

?php
  require_once("Includes/DB.php");
  require_once("Includes/functions.php");
  require_once("Includes/Sessions.php");


   $admin="Jayanta";
    $adminNo="07724";
    if(isset($_POST["Submit"])){

  global $ConnectingDB;
  $serDate=$_POST["SerDate"];
  $serNo=$_POST["SerNo"];
  $empNo=$_POST["EmpNo"];
  $serKms=$_POST["SerKms"];



  if (empty($_POST["SerKms"]) {
    $_SESSION["ErrorMessage"]="Service No is empty";
    Redirect_to("DailyDeparture.php");
  }else{
    $serKms=$_POST["SerKms"];
    $sql="SELECT * FROM ser_mas WHERE ser_no='$seRno'";
    $stmt=$ConnectingDB->query($sql);
    $serTrips=0;
    while ($DataRows=$stmt->fetch()) {
      $tripKms=$DataRows("ser_kms");
      $serTrips=$serKms/$tripKms;
      $tripS=$DataRows("trips");
      if ($tripS==$serTrips) {
        $serHon=$DataRows("honorarium");
      }else{
        $serHon=0;
      }

      $nightAllow=$DataRows("NightAllow");
      $rktAllow=$DataRows("RktAllow");
      $serMil=$DataRows("Mileage");
      $hillAllow=$DataRows("HillAllow");
      }
      $_SESSION["SuccessMessage"]="Service Kms ".$serKms;
    }

  //$userNo=$_POST["UserNo"];
  if(empty($serDate) || empty($serNo) || empty($empNo) || empty($serKms)){
    $_SESSION["ErrorMessage"]="All fields must be filled";
    Redirect_to("DailyDeparture.php");
  }elseif (strlen($serNo)< 5){
    $_SESSION["ErrorMessage"]="Service Code must be 5 characters";
    Redirect_to("DailyDeparture.php");
  }elseif(strlen($serNo)> 20){
    $_SESSION["ErrorMessage"]="Service Code is limited to 20 characters";
    Redirect_to("DailyDeparture.php");
  }elseif (!preg_match("/[A-Z-0-9]/",$serCode)){
    $_SESSION["ErrorMessage"]='Service Name should consist of "A-Z","-" & "0-9"';
    Redirect_to("DailyDeparture.php");
  }elseif(strlen($serKms) < 15){
    $_SESSION["ErrorMessage"]="Please Check the Service Kms entered";
    Redirect_to("DailyDeparture.php");
  }elseif(strlen($serKms) > 800){
    $_SESSION["ErrorMessage"]="Service Kms entered is greater than 800 kms ... Plz check";
    Redirect_to("DailyDeparture.php");
  }else{
    //query to enter Category Title in SQLiteDatabase
    global $ConnectingDB;
    $sql="INSERT INTO ser_mas(ser_date,ser_no,emp_no,kms_plied,trips,honorarium,night_allow,rkt_allow,mileage,hill_allow,user)";
    $sql.="VALUES(:serdatE,:sernO,:empnO,:serkmS,:tripS,:hoN,:nalloW,:ralloW,:mileagE,:halloW,:usernO)";
    $stmt=$ConnectingDB->prepare($sql);
    $stmt->bindValue(':serdatE',strtoupper($serDate));
    $stmt->bindValue(':sernO',strtoupper($serNo));
    $stmt->bindValue(':empnO',$empNo);
    $stmt->bindValue(':serkmS',$serKms);
    $stmt->bindValue(':tripS',$serTrip);
    $stmt->bindValue(':hoN',$serHon);
    $stmt->bindValue(':nalloW',$nightAllow);
    $stmt->bindValue(':ralloW',$rktAllow);
    $stmt->bindValue(':mileagE',$mileAge);
    $stmt->bindValue(':halloW',$hillAllow);
    $stmt->bindValue(':usernO',$userNo);
    $Execute=$stmt->execute();
    if ($Execute){
      $_SESSION["SuccessMessage"]="Departure for ". strtoupper($serNo)." dated ".$serDate." Added `Successfully";`
      Redirect_to("DailyDeparture.php");
    }else{
      $_SESSION["ErrorMessage"]="Something went wrong. Try Again!";
      Redirect_to("DailyDeparture.php");
    }
  }
}
?>



//Part of HTML 
         <div class="form-inline mb-2">
            <label for="empname"><span class="FieldInfo" style="margin-right:15px;">Employee `Name</span></label>`
            <select class="form-control bg-light" style="width:200px; margin-right: 150px;" `name="EmpName" id="empname" >`
              <option value="" disabled selected>Choose Option</option>
                <?php
                      global $ConnectingDB;
                      $sql="SELECT emp_no,emp_name,designation FROM emp_master";
                      $stmt=$ConnectingDB->query($sql);
                      while ($DataRows=$stmt->fetch()) {
                        $emp=$DataRows['emp_no'];
                        $empName=$DataRows['emp_name'];
                        $desig=$DataRows['designation'];
                        $l=strlen($empName);
                        echo "<option>$empName</option>";
                }?>
            </select>
            <label for="kms"><span class="FieldInfo lg-sm" style="padding-right:15px;">Service Kms</span></label>
            <input class="form-control" style="width: 100px; padding-right:50px;" type="int" name="SerKms" id="kms" value=""/>
          </div>

          <hr style="border: 1px solid blue;">
          <div class="form-inline mb-2">


          <label ><span class="FieldInfo lg-sm" style="padding-right:15px;">No of trips</span>

             </label>
<!--Problem start from here
            <input class="form-control" style="width: 100px; padding-right:50px;" type="int" value="<?php echo $serTrips ?>"/>
            <label for="hon"><span class="FieldInfo lg-sm" style="padding-left: 30px; padding-right:15px;">Honorarium</span></label>
            <input class="form-control" style="width: 100px; padding-right:15px;" type="text" id="hon" value="<?php echo $serHon ?>">
            <label for="nta"><span class="FieldInfo lg-sm" style="padding-left: 30px; padding-right:15px;">Night Allowance</span></label>
            <input class="form-control" style="width: 100px; padding-right:15px;" type="text" id="nta" value="<?php echo $serHon ?>">
          </div>
          <div class="form-inline mb-4">
            <label for="rallow"><span class="FieldInfo lg-sm" style="padding-right:15px;">Rocket Allowance</span></label>
            <input class="form-control" style="width: 100px; padding-right:50px;" type="text" id="rallow" value="<?php echo $rktAllow ?>">
            <label for="hallow"><span class="FieldInfo lg-sm" style="padding-left: 30px; padding-right:15px;">Hill Allowance</span></label>
            <input class="form-control" style="width: 100px; padding-right:15px;" type="text" id="hallow" value="<?php echo $hillAllow ?>">
            <label for="mile"><span class="FieldInfo lg-sm" style="padding-left: 30px; padding-right:15px;">Mileage</span></label>
            <input class="form-control" style="width: 100px; padding-right:15px;" type="text" id="mile" value="<?php echo $serMil ?>">

Problem Ends -->
          </div>

CHill60

И в чем же заключаются проблемы?

OriginalGriff

И что же?
Что он делает такого, чего вы не ожидали, или не делает того, что вы сделали?
Что вы пытались сделать, чтобы выяснить, почему?
Есть ли какие-либо сообщения об ошибках, и если да, то где и когда? Что вы сделали, чтобы это произошло?

Это не очень хороший вопрос - мы не можем понять из этого малого, что вы пытаетесь сделать.
Помните, что мы не можем видеть ваш экран, получить доступ к вашему жесткому диску или прочитать ваши мысли - мы получаем только то, что вы печатаете для работы. А так как у нас вообще нет доступа к вашей базе данных ...

Используйте виджет "улучшить вопрос", чтобы отредактировать свой вопрос и предоставить более подробную информацию.

1 Ответов

Рейтинг:
1

Jayanta Moitra

When I am refreshing the Screen I am getting a notice as Notice: Undefined variable: serTrips in C:\xampp\htdocs\php\Allowance\DailyDeparture.php on line 214 just the line no. is changing for every case .
в поле форма -

1. Отсутствие поездок
2. Гонорар
3. Ночная Надбавка
4. Пробег
5. Пособие По Холму



Когда вводится текстовое поле Service Kms, я использую : if (isset($_POST["SerKms"]))

Я намереваюсь сделать это всякий раз, когда пользователь вводит данные в поля формы Service No, Service Date, Employee Name &plied Kms другие поля, такие как No. of trips, Honorarium, Night allowance, Mileage &Hill Allowance, будут автоматически заполняться из данных таблицы ser_master в зависимости от поля service_no.

В текстовом поле он отображается как
Notice: Undefined variable: serTrips in C:\xampp\htdocs\php\Allowance\DailyDeparture.php on line 214.</br>


Richard MacCutchan

Где объявлен serTrips и где находится строка 214? Кстати, это не решение проблемы. Пожалуйста, добавьте дополнительную информацию к вашему вопросу.

Richard Deeming

Если вы хотите обновить свой вопрос, Нажмите зеленую ссылку "улучшить вопрос" и отредактируйте свой вопрос. Не опубликуйте свое обновление как "решение" вашего вопроса.