|
|
|
การทำงานของโค้ดนี้ สามารถแปลงตัวแปรของ javascript เป็นphp ได้ด้วยวิธีไหนเหรอครับ |
|
|
|
|
|
|
|
พอดีผมได้โค้ดการคำนวณอายุที่เป็น สคริปมาดังนี้ครับ สมมุติว่าชื่อ res_age.php ก็แล้วกันนะครับ
res_age.php
<script>
var offset = new Date();
/*---------------- กรณีที่ไม่มีกำหนดตัวตั้ง จะใช้วันที่ปัจจุบันเป็นตัวตั้งแทน (ไม่ต้องลบ)---------*/
var nowDate =offset.getDate();
var nowMonth =offset.getMonth();
var nowYear = offset.getFullYear()+543;
/*---------------- ----------------------------------------------------------------------------------*/
function getAge(){
var bDate =document.getElementById('new_Date');
var valDate =bDate.options[bDate.selectedIndex].value;
var bMonth =document.getElementById('new_Month');
var valMonth =bMonth.options[bMonth.selectedIndex].value;
var bYear =document.getElementById('new_Years');
var valYear =bYear.options[bYear.selectedIndex].value;
if(valDate!='null' && valMonth!='null' && valYear!='null'){
offset.setFullYear(nowYear-valYear);
offset.setMonth(nowMonth-valMonth);
offset.setDate(nowDate-valDate);
var years =offset.getFullYear();
var month =offset.getMonth();
var day=offset.getDate();
document.getElementById('txtAge').value=years+" ปี "+ month+" เดือน "+day+" วัน"
document.getElementById('txtAge1').value=years // แสดงแค่ ปี
}else{
document.getElementById('txtAge').value='';
}
}
</script>
<? //*************************************************************การเลือกวัน/เดือน/ปีเกิด ?>
<?php
//$rows['Birthdate'] ="1986-02-12";
$Birthdate = explode('-', $rows['Birthdate']);
$d = $Birthdate[2];
$m = $Birthdate[1];
$y = $Birthdate[0]+543;
$month = array("มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน",
"กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม");
?>
<select name="new_Date" id="new_Date" onchange="getAge()">
<option value='null'>==เลือกวัน==</option>
<?php foreach (range (1, 31) as $resl) {
?>
<option value="<?=$resl?>" <?if($resl ==$d) echo "selected"?>> <?=$resl?> </option>
<?php } ?> </select>
<select name="new_Month" id="new_Month" onchange="getAge()">
<option value='null'>==เลือกเดือน==</option>
<?php foreach ($month as $key=>$resl) { ?>
<option value="<?=$key?>" <?if($key ==$m-1) echo "selected"?>> <?=$resl?> </option>
<?php } ?> </select>
<select name="new_Years" id="new_Years" onchange="getAge()">
<option value='null' >==เลือกปี==</option>
<?php foreach (range (2460, 2570) as $resl) { ?>
<option value="<?=$resl?>" <?if($resl ==$y) echo "selected"?>> <?=$resl?> </option>
<?php } ?> </select>
<? //***************************************************************************** ?>
<tr>
<td ><span class="style2">อายุ</span></td>
<td><label>
<input type="text" name="txtAge" id="txtAge" ><script>getAge();</script>
<input type="hidden" name="txtAge1" id="txtAge"><script>getAge();</script>
</label></td>
</tr>
ตัวแปรที่ดึงมาจากฐานข้อมูลผลได้ใช้โค้ดแปลง จากตัวแปรเดียว เช่น $Bdate เป็น $d $m $y จากโค้ดตัวนี้ครับ
Code (PHP)
$rows['Birthdate'] ="$rdate_m";
$Birthdate = explode('-', $rows['Birthdate']);
$d = $Birthdate[2];
$m = $Birthdate[1];
$y = $Birthdate[0];
เพิ่มเติมครับ ผมต้องใช้ค่าวันที่ มาคำนวณ ให้เข้ากับเงื่อนไขน่ะครับ แต่ตัวแปรมันเป็น javascript
ผมเลยอยากจะแปลงค่าให้เป็น PHP ครับ เท่าที่ผมหาข้อมูลในเว็บนี้
การแปลงตัวแปรจาก javascript เป็น PHP จะเป็น การส่งตัวแปรข้ามหน้า
หรือจากฟอร์ม
แต่โค้ดตัวนี้ มันรับค่าเสร็จแล้วแสดงผลเลยครับ
เคยทดลองกำหนดค่าให้ ในบรรทัดที่เป็น คำสั่ง
document.getElementById('txtAge').value=years+" ปี "+ month+" เดือน "+day+" วัน"
ก็ไม่เป็นผล ครับ ท่านใดพอจะทราบบ้าง รบกวนตอบผมด้วยนะครับ
ขอบคุณมากครับ
**
Tag : PHP, MySQL, JavaScript
|
ประวัติการแก้ไข 2011-02-11 00:54:29 2011-02-11 00:57:56
|
|
|
|
|
Date :
2011-02-04 06:58:44 |
By :
l3ank |
View :
8323 |
Reply :
17 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณครับ ผมทำได้แล้วครับ
อยากทราบเพิ่มเติม ในส่วนของการ เอาตัวแปร java มาแปลงเป็น php ไม่ราบว่าทำได้หรือไม่
หากได้ ควรทำอย่างไรครับ ถ้าใช้ตัวอย่างจากโค้ดข้างบน รบกวนดูด้วยนะครับ
|
|
|
|
|
Date :
2011-02-08 12:08:25 |
By :
l3ank |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แก้กระทู้ ครับ ปัญหาเก่าไป ปัญหาใหม่มา
ว่างๆ ให้คำแนะนำผมด้วยครับ
|
|
|
|
|
Date :
2011-02-11 01:09:50 |
By :
l3ank |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โปรแกรมใกล้จะเสร็จแล้ว ครับ แต่ติดปัญหาเรื่อง การเปลี่ยนตัวแปรวันเดือนปีใน
java ให้เป็น php เพื่อนำค่าที่ได้ไปเข้าเงื่อนไข ตรวจสอบการรับสวัสดิการ
ไปต่อไม่เป็นเลยแบบนี้
|
|
|
|
|
Date :
2011-02-11 10:31:48 |
By :
l3ank |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ช่วยดัน อยากรู้เหมือนกัน
|
|
|
|
|
Date :
2011-02-11 15:07:32 |
By :
จ๊ะจ๋า |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
หักดิบเลยนะคะ ^ ^
Code (PHP)
<script>
var num = 100;
</script>
<?php
$num = "<script>document.write(num)</script>";
echo $num;
?>
|
|
|
|
|
Date :
2011-02-11 15:45:40 |
By :
ultrasiam |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่เข้าใจคับ จะแทรกเข้าไป ยังไงเหรอคับ คิดไม่ออกจริง
ผมพยายามหลายวันแล้วครับ ถ้าอยากให้ บรรทัดนี้
document.getElementById('txtAge').value=years
ค่าตัวแปรแปลงเป็น PHP ทำยังไงดีครับ
|
|
|
|
|
Date :
2011-02-11 20:24:56 |
By :
l3ank |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
submit form แล้วไปรับ txtAge ก็ได้ php แล้วครับ
|
|
|
|
|
Date :
2011-02-11 23:20:37 |
By :
PlaKriM |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอโทษทีครับ แก้กระทู้ แต่ไม่ได้แก้โค้ด คือการรับค่ามันไม่ได้มาจากการเลือก น่ะครับ
เป็นการดึงค่าจากฐานข้อมูลมาอีกทีครับ ถ้าเป็นแบบนี้จะใช้ submit form ได้รึเปลาครับ
Code (PHP)
<script>
var offset = new Date();
/*---------------- กรณีที่ไม่มีกำหนดตัวตั้ง จะใช้วันที่ปัจจุบันเป็นตัวตั้งแทน (ไม่ต้องลบ)---------*/
var nowDate =offset.getDate();
var nowMonth =offset.getMonth();
var nowYear = offset.getFullYear()+543;
/*---------------- ----------------------------------------------------------------------------------*/
function getAge(){
var Age = document.getElementById('Age').value=years
var bDate = document.getElementById('bDate');
var valDate = bDate.value;
var bMonth = document.getElementById('bMonth');
var valMonth = bMonth.value;
var bYear = document.getElementById('bYears');
var valYear = bYear.value;
if(valDate!='null' && valMonth!='null' && valYear!='null'){
offset.setFullYear(nowYear-valYear);
offset.setMonth(nowMonth-valMonth);
offset.setDate(nowDate-valDate);
var years =offset.getFullYear();
var month =offset.getMonth();
var day=offset.getDate();
var Age = document.getElementById('Age').value=years
document.getElementById('Age').value=years+" ปี "+ month+" เดือน "+day+" วัน"
document.getElementById('Age1').value=years // แสดงแค่ ปี
}else{
document.getElementById('Age').value='';
}
}
</script>
<? /* การทำงานจริงจะใช้ตัวแปรนี้ร่วมกับหน้าหลักที่ดึงหน้านี้เข้า
$bd = 31;
$bm = 3;
$by = 2529 ; */
?>
<input type="hidden" name="bDate" id="bDate" value="<? echo $bd ?> ">
<input type="hidden" name="bMonth" id="bMonth" value="<? echo $bm - 1 ?>" >
<input type="hidden" name="bYears" id="bYears" value="<? echo $by ?>" >
<input type="text" name="Age" id="Age">
<script>getAge();</script>
|
|
|
|
|
Date :
2011-02-12 11:27:07 |
By :
l3ank |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ก็ยังดู งง ๆ อยู่นะ
เขียน function getAge() เป็น javascript เพื่อใช้คำนวณอายุ โดยดึงวันเดือนปีเกิดจากฐานข้อมูลด้วย PHP
แล้วทำไมไม่ส่งตัวแปร php เข้า function getAge() ไปเลยล่ะคะ
|
|
|
|
|
Date :
2011-02-12 11:59:50 |
By :
ultrasiam |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ก็คือต้องการส่งตัวแปร php เข้า function javascript แล้วต้องการผลลัพธ์เป็น php ด้วยแบบนี้ใช่ไหมคะ
ตอนนี้เห็นแค่ script ไ่เห็นที่มาที่ไปตอบยากนะคะ ทำไมต้องใช้ javascript ไม่ใช้ php ไปเลย ทั้ง ๆ ที่
ข้อมูลเข้าและผลลัพธ์ของคุณเป็น php ถ้าเป็นแบบนั้น ทำ function php ไปเลยสิคะ
|
|
|
|
|
Date :
2011-02-14 08:48:52 |
By :
ultrasiam |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<script>
var num = 100;
</script>
<?$num?><script>document.write(num)</script>
<?php
echo $num;
?>
|
|
|
|
|
Date :
2012-04-06 02:06:08 |
By :
gaiv |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<input type="text" name="users" id="txtAge" value="123">
<?php
$age_years="<script>document.write(document.getElementById('txtAge').value)</script>";
echo $age_years;
?>
<input type="hidden" name="Age" value="<?php echo "$age_years"; ?>" >
|
|
|
|
|
Date :
2019-03-18 16:59:46 |
By :
lam |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<input type="text" name="users" id="txtAge" value="123">
<?php
$age_years="<script>document.write(document.getElementById('txtAge').value)</script>";
echo $age_years;
?>
<input type="hidden" name="Age" value="<?php echo "$age_years"; ?>" >
|
|
|
|
|
Date :
2019-03-18 17:04:00 |
By :
lam |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|