A-AA+then

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

1,816
 $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);
}

11 ความคิดเห็น

ทำความเข้าใจกับตัวแปรของ 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
^