ถามต่อจากการอัพรูปไฟล์ลงในโฟล์เดอร์คับ อยากให้ไฟล์มันโชว์รูปที่เราอัพลงในโฟล์เดอร์อะคับ ไม่ทราบว่าใช้หลักการเดียวกันกับ echo หรือป่าว
เวลาอัพเสร็จก็ให้
echo "<img src='รูปที่ราอัพขึ้นมาแล้ว' border=0>"
ก็แค่นี้อะ ไม่รู้ว่าต้องใช้หลักการอะไรรึป่าวผมทำแค่นี้แหละ นี่ตัวอย่างผม
Code (PHP)
<?php
if (copy($_FILES["files"]["tmp_name"],"upload/".$_FILES["files"]["name"]))
{
echo "Upload Successfully";
echo "<div style='width: 80%;'><img src='http://localhost/upload/".$_FILES["files"]["name"]."' border='0' ></div>";
echo "<br>Link: <input type='text' value='http://localhost/upload/".$_FILES["files"]["name"]."'>";
}else{
echo "Can't upload this file please try again later.";
}
?>
Date :
2009-05-13 23:38:03
By :
melodyApinan
พอดีไฟล์อัพโหลดผมอยู่คนละไฟล์กับโชว์รูปอ่ะคับ หลักการคือ ให้ admin อัพไฟล์ภาพทีละภาพ แล้วภาพจะไปโชว์ในหน้า user อ่ะคับ คืออยากให้โชว์เป็นตารางแถวละ3 แถวอะไรประมาณนี้อะคับ
Date :
2009-05-13 23:41:04
By :
backship
คือถ้าผมอัพภาพชื่อ 1 ต่อไปอัพภาพชื่อ2 และ 3....
มันก็จะโชว์ในตารางตามนี้อ่ะคับ ภาพก็จะเรียงเป็น 1 2 3
ประมาณนี้อ่ะคับ............
Date :
2009-05-14 00:02:32
By :
backship
งั้นก็
Code (PHP)
<?php
mysql_connect("localhost","root","123");
mysql_select_db("dbb");
$sql = "select img from tb1";
$query = mysql_db_query("dbb",$sql);
$vars = mysql_num_rows($query); //สมมุติว่าได้มา 6 รูปละกัน
if($vars%3!=0)
{
$vars_r = $vars/3;
$vars_r=$vars_r+1;
}
else{
$vars_r = $vars/3;
}
echo "<table border='1'>";
for($i=1;$i<=$vars_r;$i++)
{
print "<tr>";
for($n=1;$n<=3;$n++)
{
$cell=mysql_fetch_array($query);
print "<td><img src='$cell[0]' border=0 width=50 height=50></td>";
}
print "</tr>";
}
echo "</table>";
?>
Date :
2009-05-14 00:38:52
By :
melodyApinan
แนะนำให้ใส่โค้ด <form enctype="multipart/form-data" > ตรงส่วนอัพโหลดน่ะครับ...
Date :
2009-05-14 02:05:47
By :
bor231
ที่ผมเขียนให้นั้นเป็นโค้ดในส่วนที่ของการแสดงผลนะครับ โดยจะดึงข้อมูลจากฐานข้อมูลมา
แล้วแสดงในตารางแบบ 3 คอลัมแล้วขึ้นแถวไหม่ น่าจะ่ใช่แบบนี้ใช่ใหมครับผมเข้าใจคำถามถูกมะ
Date :
2009-05-14 03:20:33
By :
melodyApinan
ช่วยดูหน่อยสิคับ ว่าผิดตรงไหนอ่ะ มีรูปใน table แล้วนะคับ ชื่อ team แต่ทำไมมันไม่โชว์ภาพไม่รู้อ่ะ
ขึ้น error ดังนี้คับ
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\test\showpic.php on line 11
<?php
$host="localhost";
$username="root";
$password="password";
$dbname="test";
$tb="team";
$sql="select images from team ";
mysql_query("set names tis620");
$result=mysql_query($sql);
$row=mysql_fetch_array($result);
echo "<td><img src='$row[images]' border=0 width=200 height=200 ></td>";
?>
Date :
2009-05-14 13:23:07
By :
backship
ยังไม่ได้ connect database เลย
Date :
2009-05-14 13:27:07
By :
plakrim
ขอบคุณ คุณ nu และคุณ PlaKriM มากคับ
ผมลองใส่ connect database แล้วคับผม ไม่มี error แล้ว แต่มันก็ยังไม่โชว์ภาพอ่ะคับ เป็นหน้าว่างๆมีกากบาทตรงมุมซ้ายบนรูปอ่ะคับ ผมจนปัญญาแล้วอ่ะคับบ
Date :
2009-05-14 13:53:48
By :
backship
ระบุpathผิดอะป่าว ลองดูให้ดีซิ
Date :
2009-05-14 15:09:48
By :
nui_dinga
path ตรงไหนอ่ะคับ ผมว่าถูกแล้วนะ
Date :
2009-05-14 16:55:20
By :
backship
ความต้องการคือ เวลาอัพภาพก็จะโชว์ตามจำนวนภาพที่อยุ่ใน table อ่ะคับ คือเพิ่มภาพขึ้นเรื่อยๆคับ
Date :
2009-05-14 17:13:28
By :
backship
แล้วรูปเราที่อัพขึ้นไปนั้นเซฟในโพลเดอร์ไหนหรอครับ
ถ้าเก็บอยู่ www/upimg/ ผมสมมุตินะ
ก็ลองคลิกขวาแล้วดู Properties ที่รูปดูว่ามันดึงจาก
http://localhost/upimg/[imgname] ถ้าไม่ใช่แบบนี้ก็ดึงผิดพาทธ์
ลอง แสดงค่าที่ดึงมาจากฐานข้อมูลดูก่อนว่าถูกรึป่าวโดยแทรกไปก่อนที่จะแสดงในตาราง
echo $row[0];
แล้วดูผลลัพธ์ดูว่าชื่อแระที่อยู่ไฟล์รูปเราถูกต้องไหม
อ่ออยากเห็นโค้ดทั้งหมดหนอ่ยอะ
Date :
2009-05-14 18:14:09
By :
melodyApinan
ถ้าให้ echo $row[1] ได้ไหมคับ เพราะ table ที่เก็บรูปของผมมีฟิลที่ชื่อว่า images อยู่เร็คคอร์ดที่ 2 อ่ะคับ ผมไม่เคยลอง echo "http://localhost/upimg/[imgname] " แบบนี้มาก่อนเลย ส่วนโฟล์เดอร์อัพโหลดผมอยู่พาทตามนี้คับ
www/test/uppic
ปล. โค้ดผมจะส่งให้พรุ่งนี้นะคับ พอดีโค้ดอยู่ที่ทำงานคับ ตอนนี้ผมอยู่บ้าน...แหะแหะ
Date :
2009-05-14 21:38:11
By :
backship
Code (PHP)
<?php
//ถ้าไฟล์ที่รัน อยู่ใน www
echo "<td><img src=\"test/uppic/" . $row[images] . "\" border=0 width=200 height=200 ></td>";
//ถ้าไฟล์ที่รัน อยู่ใน www/test
echo "<td><img src=\"uppic/" . $row[images] . "\" border=0 width=200 height=200 ></td>";
?>
Date :
2009-05-14 21:42:24
By :
plakrim
ขอบคุณคุณ PlaKrim มากนะคับ พรุ่งนี้จะลองเอาไปใช้นะคับ
ปล. ผมเรียนจบโปรแกรมเมอร์แต่อยากรื้อฟื้นเรื่องเขียนโปรแกรมอ่ะคับ ต้องไปดูโค้ดที่ไหนเหรอคับ ตอนนี้เลยทำงานเป็นแค่ it support เอง เพื่อนๆพี่ในบอร์ดช่วยแนะนำด้วยคับ แล้วแต่ละคนจบสาขาไหนกันบ้างคับ จบด้านนี้โดยตรงหรือด้านอื่นคับ
Date :
2009-05-14 21:54:59
By :
backship
นี่โค้ดโชว์รูปนะคับ ไม่รู้ผิดตรงไหน ทำตามทีคุณ PlakriM บอกแล้ว
ลืมบอกไปคับ ไฟล์โชว์รูปกับเพิ่มรูป มันอยู่ใน folder www/test/admin คับ ส่วนโฟล์เดอร์ที่เก็บรูปมันอยุ่ใน www/test/uppic
<?php
$host="localhost";
$username="root";
$password="password";
$dbname="test";
$tb="team";
mysql_connect( $host,$username,$password) or die ("Can't Connect Database ");
mysql_select_db($dbname) or die("Can't Select Dadabase");
$sql="select * from team ";
mysql_query("set names tis620");
$result=mysql_query($sql);
$row=mysql_fetch_array($result);
echo "<td><img src=\"admin/" . $row[images] . "\" border=0 width=200 height=200 ></td>";
?>
Date :
2009-05-15 11:57:23
By :
backship
ถ้าไฟล์โชวรูปอยู่ที่ www/test/admin
ก็ต้องดึงแบบนี้ครับ ../uppic/ชื่อรูป
Code (PHP)
<?php
echo "<td><img src=\"../uppic/" . $row[images] . "\" border=0 width=200 height=200 ></td>";
?>
Date :
2009-05-15 14:56:36
By :
melodyApinan
พี่จบแล้วแต่ผมยังไม่จบเลย เรียนปีสามอยู่เลยเหอะๆๆ ว่าจะย้ายไปเรียนที่ใหม่สาขาใหม่แล้วด้วยซ้ำ
จะเรียนปีหนึ่งใหม่ซะงั้น อิอิ
Date :
2009-05-15 14:59:02
By :
melodyApinan
จะย้ายทำไมครับ เอาให้มันจบ แล้วค่อยไปเอาอีกใบก็ได้ เสียดายสามปี เง้ออออ..
Date :
2009-05-15 15:06:46
By :
plakrim
ผมรู้ปัญหาแล้วคับว่าทำไมรูปไม่ขึ้น พาทถูกแล้ว แต่ผมไปดูในtable มา รูปที่อัพมันไม่เป็นชื่อตามไฟล์รูปที่อัพคับ อย่างเช่น ในฟิลรูปภาพมันจะเป็นแบบนี้คับ ../uppic/ มันจะไม่มีชื่อไฟล์ที่อัพมาด้วยอ่ะคับ นี่ไฟล์อัพนะคับ
ปล. ผมย้ายไฟล์อัพกับไฟล์โชว์รูปมันไว้ที่นี่แล้ว www/test/..
Date :
2009-05-15 15:11:21
By :
backship
Load balance : Server 04