我很新開發....所以儘管它聽起來簡單,愚蠢的....我迷路了:S 我有一個HTML日曆,和我有一個用戶表的數據庫上,ID爲, user_name,total_holiday和holiday_used。目前,我對用戶進行了CRUD,因此用戶可以添加,修改或刪除。在php中使用jQuery變量值?
在另一方面,我有我點擊日曆上的一個日子,每次彈出一個模式。這個模式顯示一個select用戶列表,我使用jQuery從標記中讀取顯示用戶和一組複選框的表格,其中包含不同的小時數。 (在圖像上更清晰)。
使用jQuery我正在上選擇的選擇選項的值,和我它保存在一個變量稱爲selectedOption。
現在,我想要實現的是,當我選擇一個用戶,所以有一個selectedOption值時,如果我重新啓動mati(7.5h),它會從這個用戶持續7.5小時,user_name的列的值與selectedOption,併爲該用戶提供holiday_used列的小時數。如果我檢查複選框,說明mati/tarda(15h)或tarda/nit 18小時複製。
但是,因爲我已經做了很簡單的東西......現在我不知道如何甚至開始....我的書桌鄰居在此間舉行的辦公室告訴我,我有阿賈克斯做到這一點,因爲有而不是其他方式,我可以將jQuery存儲在selectedOption中的值傳遞給我用來執行查詢的php。
那麼我這樣做的遠....
這是模態:
<div id="modal" tabindex="-1" role="dialog" class="modal fade" aria-hidden="true" aria-labelledby="modalLabel">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="modalLabel"></h3>
</div>
<div class="modal-body">
<form id="equipo" action="edit_holiday.php">
<div class="leftColumn">
<select id="usuarisLlista">
<option selected disabled>Selecciona un usuari...</option>
</select>
</div>
<div class="input_group">
<div class="clearfix"></div>
<div class="interval">
<input type="checkbox" id="interval_check"/>Interval<br />
<div id="desde">
De: <select class="hores" name="holiday_used" disabled>
<?php for ($i = 0; $i <= 23; $i++) : ?>
<option value="<?php echo $i; ?>"><?php printf ("%02d",$i); ?></option>
<?php endfor; ?>
</select>:<select class="minuts" name="holiday_used" disabled>
<?php for ($i = 0; $i <= 45; $i+=15) : ?>
<option value="<?php echo $i; ?>"><?php printf ("%02d",$i); ?></option>
<?php endfor; ?>
</select>
</div> <div id="fins">
fins: <select class="hores" name="holiday_used" disabled>
<?php for ($i = 0; $i <= 23; $i++) : ?>
<option value="<?php echo $i; ?>"><?php printf ("%02d",$i); ?></option>
<?php endfor; ?>
</select>:<select class="minuts" name="holiday_used" disabled>
<?php
for ($i = 0; $i <= 45; $i+=15) : ?>
<option value="<?php echo $i; ?>"><?php printf ("%02d",$i); ?></option>
<?php endfor; ?>
</select>
</div>
</div>
<br>
<input type="checkbox" class="torns" name="holiday_used" value="mati">matí (7.5h)<br>
<input type="checkbox" class="torns" name="holiday_used" value="matiTarda">matí/tarda (15h)<br>
<input type="checkbox" class="torns" name="holiday_used" value="tardaNit">tarda/nit (18h)<br>
</div>
<div class="clearfix"></div>
</form>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">Tancar sense guardar</button>
<button type="submit" id="hoursSubmission" class="btn btn-primary">Guardar i tancar</button>
</div>
</div>
然後edit_holiday.php這是模態內窗體上的動作:
if (isset($_POST['submit'])) {
global $conn;
$user_id = $_GET['user_id'];
$user_name = $_POST['user_name'];
$total_holiday = $_GET['total_holiday'];
$holiday_used = $_GET['holiday_used'];
$holiday_left = $total_holiday - $holiday_used;
//Here I would put something like:
if (strpos(selectedOption, $user_name) == true) {
if(mati_checkbox is checked) {
$holiday_used = 7.5;
$query = "UPDATE users SET ";
$query .= "holiday_used = '{$holiday_used}' ";
$query .= "WHERE id = {$user_id} ";
$query .= "LIMIT 1";
}
}
但是就像你所看到的,我的頭是一個爛攤子。如何使用度假增加其價值而不是更新它?任何人都可以幫我找到方法嗎?也許告訴我一些步驟來達到我的目標...如何使用selectedOption的值來比較它並將其與user_name列匹配.....請點擊!
謝謝
你真的要你的問題分解到相關的東西。而且你同事是對的。您可以通過ajax調用帶post參數的服務器端腳本。爲了簡化Ajax的過程,很多人通常使用jQuery。我在你的文章中看不到任何一行javascript。你應該先看一下jQuery文檔。 –
我的jQuery代碼有關嗎? :SI的意思是....只是這個: $('select#usersList')。on('click',function(){ var selectedOption =($(「select#usersList option.selectOption:selected」 ).val()); return selectedOption; }); 沒有別的:S –
我會說,也許你正在尋找'在php中使用jQuery變量'在錯誤的地方。這是不可能的,因爲PHP是服務器端,並且在客戶端頁面上存在jQuery之前執行。您必須將jQuery值發佈到PHP頁面 - 這可以通過您的同事說的AJAX來完成,或者將值放入表單並提交表單。 – Dhunt