สอบถามคำสั่งphp

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา สอบถามคำสั่งphp

สอบถามคำสั่งphp
roombook.php
<script language="javascript">
    function checkdup(s_time,room_id,datemeet){
            var url = "a_chkdup.php?s_time="+s_time+"&room_id="+room_id+"&datemeet="+datemeet ;
           
            xmlhttp = newXmlHttp();
            xmlhttp.open("POST", url, false);
            xmlhttp.send(null);
            callback(xmlhttp.responseText);
 
    }
    function callback( response ){
document.getElementById('chkdup').innerHTML = response ;

}
</script>
---------------------------------------------------------------------------------------------------------------------
a_chkdup.php
if(mysql_num_rows($c_chkdup)>0) {                                                                                                                                                                                           
    $f_subj=mysql_fetch_array($c_chkdup);
    
    echo "<b><font color="#FF0000">ห้องประชุม<u>ไม่ว่าง</u>&nbsp;ประชุมเรื่อง: $f_subj[0] เวลา $f_subj[1]-$f_subj[2]&nbsp;[กรุณาเลือก:ห้องประชุม/วันที่/หรือเวลา&nbsp;ใหม่] </font>สถานะ:</b>";
    if($f_subj['b_status']=='0'){
                                        $b_status="0";
                                        echo " <i><u>รอ</u>อนุมัติ</i>&nbsp;".$_POST["b_status"]." ";
                                            } 
ปกติ  function สีแดง ไฟล์ roombook.php มันจะแสดง ทั้งหมดที่ echo
Q. ผมต้องการนำ b_status ไฟล์ a_chkdup.php คือ ฟิวล์ สถานะ 0 ไปสร้างเงือนไข function สีแดง ไฟล์ roombook.php
ขอแนะนำ รูปแบบcodeหน่อย ครับ


Baby 17-02-2016 10:43:43

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )

 ความคิดเห็นที่ 1
ลองใช้วิธีส่งกลับค่ามาแบบเป้นส่วนของข้อมูลเฉพาะ แล้วค่อยมาจัดรูปแบบที่รวมแท็ก html เข้าด้วยทีหลังแทน
เช่นไฟล์ a_chkdup.php  ส่งค่าแค่ $f_subj[0]   $f_subj[1]-$f_subj[2] $_POST["b_status"]
อาจจะคั้นด้วย | 
แล้วพอรับค่ามาก็แยกด้วย คำส่ัง a.split("|"); แล้วเอาค่าไปจัดรูปแบบรวมกับ html แล้วแสดงผล
ตัวอย่างส่งกลับค่ามาเป็น

echo "1|ข้อความ|2016-02-17";



พอรับมาไว้ในตัวแปร javascript จะได้เป็น 
var a = "1|ข้อความ|2016-02-17";
var arr_a = a.split("|");

var result_str="<p>"+arr_a[0]+"</p><b>"+arr_a[1]+"</b>";



ninenik 17-02-2016
 ความคิดเห็นที่ 2
a_chkdup.php
if(mysql_num_rows($c_chkdup)>0) {                                                                                                                                                                                           
    $f_subj=mysql_fetch_array($c_chkdup);
    
    echo " $f_subj[0] เวลา $f_subj[1]-$f_subj[2] :$f_subj['b_status']</b>";
 
}

roombook.php
<script language="javascript">
    function checkdup(s_time,room_id,datemeet){
          var a = "$f_subj[0] | $f_subj[1] | $f_subj[2] | $f_subj['b_status']";
          
var arr_a = a.split("|"); 
         
var result_str="<p>"+arr_a[0]+"</p><b>"+arr_a[1]+"</b>";


            var url = "a_chkdup.php?s_time="+s_time+"&room_id="+room_id+"&datemeet="+datemeet ;
           
            xmlhttp = newXmlHttp();
            xmlhttp.open("POST", url, false);
            xmlhttp.send(null);
            callback(xmlhttp.responseText);
 
    }
    function callback( response ){
document.getElementById('chkdup').innerHTML = response ;

}
</script>
-------------------------------------------
ประมาณนี้ไหมครับ เขียน ไม่ถูกเลย ครับ  มือใหม่ ขอแนะนำหน่อยครับ


baby 17-02-2016 11:51
 ความคิดเห็นที่ 3
ช่วยดูหน่อยครับ ว่า ผมทำ รูปแบบนี้ ถูกไหมครับ  ขอคำแนะนำหน่อยครับบบ  มือใหม่ ครับ


baby 18-02-2016 10:20
 ความคิดเห็นที่ 4
แนวๆวนี้

ไฟล์ php ส่งค่ากลับมา

<?php
if(mysql_num_rows($c_chkdup)>0){
    $f_subj=mysql_fetch_array($c_chkdup);
	echo $f_subj[0]."|".$f_subj[1]."|".$f_subj['2']."|".$f_subj['b_status'];
}
?>


ไฟล์รับค่า javascript 

<script language="javascript">
    function checkdup(s_time,room_id,datemeet){
            var url = "a_chkdup.php?s_time="+s_time+"&room_id="+room_id+"&datemeet="+datemeet ;
           
            xmlhttp = newXmlHttp();
            xmlhttp.open("POST", url, false);
            xmlhttp.send(null);
            callback(xmlhttp.responseText);
    }
	function callback( response ){
		// นำค่าที่ได้มาแยกด้วย |
          var arr_a = response.split("|"); 
		  // จัดรูปแบบ
          var result_str="<p>"+arr_a[0]+"</p><p>"+arr_a[1]+"</p><p>"+arr_a[2]+"</p><b>"+arr_a[3]+"</b>";		
		  // แสดงในส่วนที่ตอ้งการ
		document.getElementById('chkdup').innerHTML = result_str ;
	}
</script>


ninenik 18-02-2016
 ความคิดเห็นที่ 5
ขอพระคุณอย่างสูง ที่ให้คำช่วยเหลือ ได้แล้ว ครับ

ขอถาม เพิ่มเติม อีกนิด ครับ

 var result_str="<p>"+arr_a[0]+"</p><p>"+arr_a[1]+"</p><p>"+arr_a[2]+"</p><b>"+arr_a[3]+"</b>";       

ถ้าผมต้องแทรก ข้อความ เช่น
ห้องประชุมไม่ว่าง ประชุมเรื่อง : "<p>"+arr_a[0]+" เวลา : <p>"+arr_a[1]+"</p><p>"+arr_a[2]+"</p> สถานะ :<b>"+arr_a[3]+"</b>"

แล้ว arr_a[3] ผมต้องการ ไปสร้าง if เพื่อ กดsubmit ได้ หรือ ไม่ได้ ต้องสร้างแบบไหนครับ ขอแนะนำ อีกครั้งครับบ


baby 18-02-2016 11:33
 ความคิดเห็นที่ 6
กำหนดค่า id ให้กับปุ่ม submit
เช่น 

<input type="Submit" name="mybtn" id="mybtn" value="Submit">
 
เอาค่าที่ได้รับมาเช็ค
แล้วกำหนดให้สามารถกดได้หรือไม่

    function callback( response ){  
        // นำค่าที่ได้มาแยกด้วย |  
          var arr_a = response.split("|");   
          // จัดรูปแบบ  
          var result_str="<p>"+arr_a[0]+"</p><p>"+arr_a[1]+"</p><p>"+arr_a[2]+"</p><b>"+arr_a[3]+"</b>";          
          // แสดงในส่วนที่ตอ้งการ  
        document.getElementById('chkdup').innerHTML = result_str ;  
		
		if(arr_a[3]=='ค่าที่ต้องการเช็ค'){
			// ปุ่มกดไม่ได้
			document.getElementById('mybtn').setAttribute("disabled", "disabled");  // 
		}else{
			//ปุ่มกดได้
			document.getElementById('mybtn').removeAttribute("disabled");	
		}
    }  


ninenik 18-02-2016
 ความคิดเห็นที่ 7
<input name="Button" type="button"  id="button"  class="button" onclick="chkform();" value="จองห้องประชุม"/>



f(arr_a[3]=='1'){  //เจอ 1 เข้า เงือนไขแรก  กดsubnit ไม่ได้ ถูกไหมครับ
    // ปุ่มกดไม่ได้  
    document.getElementById('button').setAttribute("disabled", "disabled");  //   
}else{  
    //ปุ่มกดได้  
    document.getElementById('button').removeAttribute("disabled");     
}

}
ตรงนี้ ยังกดได้เลย ครับ


baby 18-02-2016 15:37
 ความคิดเห็นที่ 8


function callback( response ){    
// นำค่าที่ได้มาแยกด้วย |   
var arr_a = response.split("|");    
// จัดรูปแบบ   
var result_str="<p>"+arr_a[0]+"</p><p>"+arr_a[1]+"</p><p>"+arr_a[2]+"</p><b>"+arr_a[3]+"</b>";            
// แสดงในส่วนที่ตอ้งการ    
document.getElementById('chkdup').innerHTML = result_str ;  

if(arr_a[3]=='1'){  
// ปุ่มกดไม่ได้ 
document.getElementById('mybtn').setAttribute("disabled""disabled");  //  
}else{
document.getElementById('mybtn').removeAttribute("disabled");  
}
}
-----------------------------------------------------
ถ้า ตามภาพ แสดงข้อความเตือง  ตรง สถานะ อนุมัติแล้ว 1  คือ ไม่สามารถ
// ปุ่มกดไม่ได้   เข้า เงือนไขแรก
แต่ จุดนี้ ยัง สามารถ กดปุ่ม ได้เลย ครับบบบ

 



baby 19-02-2016 10:51
 ความคิดเห็นที่ 9
ถ้ายังกดได้ แสดงว่าไม่เข้าเงื่อนไข อันนี้ไม่รู้เหมือนกันว่าต้องทำยังไง คงต้องไล่ดูตามที่แนะนำไป
อาจจะลอง alert ค่าว่าถ้าถูกต้องไหม มีช่องว่างไหม หรืออื่นๆ เพื่อเปรียบเทียบ


หรือจะทดสอบให้ disabled ทั้งสองกรณีดุูว่า เพื่อดูว่า ปุ่มยังกดได้ไหม

เช่นกำหนดเป็น

if(arr_a[3]=='1'){   
// ปุ่มกดไม่ได้  
document.getElementById('mybtn').setAttribute("disabled", "disabled");  //  
}else{
document.getElementById('mybtn').setAttribute("disabled", "disabled");  //  
//document.getElementById('mybtn').removeAttribute("disabled");   
}


ถ้าทดสอบแบบนี้คือยังไงก็จะ กดไม่ได้ แสดงว่าเงื่อนไข  if ทำงนถูกต้องตามที่ต้องการ คือสามารถ disabled ได้
จากนั้นก็ปรับโค้ดให้เหมือนเดิม แล้วทดสอบ ค่าของเงื่อนไข เช่นเป็น 

if(arr_a[3]==1)  หรือ if(arr_a[3].trim()==1)  หรือ  if(arr_a[3].trim()=='1')

ทั้งหมดก็น่าจะประมาณนี้ 



ninenik 19-02-2016
 ความคิดเห็นที่ 10
f(arr_a[3]==1)//จุดนี้ ลองเปลี่ยน หลายรูปแบบแล้วครับ เหมือนกับว่า มัน จะเข้าเคสอันที่2alert("ห้องประชุมว่าง")
{

  //ห้องประชุมไม่ว่าง
  document.getElementById('button').setAttribute("disabled", "disabled");
alert("ห้องประชุมไม่ว่าง : กรุณาเลือกรายการจองใหม่");
       
}
else
{
//document.getElementById('mybtn').removeAttribute("disabled");
//ห้องประชุมว่าง
document.getElementById('button').setAttribute("disabled", "disabled");
alert("ห้องประชุมว่าง")
}  
   
//document.getElementById('chkdup').innerHTML = response ;
 
}


baby 19-02-2016 16:38
1 2 Next






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ