ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingถามหน่อยครับ เรื่อง php & mysql
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ถามหน่อยครับ เรื่อง php & mysql  (อ่าน 1721 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
atmake
ก๊วนเสียว
*

พลังน้ำใจ: 7
ออฟไลน์ ออฟไลน์

กระทู้: 451



ดูรายละเอียด เว็บไซต์
« เมื่อ: 10 ตุลาคม 2008, 00:37:20 »

ผมมีไฟล์ ๆ นึงสมมติชื่อว่า show4pic.php ผมเขียน php ให้หน้านี้แสดงเป็นรูปภาพ 4 รูป 

โดยดึง location url ของรูปภาพมาจาก my sql

โดยผมให้ผู้ใช้ browse ภาพผ่าน add4pic.php ที่ผมเขียนไว้

พอ add แล้ว ก็จะนำ location url ของรูปขึ้นไปบน my sql

มีการแสดงรูปเป็นแบบ 2 colum 2 row รวมเป็น 4 รูป พอดี

โดยเรียก $row[0]  $row[1]
          $row[2]  $row[3]

มาโชว์เป็นรูปภาพใน page show4pic.php



แต่ตอนนี้ผมมีปัญหาก็คือว่า

(ผมขอเรียกภาพ 4 ภาพนี้ว่าภาพ 1 ชุดละกันคับ)

ผมมีภาพหลายชุดมาก แต่ผมต้องการให้หน้านึงแสดงแค่ 4 ภาพ

ผมจะทำยังไงดีครับ

-เขียน code gen page .php ขึ้นมา (ทำได้หรือเปล่าครับ)
-สร้างปุ่ม next ขึ้นมาแล้วพอกด next ปุ๊ป ให้เรียก database ใน my sql ชุดต่อไปขึ้นมา (ทำได้หรือเปล่าครับ)
-แนะนำด้วยครับ  Embarrassed

**หมายเหตุ  ... โปรแกรมผมไม่ต้องการและไม่ได้เกี่ยวข้องกับ internet เลยครับ ในเครื่องล้วน ๆ


ขอบคุณมากครับ  Smiley
บันทึกการเข้า
liveadsense
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 109
ออฟไลน์ ออฟไลน์

กระทู้: 1,300



ดูรายละเอียด
« ตอบ #1 เมื่อ: 10 ตุลาคม 2008, 00:41:21 »

-สร้างปุ่ม next ขึ้นมาแล้วพอกด next ปุ๊ป ให้เรียก database ใน my sql ชุดต่อไปขึ้นมา (ทำได้หรือเปล่าครับ) - - ทำได้ครับ
บันทึกการเข้า


เตือนตัวเอง ว่าเก่งได้ แต่อย่ากร่าง
รู้รับฟัง ไม่ใช่พล่ามเป็นน้ำไหล
อย่าหลงตน ให้คนอื่นเหนื่อยหน่ายใจ
เจอบันได ถ้าขึ้นได้ ต้องลงเป็น
atmake
ก๊วนเสียว
*

พลังน้ำใจ: 7
ออฟไลน์ ออฟไลน์

กระทู้: 451



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 10 ตุลาคม 2008, 00:43:49 »

-สร้างปุ่ม next ขึ้นมาแล้วพอกด next ปุ๊ป ให้เรียก database ใน my sql ชุดต่อไปขึ้นมา (ทำได้หรือเปล่าครับ) - - ทำได้ครับ

ทำยังไงหรอคับ  Smiley
บันทึกการเข้า
liveadsense
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 109
ออฟไลน์ ออฟไลน์

กระทู้: 1,300



ดูรายละเอียด
« ตอบ #3 เมื่อ: 10 ตุลาคม 2008, 00:51:50 »

   $page = $_GET['page'];
           if (empty($_GET[page])){
      $page=1;
   }
   $limit = 4;
   $res = mysql_query("SELECT id FROM pic")or die(mysql_error());
   $numpage = mysql_num_rows($res);
   $rt = $numpage%$limit;
   if($rt!=0) {
      $totalpage = floor($numpage/$limit)+1;
   }
   else {
      $totalpage = floor($numpage/$limit);
   }
   $goto = ($page-1)*$limit;
$res = mysql_query("SELECT * FROM pic order by id DESC limit $goto,$limit")or die(mysql_error());

while ($row = mysql_fetch_array($res)) {
$picurl = $row['url']
}

$nextpage = "index.php?page=".($page + 1)."";


โดยประมาณนี้ครับ
บันทึกการเข้า


เตือนตัวเอง ว่าเก่งได้ แต่อย่ากร่าง
รู้รับฟัง ไม่ใช่พล่ามเป็นน้ำไหล
อย่าหลงตน ให้คนอื่นเหนื่อยหน่ายใจ
เจอบันได ถ้าขึ้นได้ ต้องลงเป็น
atmake
ก๊วนเสียว
*

พลังน้ำใจ: 7
ออฟไลน์ ออฟไลน์

กระทู้: 451



ดูรายละเอียด เว็บไซต์
« ตอบ #4 เมื่อ: 10 ตุลาคม 2008, 01:02:11 »

ขอเอาไปลองดูนะครับ

ขอบคุณครับ +1  Smiley
บันทึกการเข้า
atmake
ก๊วนเสียว
*

พลังน้ำใจ: 7
ออฟไลน์ ออฟไลน์

กระทู้: 451



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 10 ตุลาคม 2008, 01:22:21 »

   $page = $_GET['page'];
           if (empty($_GET[page])){
      $page=1;
   }
   $limit = 4;
   $res = mysql_query("SELECT id FROM pic")or die(mysql_error());
   $numpage = mysql_num_rows($res);
   $rt = $numpage%$limit;
   if($rt!=0) {
      $totalpage = floor($numpage/$limit)+1;
   }
   else {
      $totalpage = floor($numpage/$limit);
   }
   $goto = ($page-1)*$limit;
$res = mysql_query("SELECT * FROM pic order by id DESC limit $goto,$limit")or die(mysql_error());

while ($row = mysql_fetch_array($res)) {
$picurl = $row['url']
}

$nextpage = "index.php?page=".($page + 1)."";


โดยประมาณนี้ครับ

พี่ครับ

ผมรบกวนอีกหน่อยนะ

ผมอยากให้พี่ช่วยอธิบาย code ให้หน่อยน่ะครับ

แบบอยากเข้าใจมันด้วย ไม่ใช่ว่าเอาไปใช้อย่างเดียว

ผมลองทำความเข้าใจดูแล้วก็มีส่วนที่ไม่เข้าใจหลายจุดด้วยกัน

พี่ช่วยชี้แนะด้วยครับ


$rt = $numpage%$limit;

% นี่คือให้ทำอะไรหรอครับ


$totalpage = floor($numpage/$limit)+1;
floor คือคำสั่งเอาไว้ทำอะไรหรอครับ


$result = mysql_query("SELECT * FROM pic order by id DESC limit $goto,$limit")or die(mysql_error());
บรรทัดนี้ผมต้องใส่ msql_query($goto,$limit) หรอครับ  Huh?

$picurl = $row['url']
$row['url'] นี่คือให้ผมใส่แบบนี้ปะครับ

$picurl = $row[0]
$picurl = $row[1]
$picurl = $row[2]
$picurl = $row[3]



ขอบคุณมากครับ

ผมพึ่งหัด แบบว่าไม่ค่อยเข้าใจ code เท่าไหร่  Embarrassed
บันทึกการเข้า
atmake
ก๊วนเสียว
*

พลังน้ำใจ: 7
ออฟไลน์ ออฟไลน์

กระทู้: 451



ดูรายละเอียด เว็บไซต์
« ตอบ #6 เมื่อ: 10 ตุลาคม 2008, 03:50:52 »

 Lips Sealed
บันทึกการเข้า
chuanguru
ก๊วนเสียว
*

พลังน้ำใจ: 10
ออฟไลน์ ออฟไลน์

กระทู้: 337



ดูรายละเอียด
« ตอบ #7 เมื่อ: 11 ตุลาคม 2008, 02:16:06 »

   $page = $_GET['page'];
           if (empty($_GET[page])){
      $page=1;
   }
   $limit = 4;
   $res = mysql_query("SELECT id FROM pic")or die(mysql_error());
   $numpage = mysql_num_rows($res);
   $rt = $numpage%$limit;
   if($rt!=0) {
      $totalpage = floor($numpage/$limit)+1;
   }
   else {
      $totalpage = floor($numpage/$limit);
   }
   $goto = ($page-1)*$limit;
$res = mysql_query("SELECT * FROM pic order by id DESC limit $goto,$limit")or die(mysql_error());

while ($row = mysql_fetch_array($res)) {
$picurl = $row['url']
}

$nextpage = "index.php?page=".($page + 1)."";


โดยประมาณนี้ครับ

พี่ครับ

ผมรบกวนอีกหน่อยนะ

ผมอยากให้พี่ช่วยอธิบาย code ให้หน่อยน่ะครับ

แบบอยากเข้าใจมันด้วย ไม่ใช่ว่าเอาไปใช้อย่างเดียว

ผมลองทำความเข้าใจดูแล้วก็มีส่วนที่ไม่เข้าใจหลายจุดด้วยกัน

พี่ช่วยชี้แนะด้วยครับ


$rt = $numpage%$limit;

% นี่คือให้ทำอะไรหรอครับ


$totalpage = floor($numpage/$limit)+1;
floor คือคำสั่งเอาไว้ทำอะไรหรอครับ


$result = mysql_query("SELECT * FROM pic order by id DESC limit $goto,$limit")or die(mysql_error());
บรรทัดนี้ผมต้องใส่ msql_query($goto,$limit) หรอครับ  Huh?

$picurl = $row['url']
$row['url'] นี่คือให้ผมใส่แบบนี้ปะครับ

$picurl = $row[0]
$picurl = $row[1]
$picurl = $row[2]
$picurl = $row[3]



ขอบคุณมากครับ

ผมพึ่งหัด แบบว่าไม่ค่อยเข้าใจ code เท่าไหร่  Embarrassed

% คือการหารไม่สนใจเศษครับ เช่น 3%2 มีค่า 1 ครับ ไม่ใช่ 1.5

FLOOR(X)
ฟังก์ชัน FLOORเป็นฟังก์ชันที่ให้ค่าตัวเลขจำนวนเต็มที่พิจารณาจากค่าในคอลัมน์ X ถ้าหลังจุดทศนิยมมีค่ามากว่า 5 ก็จะให้ค่าเลขจำนวนเต็มที่มากขึ้น แต่ถ้าหลังจุดทศนิยมมีค่าน้อยกว่า 5 จะให้ค่าตัวเลขที่มีค่าน้อยลง

โค๊ด:
$result = mysql_query("SELECT * FROM pic order by id DESC limit $goto,$limit")or die(mysql_error());
บรรทัดนี้ผมต้องใส่ msql_query($goto,$limit) หรอครับ

ไม่ใช่ครับ หลัง limit คือกำหนดให้แสดงกี่จำนวน record เช่น 0,3 คือให้แสดงค่า 3 record โดยเริ่มจาก record ที่ 0 (record แรกนั่นเอง)

order by id DESC
คือเรียงจากมากไปหาน้อย

โค๊ด:
$picurl = $row['url']
$row['url'] นี่คือให้ผมใส่แบบนี้ปะครับ

$picurl = $row[0]
$picurl = $row[1]
$picurl = $row[2]
$picurl = $row[3]

ไม่ใช่ครับ  ถ้าอยากให้แสดงรูปอาจจะใช้ echo("<img src='$picurl' ><br>"); เป็นต้น
จาก code ถ้า $row['url'] ก็จะเป็น field ของรูป ถ้าเป็น $row['id'] ก็จะเป็น field ของ id เป็นต้น


บันทึกการเข้า

atmake
ก๊วนเสียว
*

พลังน้ำใจ: 7
ออฟไลน์ ออฟไลน์

กระทู้: 451



ดูรายละเอียด เว็บไซต์
« ตอบ #8 เมื่อ: 11 ตุลาคม 2008, 02:23:09 »

ขอบคุณครับ  Smiley
บันทึกการเข้า
Synchronize
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 83
ออฟไลน์ ออฟไลน์

กระทู้: 1,231



ดูรายละเอียด
« ตอบ #9 เมื่อ: 11 ตุลาคม 2008, 02:34:32 »

ชุดนี้ย่อได้นะครับ ... จะได้ง่ายต่อการทำความเข้าใจ

โค๊ด:
$rt = $numpage%$limit;
   if($rt!=0) {
      $totalpage = floor($numpage/$limit)+1;
   }
   else {
      $totalpage = floor($numpage/$limit);
   }

ย่อเหลือ

โค๊ด:
$totalpage = ceil($numpage/$limit);

คือ ... ถ้ามีจุดทศนิยมปุ๊บ มันจะปัดขึ้นเสมอ

บันทึกการเข้า

atmake
ก๊วนเสียว
*

พลังน้ำใจ: 7
ออฟไลน์ ออฟไลน์

กระทู้: 451



ดูรายละเอียด เว็บไซต์
« ตอบ #10 เมื่อ: 11 ตุลาคม 2008, 02:59:28 »

ชุดนี้ย่อได้นะครับ ... จะได้ง่ายต่อการทำความเข้าใจ

โค๊ด:
$rt = $numpage%$limit;
   if($rt!=0) {
      $totalpage = floor($numpage/$limit)+1;
   }
   else {
      $totalpage = floor($numpage/$limit);
   }

ย่อเหลือ

โค๊ด:
$totalpage = ceil($numpage/$limit);

คือ ... ถ้ามีจุดทศนิยมปุ๊บ มันจะปัดขึ้นเสมอ



ค้าบ ขอบคุณครับ  Smiley
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์