ถามเรื่อง pager_query ครับ

By rafa

ผมต้องการให้แสดงชื่อ user ในตารางครับ แต่ว่าชื่อถูกเก็บเป็น User ID ทีนี้ปัญหาคือ ใน 1 แถว มี 2 user ID เวลาผมเรียก จะได้ชื่อ User ที่ซ้ำกันทั้ง 2 field ครับ

อันนี้ โค้ตเดิมนะครับ อันที่แก้ผมลบไปหมดแล้ว ============

$output =' ';
$sql = "SELECT cgname, u_name, u_name2 FROM {cg}";
$limit = 20;
$header = array(
    array('data' => t('ชื่อสาขา'),  'field' => 'cgname'),
    array('data' => t('หัวหน้า'),       'field' => 'u_name' ),
    array('data' => t('รองหัวหน้า'),    'field' => 'u_name2' )
);

$tablesort = tablesort_sql ($header);
$result = pager_query($sql . $tablesort,$limit);
$rows = array();
//$p_user = array();
while ( $item = db_fetch_object ( $result )) { 
$rows [] = array(  
            ( $item -> cgname),
            ( $item -> u_name),
            ( $item -> u_name2 )); 
};
if (! $rows ) {
    $rows [] = array(array( 'data' => t( '' ), 'colspan' => 3 )); 
}
    $output .= theme ( 'table' , $header , $rows );
    $output .= theme ( 'pager' , NULL , $limit , 10 );
return $output ;

4 comments

รูปภาพของ ball.in.th
By ball.in.th
29 weeks 1 วัน ago

เท่าที่ดู ไม่น่าเกี่ยวกับ

เท่าที่ดู ไม่น่าเกี่ยวกับ pager_query() นะครับ แต่เป็นตอน join กับตาราง users ไม่ถูกต้อง เช่น ถ้าเป็น sql ธรรมดา ก็น่าจะเป็น
select cg.*, u1.name, u2.name
from cg
join users as u1 on cg.u_name = u1.uid
join users as u2 on cg.u_name2 = u2.uid

By rafa
29 weeks 19 hours ago

พี่ ball.in.th ครับ

พี่ ball.in.th ครับ ผมยังมือใหม่นะครับ คือว่า ผม JOIN ตารางไม่ได้ครับ เพราะว่า ใน 1 Record นั้นมี 2 uid ผมสามารถเรียกให้แสดง uid ได้ แต่ว่าที่ผมต้องการคือเอาชื่อผู้ใช้มาแสดง (ลองหลายแบบแล้ว ทำไม่ได้สักที)

จากโค้ตของพี ball.in.th นั้นผมเอาไปใช้ดูแล้วนะครับ แต่ไม่ผ่านครับ ฟ้องว่า Syntax ไม่ถูกต้อง แล้วก็ปรับแก้ ไปๆ มๆ ก็ยังไม่ได้ครับ

สอบถามพี่ ball.in.th อีกสักนิดนะครับ จากโค้ด SQL ของพี่ u1.name, u2.name อันนี้เป็นตัวแปรใหม่ใช่หรือไม่

ยังก็ขอความช่วยเหลือด้วยนะครับ ขอบคุณทุก ๆ ความคิดเห็นครับ

รูปภาพของ ball.in.th
By ball.in.th
28 weeks 5 days ago

เป็น SQL join ธรรมดา ลองดูใน

เป็น SQL join ธรรมดา ลองดูใน MySql ก็ได้ครับ
ปล. น่าจะลองหาหนังสือเกี่ยวกับ Database มาศึกษาดูครับ ไม่งั้นจะออกแบบตารางและเรียกใช้งานได้ไม่ถูกต้องครับ

By yochi
25 weeks 6 days ago

งงอ่า

งงอ่า ต้องการอะไรไม่เข้าใจ

ถ้าจะจอยตารางก็ต้องจอยเป็นชื่อฟิลล์ตารางไม่ใช่หรอ?

SELECT * FORM cg JOIN Users JOIN t1 WHERE t1.field= Users.field AND (t1.field = cg.u_name OR t1.field = cg.u_name2)

แบบนี้มั้ง เข้าใจถูกเปล่าไม่รู้ ลองดูเงื่อนไขตามท้ายอีกที่นะคะ