$id = "$memid" ; <<< มันรับค่ามาเป็น SESSION

 $id = "$memid" ; <<< มันรับค่ามาเป็น SESSION ที่รับมาจาก test1.php พอส่งค่าไปหน้า test2.php ใน function BasicTable ค่ามันเป็น 0 อะคับ แต่ถ้าไว้นอก function BasicTable มันเห็นค่าเป็นปกตินะคับ งงแท้



test2.php

function BasicTable($pdf,$header,$data){    

    

    $id = "$memid" ; 



    $sql1 = "SELECT * FROM empbyess.... where 

    empbyess.id_emp = info_faits.id_emp

    and info_faits.id_faits = state_faits.id_faits

    and empbyess.id_emp = '$id' "; // SELECT ต่างๆๆ

    $query_sql1 = mysql_db_query($myselect_db,$sql1); // นำคำสั่ง $sql มาทำงาน

    $ans=mysql_fetch_array($query_sql1);

}
05 ม.ค. 2556 11 3,383

ทำความเข้าใจกับตัวแปรของ PHP ก่อนครับ



PHP กำหนดให้ตัวแปรทุกตัว เป็นตัวแปร private (นอกจากตัวแปรระบบ ที่มักจะขึ้นต้นด้วย $_ เช่น $_SERVER) ซึ่งหมายความว่าตัวแปรเหล่านั้นจะถูกเรียกใช้ได้ภายในฟังก์ชั่นเท่านั้น (ถ้าเป็นภายนอกฟังก์ชั่น ก็จะใช้ได้แต่ภายนอก)



ในกรณีที่ตัวแปรรับค่ามาจากตัวแปรระบบก้เช่นกัน มันก็จะกลายเป็นตัวแปร private ทันที



ซึ่งถ้าต้องการใช้ตัวแปรข้างต้น มี 3 วิธีครับ



1.ใช้ตัวแปร global แทน เช่น ในกรณีข้องต้นรับค่ามาจาก session ก็ให้ใช้ค่าจาก session โดยตรง

2.ส่งค่าตัวแปรเข้าในฟังก์ชั่น

function BasicTable($pdf,$header,$data,$memid){  


3 กำหนดให้ตัวแปรเป็น global ภายในฟังก์ชั่น

function BasicTable($pdf,$header,$data){  

  global $memid;

  $id = "$memid";

  .....

}
#1

function BasicTable($pdf,$header,$data){    

    

    global $memid;

    $id = "$memid"; 

     

    $sql1 = "SELECT * FROM empbyess.... where 


    empbyess.id_emp = info_faits.id_emp

    and info_faits.id_faits = state_faits.id_faits

    and empbyess.id_emp = '$id' ";   //มันก็ไม่ออกอะคับโดยลองทั้งสองแบบคือ กำหนดใน Funcition และ global  แต่ >and empbyess.id_emp = '20' " กำหนด id เป็นค่าไปเลยมันออกปกตินะคับ ก้อแสดงว่าโค้ดที่แสดงไม่ผิด แต่ตอนรับค่านี้และคับที่มีปัญหา
#2

555++



เชื่อเหอะ ที่ผิด ไม่ได้อยู่ในฟังก์ชั่น



1.ลอง echo query ออกมาดู

2.ลอง echo $memid ภายในฟังก์ชั่นออกมาดู

3.ลอง echo $memid นอกฟังก์ชั่นออกมาดู



ลองทำตามลำดับดูครับ น่าจะหาที่ผิดได้
#3

$id = "$memid" ; <<< มันรับค่ามาเป็น SESSION
ลอง   echo $memid ภายในฟังก์ชั่นออกมาดู แล้วคับ ออก



id 9i'd]k'ot8y[ id ที่ 47  ปวดหัวกับมันจิงๆๆๆ
#4

เด่วลองหา ก่อนคับ สู้ๆๆๆ เห้อๆๆๆ - -*
#5

ถ้าในฟังก์ชั่นมี แล้วทำไมไม่เอา ตัวแปรใส่ใน query เลยละครับ
#6

ออกและคับ ตารางมันผิดนิดหน่อยแหะๆๆ 

ถามอีกนิดนะครับ จะดึงรูปจา DB ไป fpdf 



แบบนี้ไม่มันออกอ่า แหะๆๆ $pdf->Image('img src=../$rowshow[Img]',15,10,20,15,'');  ต้องเขียนไงอ่าคับ
#7

ลองใส่ URL เต็มๆ หรือไม่ก็ รวม path ตั้งแต่ root ลงไปด้วย (ควรทำให้เป็นนิสััย เพื่อป้องกันความผิดพลาด)
#8

    $sql24="select  * from a where id = 34  " ; 

    $result24=mysql_query($sql24);      

    $path = "images/".$result24;



    $pdf->Image($path,170,35,30,40,'',"C");



ลองแบบนี้แล้วอะคับไม่ออกอะคับ ออกมาว่า FPDF error: Image file has no extension and no type was specified: images/Resource id #8   

งง เลยคับ - -*
#9

อ่านคำตอบที่ 8 ครับ
#10

คับ ขอบคุณคับ
#11
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 1024
^