|
gubaaball
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 184
ออฟไลน์
กระทู้: 1,678
|
 |
« ตอบ #1 เมื่อ: 14 มกราคม 2013, 13:43:04 » |
|
ดึงรูปจากไหนครับ database หรือยังไง แล้วเก็บรูปภาพไว้ในรูปแบบไหนล่ะครับ 
|
|
|
บันทึกการเข้า
|
|
|
|
|
bankker6480
สมุนแก๊งเสียว
พลังน้ำใจ: 162
ออฟไลน์
กระทู้: 710
|
 |
« ตอบ #3 เมื่อ: 14 มกราคม 2013, 13:47:33 » |
|
จะดึงจากดาต้าเบสเลยครับ
|
|
|
บันทึกการเข้า
|
|
|
|
navico
Verified Seller
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 108
ออฟไลน์
กระทู้: 2,315
|
 |
« ตอบ #4 เมื่อ: 14 มกราคม 2013, 13:50:55 » |
|
ต้องถามก่อนว่า ตอนใส่รูปเข้าไปในดาต้าเบส ใส่ไปแบบไหนครับ
|
|
|
บันทึกการเข้า
|
|
|
|
bankker6480
สมุนแก๊งเสียว
พลังน้ำใจ: 162
ออฟไลน์
กระทู้: 710
|
 |
« ตอบ #5 เมื่อ: 14 มกราคม 2013, 13:54:38 » |
|
ถ้าเก็บเป็น BLOB นี่ต้องสร้างไฟล์อ่านแล้ว render เอานะแล้วเรียกอีกที
สร้างยังไงครับมีวิธีหรือตัวอย่างไหมครับ 
|
|
« แก้ไขครั้งสุดท้าย: 14 มกราคม 2013, 13:56:59 โดย bankker6480 »
|
บันทึกการเข้า
|
|
|
|
sorayuth
Newbie
พลังน้ำใจ: 10
ออฟไลน์
กระทู้: 44
|
 |
« ตอบ #6 เมื่อ: 14 มกราคม 2013, 13:55:12 » |
|
echo "<tr ALIGN = center>"; echo "<td> $dbarr[pro_id] </td>"; echo "<td> $dbarr[pro_name] </td>"; echo "<td> $dbarr[price] </td>"; echo "<td> $dbarr[description] </td>"; echo "<td> <img src='$dbarr[img]'> </td>"; echo "</tr>";
ประมาณนี้หรือเปล่า??
|
|
« แก้ไขครั้งสุดท้าย: 14 มกราคม 2013, 13:56:55 โดย sorayuth »
|
บันทึกการเข้า
|
|
|
|
xvlnw.com
Verified Seller
เจ้าพ่อบอร์ดเสียว
พลังน้ำใจ: 493
ออฟไลน์
กระทู้: 5,905
|
 |
« ตอบ #7 เมื่อ: 14 มกราคม 2013, 13:56:36 » |
|
ถ้าใส่รูปใน DB ก็ดึงใน DB มาแสดงครับ <-- ไม่แนะนำให้ทำแบบนี้ โดยปกติ เค้าจะเก็บแค่ชื่อของรูปเฉยๆ แล้วเอามาใช้งาน เช่น ฟิลล์รูปชื่อ pic ก็จะประมาณนี้ <img src="images/<?php echo $data['pic']; ?>"> <-- ในกรณีดึงแบบ Array ออกมานะครับ ถ้าดึงแบบ Object ก็ใช้แบบ $data->pic แทนนั่นเอง ส่วน images/ ก็เป็นที่เก็บรูปครับ ส่วนคำสั่ง img ก็เป็นคำสั่งแสดงรูปภาพทั่วไป เป็น HTML ธรรมดาครับ 
|
|
|
บันทึกการเข้า
|
|
|
|
bankker6480
สมุนแก๊งเสียว
พลังน้ำใจ: 162
ออฟไลน์
กระทู้: 710
|
 |
« ตอบ #8 เมื่อ: 14 มกราคม 2013, 13:58:04 » |
|
ตารางแบบนี้อ่ะครับ 
|
|
|
บันทึกการเข้า
|
|
|
|
UnLock UnlimiT
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 228
ออฟไลน์
กระทู้: 1,899
|
 |
« ตอบ #9 เมื่อ: 14 มกราคม 2013, 14:01:13 » |
|
ทำแบบนั้นระวัง ดาต้าเบสจะใหญ่ไปนะครับ ลองหันไปเล่นรูปภาพเก็บเป็น url จะง่ายกว่า
|
|
|
บันทึกการเข้า
|
งดรับซื้อ google ads ครับ 
|
|
|
gubaaball
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 184
ออฟไลน์
กระทู้: 1,678
|
 |
« ตอบ #10 เมื่อ: 14 มกราคม 2013, 14:14:07 » |
|
ตารางแบบนี้อ่ะครับ  ผมแนะนำให้ทำแบบนี้น่ะครับ ในฟิลด์ img เปลี่ยนรูปแบบข้อมูลจาก blob มาเป็น varchar (200) เพื่อไว้เก็บ path ของรูปภาพเฉยๆ เช่น img/picture1.jpg เป้นต้น เวลาเรียกใช้ก็ใช้ tac img ธรรมดาไปเลย แล้วดึง path จากดาต้าเบสมาแสดง <img src="<?php echo $dbarr['img']; ?>" border=0 /> ส่วนตัวไฟล์รูปจริงๆ เราก็ไม่ต้องเก็บใส่ดาต้าเบส ใช้คำสั่ง copy($_FILES['picture']['tmp_name'],"พาทของรูปที่จะให้จัดเก็บ"."ชื่อของรูป")) ตัวแปร $_FILES['picture']['tmp_name']; มาจากการอัปโหลดรูปน่ะครับ งงไหมครับ  ถ้าจะให้หนักให้มันหนักที่พื้นที่เว็บครับ อย่าไปไว้ที่ดาต้าเบส เพราะจะจัดการได้ง่ายกว่า
|
|
|
บันทึกการเข้า
|
|
|
|
thanagrid
สมุนแก๊งเสียว
พลังน้ำใจ: 61
ออฟไลน์
กระทู้: 675
|
 |
« ตอบ #11 เมื่อ: 14 มกราคม 2013, 14:17:46 » |
|
|
|
|
บันทึกการเข้า
|
|
|
|
kowit2
สมุนแก๊งเสียว
พลังน้ำใจ: 29
ออฟไลน์
กระทู้: 529
|
 |
« ตอบ #12 เมื่อ: 14 มกราคม 2013, 14:19:19 » |
|
ต้องเขียน อัพรุป (อัพไฟล์ลงในโฟลเดอร์ + เก็บชื่อไฟล์ลงใน Database)
พอจะเรียกใช้รูปก็
ใส่ path รูป ตามด้วย /ชื่อไฟล์ของรูป ครับ
|
|
|
บันทึกการเข้า
|
Be patient because patience looks natural. ผลงานการทำเนื้อหา บทความ ที่มีคุณภาพในความเป็นจริงครับ ฟรีอีเมล ดีจริงหรือ ?  : ฟรีอีเมล ที่ให้ใช้งานทั่วไป เหมาะกับธุรกิจของคุณหรือไม่ หรือว่าถึงเวลาแล้วที่ต้องเปลี่ยนมาใช้ Email แบบเสียเงิน ไวรัสคอมพิวเตอร์ รู้ไว้ป้องกันได้  : ไวรัสคอม ป้องกันได้ หากลองศึกษาวิธีการใช้งานที่ถูกต้อง และอย่าลืมติดตั้งโปรแกรมสแกนไวรัสด้วยนะ yorushop 
|
|
|
yuseki
คนรักเสียว
พลังน้ำใจ: 20
ออฟไลน์
กระทู้: 120
|
 |
« ตอบ #13 เมื่อ: 14 มกราคม 2013, 14:20:32 » |
|
ลองเปลี่ยนมาเก็บแบบ url จะง่ายกว่าค่ะ
|
|
|
บันทึกการเข้า
|
|
|
|
|
bankker6480
สมุนแก๊งเสียว
พลังน้ำใจ: 162
ออฟไลน์
กระทู้: 710
|
 |
« ตอบ #15 เมื่อ: 14 มกราคม 2013, 14:40:13 » |
|
ตาลาย งงมากครับ พอดีเพิ่งหัดเขียนเป็นครั้งแรกเลย อัพพวกข้อความเข้าไปใน db แต่ file รูป นี่ต้องเก็บอะไรยังไงครับ พอดีโค้ดนี้ได้มาจากในหนังสือ แล้วก็นำมาดัดแปลง เลยงงๆ :'( เทพท่านไหนว่างๆช่วยแก้หน่อยครับ + โค้ดที่จะแสดง :'( อันนี้เป็นโค้ดตอนอัพสินค้าลงในฐานข้อมูล <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Language" content="th"> <meta http-equiv="content-Type" content="text/html; charset=window-874"> <meta http-equiv="content-Type" content="text/html; charset=tis-620"> <title>เพิ่มสินค้า</title>
<style type="text/css"> body { background-color: #D6D6D6;
background-image: url(images/green%20white%20vector1266.jpg); } </style><link href="mytopic.css" rel="stylesheet" type="text/css" /> </head>
<body> <center> <h3 align="center">เพิ่มรายการสินค้าใหม่</h3> <p align="center"> <?php if($_POST) { include("../dbconn.inc.php"); mysql_query("SET NAMES UTF8",$conn);
$pro_name = htmlspecialchars($_POST['pro_name'], ENT_QUOTES); $descr = nl2br(htmlspecialchars($_POST['descr'], ENT_QUOTES)); $price = $_POST['price']; $img_data = ""; if($_FILES['img']['error'] == 0) { $file = $_FILES['img']['tmp_name']; $f = fopen($file, "r"); $img_data = fread($f, filesize($file)); $img_data = addslashes($img_data); fclose($f); }
$sql = "INSERT INTO product VALUES (0, '$pro_name', $price, '$descr', '$img_data');";
@mysql_query($sql) or die(mysql_error()); echo "ข้อมูลได้รับการบันทึกแล้ว"; } ?> </p> <form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data"> <table align="center"> <tr><td>ชื่อสินค้า:</td><td><input name="pro_name" type="text" id="pro_name" size="30"></td></tr> <tr valign="top"><td>คำอธิบาย:</td><td><textarea name="descr" cols="37" rows="2"></textarea></td></tr> <tr><td>ราคา:</td><td><input name="price" type="text" size="10"></td></tr> <tr><td>ภาพสินค้า:</td><td><input type="file" name="img" size="30"></td></tr> <tr> <td> </td> <td> </td> </tr> <tr> <td> </td> <td align="center"><input type="submit" name="Submit" value="ส่งข้อมูล" /></td>
<a href="http://bank-network.info/admin.php"> กลับสู่หน้า admin </a>
</tr> </table> </form> </center> </body> </html>
|
|
« แก้ไขครั้งสุดท้าย: 14 มกราคม 2013, 14:41:28 โดย bankker6480 »
|
บันทึกการเข้า
|
|
|
|
gubaaball
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 184
ออฟไลน์
กระทู้: 1,678
|
 |
« ตอบ #16 เมื่อ: 14 มกราคม 2013, 14:51:05 » |
|
** ท่านสร้างโฟลเดอร์ image มาหนึ่งโฟลเดอร์น่ะครับ เอาไว้ที่ root ของเว็บไซด์เลยก็ได้สมมติผมสร้างโฟลเดอร์ไว้ที่ www.xxx.com/image  แล้วแก้ไขโค้ดส่วนนี้น่ะครับ if($_FILES['img']['error'] == 0) { $sql="select max(pro_id)+1 as pic_id from product"; $res=mysql_query($sql); $arr=mysql_fetch_assoc($res); $name = $_FILES['img']['name']; $name = 'product-'.$arr['pic_id'].strrchr( $name , '.' ); $resultname='image/'.$name; if(!copy($_FILES['img']['tmp_name'],"$resultname")){ echo 'ไม่สามารถ copy รูปภาพได้'; } } $sql = "INSERT INTO product VALUES (0, '$pro_name', $price, '$descr', '$resultname');"; @mysql_query($sql) or die(mysql_error()); ** แก้ไขนิดหน่อยน่ะครับ เด๋วชื่อรูปซ้ำ
|
|
« แก้ไขครั้งสุดท้าย: 14 มกราคม 2013, 14:56:22 โดย gubaaball »
|
บันทึกการเข้า
|
|
|
|
bankker6480
สมุนแก๊งเสียว
พลังน้ำใจ: 162
ออฟไลน์
กระทู้: 710
|
 |
« ตอบ #17 เมื่อ: 14 มกราคม 2013, 15:01:43 » |
|
** ท่านสร้างโฟลเดอร์ image มาหนึ่งโฟลเดอร์น่ะครับ เอาไว้ที่ root ของเว็บไซด์เลยก็ได้สมมติผมสร้างโฟลเดอร์ไว้ที่ www.xxx.com/image  แล้วแก้ไขโค้ดส่วนนี้น่ะครับ if($_FILES['img']['error'] == 0) { $sql="select max(pro_id)+1 as pic_id from product"; $res=mysql_query($sql); $arr=mysql_fetch_assoc($res); $name = $_FILES['img']['name']; $name = 'product-'.$arr['pic_id'].strrchr( $name , '.' ); $resultname='image/'.$name; if(!copy($_FILES['img']['tmp_name'],"$resultname")){ echo 'ไม่สามารถ copy รูปภาพได้'; } } $sql = "INSERT INTO product VALUES (0, '$pro_name', $price, '$descr', '$resultname');"; @mysql_query($sql) or die(mysql_error()); ** แก้ไขนิดหน่อยน่ะครับ เด๋วชื่อรูปซ้ำ แล้วอันนี้มันคืออะไรหรอครับ $img_data = ""; ให้ใส่ data อะไรลงไปครับ *ผมสร้างโฟลเดอร์ images แล้วนะครับ โค้ดหน้านี้จะอัพลงไปใน images เลยใช่ไหมครับ
|
|
« แก้ไขครั้งสุดท้าย: 14 มกราคม 2013, 15:03:13 โดย bankker6480 »
|
บันทึกการเข้า
|
|
|
|
gubaaball
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 184
ออฟไลน์
กระทู้: 1,678
|
 |
« ตอบ #18 เมื่อ: 14 มกราคม 2013, 15:02:51 » |
|
** ท่านสร้างโฟลเดอร์ image มาหนึ่งโฟลเดอร์น่ะครับ เอาไว้ที่ root ของเว็บไซด์เลยก็ได้สมมติผมสร้างโฟลเดอร์ไว้ที่ www.xxx.com/image  แล้วแก้ไขโค้ดส่วนนี้น่ะครับ if($_FILES['img']['error'] == 0) { $sql="select max(pro_id)+1 as pic_id from product"; $res=mysql_query($sql); $arr=mysql_fetch_assoc($res); $name = $_FILES['img']['name']; $name = 'product-'.$arr['pic_id'].strrchr( $name , '.' ); $resultname='image/'.$name; if(!copy($_FILES['img']['tmp_name'],"$resultname")){ echo 'ไม่สามารถ copy รูปภาพได้'; } } $sql = "INSERT INTO product VALUES (0, '$pro_name', $price, '$descr', '$resultname');"; @mysql_query($sql) or die(mysql_error()); ** แก้ไขนิดหน่อยน่ะครับ เด๋วชื่อรูปซ้ำ แล้วอันนี้มันคืออะไรหรอครับ $img_data = ""; ให้ใส่ data อะไรลงไปครับ ไม่ต้องเอาครับ ไม่ได้ใช้แล้ว ลองดูว่ารูปไปอยู่ในโฟลเดอร์นั้นหรือป่าว แล้วก็ path ของรูปเข้า database ถูกไหม
|
|
|
บันทึกการเข้า
|
|
|
|
bankker6480
สมุนแก๊งเสียว
พลังน้ำใจ: 162
ออฟไลน์
กระทู้: 710
|
 |
« ตอบ #19 เมื่อ: 14 มกราคม 2013, 15:09:19 » |
|
 มันขึ้นแบบนี้อ่ะครับ ทำไงครับ ไม่สารถ copy ได้
|
|
|
บันทึกการเข้า
|
|
|
|
|