2016-10-18 2 views
0

Ich arbeite an der Verwaltung der Teilnehmer für Mitarbeiter. Im unteren Anhang gibt es 3 Eingabefelder (ein Dropdown, 2 Kalenderfelder). Im Dropdown-Menü befinden sich Namen von Mitarbeitern. Im zweiten Feld ist das aktuelle Datum und die aktuelle Check-in-Zeit und in den dritten Feldern ist die Checkout-Zeit der Mitarbeiter angegeben. Ich möchte,Aktivieren Sie deaktivieren Felder durch Ajax Anruf

1) Wenn ich Name aus der Dropdown-Liste auswählen, werden entsprechend dem Namen 2 Kalenderfelder angezeigt. Zum Beispiel gibt es einen Namen (Ramandeep kaur) im Dropdown-Menü. Ich wähle Ramandeep Kaur. onselect Dropdown-Wert Ich überprüft, ob in table Name = 'Ramandeep' und Datum = 'aktuelles Datum', dann mein Kalender-Feld für das Einchecken wird deaktiviert und meine Kasse div wird aktiviert. Und wenn mein Checkin-Feld in der Datenbank leer ist, wird das Checkout-Feld deaktiviert. Mein Code funktioniert gut, aber ich weiß nicht, wie Kalenderfelder aktiviert oder deaktiviert werden.

enter image description here

Hier ist mein html

<form id="form_validation" class="uk-form-stacked" method="post" action="code.php"> 
    <div class="uk-grid" data-uk-grid-margin> 

     <div class="uk-width-medium-1-4"> 

      <div class="parsley-row"> 

        <select name="name" id="val_select" class="form control" onChange="getname(this.value);" required> 
        <option value="">Choose..</option> 
<?php 
    $employee = mysqli_query($cn, "SELECT * from `pg_employee`"); 

    while($attendence = mysqli_fetch_array($employee)){ 
?> 

        <option value="<?php echo $attendence['id']; ?>"><?php echo $attendence['name']; ?></option> 
<?php } ?> 

       </select> 
      </div> 
     </div> 

      <div class="uk-width-medium-1-4"> 

       <div class="parsley-row"> 

        <div id="datetimepicker" class="input-append date" style="border:#fff;"> 
          <input type="md-input" class="form-control" name='check_in' style="padding:4px; border:1px solid #ccc;" value="<?php 
          $date = date('d-M-Y'); 
          echo $date; 
          ?> 
          "/></input> 
          <span class="add-on" style="background:#fff;"> 
          <i data-time-icon="icon-time" style="font-size:60px;" data-date-icon="icon-calendar"></i> 
          </span> 
        </div> 
       </div> 
      </div> 
      <div class="uk-width-medium-1-4"> 

       <div class="parsley-row"> 

        <div id="datetimepicker2" class="input-append date" style="border:#fff;"> 
          <input type="md-input" class="form-control" name="check_out" style="margin-left:20px; padding:4px; border:1px solid #ccc;"></input> 
          <span class="add-on" style="background:#fff;"> 

          <i data-time-icon="icon-time" style="font-size:60px;" data-date-icon="icon-calendar"></i> 
          </span> 
        </div> 
       </div> 
      </div> 

      <div class="uk-width-medium-1-4"> 

       <div class="parsley-row"> 

        <button type="submit" name="attendence_date" style="margin-left:40px;" class="md-btn md-btn-primary">Submit</button> 

       <div id="name-list"> 
       </div> 
      </div> 
     </div> 

     </div> 
     <div class="uk-grid"> 


     <div class="uk-width-medium-1-5"> 
      <div class="parsley-row"> 


      </div> 
     </div> 

     <div class="uk-width-medium-1-5"> 

      <div class="parsley-row"> 

      </div> 

     </div> 

    </div> 

    <?php if($_GET['msg'] && $_GET['msg']=='create'){ 

      echo"<div style='color:red; text-align:center; font-weight:bold; font-size:16px;'>New record added</div>"; 

     }?> 
     </form> 

hier Code meine Ajax-Aufruf

<script> 
function getname(val) { 
    $.ajax({ 
     type: "POST", 
     url: "manage_name.php", 
     data:'attendence_id='+val, 
     success: function(data){ 
      $("#name-list").html(data); 
     } 
    }); 
} 
</script> 

und hier ist meine manage_name.php Datei Code

<?php 
    date = date("Y-m-d"); 

if(!empty($_POST["attendence_id"])) { 

$id = $_POST["attendence_id"]; 

$employee = mysqli_query($cn, "SELECT * from `pg_attendence` WHERE emp_name ='$id' AND date ='$date'"); 
$zxc = mysqli_num_rows($employee); 
if($zxc > 0){?> 

<?php } 
} 

?> 
+0

Bitte beachten Sie die Gefahren von SQL-Injection in manage_name.php –

+0

[Kleine Bobby] (http://bobby-tables.com/) ersetzen sagt *** [Ihre Skript ist für SQL Injection Attacks gefährdet.] (http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) *** Erfahren Sie mehr über [vorbereitet] (http: //en.wikipedia.org/wiki/Prepared_statement) Anweisungen für [MySQLi] (http://php.net/manual/en/mysqli.quickstart.prepared-statements.php). Sogar [die Zeichenfolge zu entkommen] (http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql-real-escape-string) ist nicht sicher! [Glauben Sie es nicht?] (Http://stackoverflow.com/q/38297105/1011527) –

Antwort

0
<?php 
    date = date("Y-m-d"); 

if(!empty($_POST["attendence_id"])) { 

$id = $_POST["attendence_id"]; 

$employee = mysqli_query($cn, "SELECT * from `pg_attendence` WHERE emp_name ='$id' AND date ='$date'"); 
$zxc = mysqli_num_rows($employee); 
if($zxc > 0){?> 
    echo 1; 
<?php } 
else { 
    echo 0; 
} 
} 

?> 
ist

In Ihrem Ajax-Rückruf den Code

success: function(data){ 
      if(data == 1) { 
       $(".datetimepicker2 input").attr("disabled", disable); 
      } 
      else { 
       $(".datetimepicker input").attr("disabled", disable); 
      } 
}  
+0

Ihr Code funktioniert wirklich. danke für die Hilfe –

Verwandte Themen