|
|
|
สั่ง Update ชื่อไฟล์ลง database ไม่ได้ แต่ไม่มีขึ้น error ช่วยดูทีครับ |
|
|
|
|
|
|
|
ที่คุณทำ ลูปออกมาจนหมดที่มีข้อมูลแล้ว มา +1
สมมติ id ตั้งแต่ 1-5
id = 5
$id_max = 5+1; // ซึ่งจะเป็น 6
ตอนอัฟเดทคุณอัฟเดทที่ id=6 ซึ่งมันไม่มีข้อมูล...
ขอดู Error หน่อยครับ...
|
|
|
|
|
Date :
2010-09-09 20:22:34 |
By :
t-monroe |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คือมันเป็นแบบนี้ครับ ถ้าเขียนแบบนี้
Code (PHP)
if($ext == "jpg" or $ext == "jpeg" or $ext == "png" or $ext == "gif"){
$sql = "select max(id) from news";
$result = mysql_db_query($dbname,$sql);
$r = mysql_fetch_array($result);
$id_max = $r[0];
$filename = $id_max.".".$ext;
copy($pic,"../news/img_1/news-".$filename);
$sql = "update news set img1='$filename' where id='$id_max' ";
mysql_db_query($dbname,$sql)or die (mysql_error());
}
เวลาอัพเดท และสั่ง Copy ไฟล์ค่า ID มันจะน้อยกว่า 1
เช่น เมื่อผมเพิ่ม ID ที่ 6 ไฟล์ที่ Copy จะตั้งชื่อว่า 5,jpg และที่ฐานข้อมูลจะ update เป็น 5.jpg และอยู่ช่อง ID ที่ 5 ทั้งๆที่ผม add ข้อมูลลง ID ที่ 6 แท้ๆ ผมเลยงงๆ T_T
รบกวนด้วยครับ
แต่ถ้าเขียนแบบแรก มันตั้งชื่อไฟล์ที ่Copy ถูกแล้ว แต่ในฐานข้อมูลยังเหมือนเดิมครับ คือ ชื่อ 5.jpg อยู่ในช่อง ID 5
|
ประวัติการแก้ไข 2010-09-09 20:38:30
|
|
|
|
Date :
2010-09-09 20:36:48 |
By :
sittipat |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แบบนี้มันจะ Update ลงขอมูลตัวจาก ID ล่าสุด...ครับ
คือ ถ้าคุณ ไม่มี ID=6 อยู่แล้วมันก็จะไม่ลง ID=6 ให้คุณ มันก็จะ Update ID=5 ซึ่งเป็นตัวล่าสุด
คือคุณต้อง มี ID=6 ก่อนครับ
ถ้าตามแบบตัวที่คุณเขียนนี้ คุณแค่
$filename = ($id_max-1).".".$ext;
copy($pic,"../news/img_1/news-".$filename); // ก็จะได้ ID=5, img1=4.jpg ก็ได้ครับ
|
ประวัติการแก้ไข 2010-09-09 22:16:21
|
|
|
|
Date :
2010-09-09 21:30:51 |
By :
t-monroe |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอนนี้ถ้าใช้คำสั่งนี้ copy ชื่อไฟล์ก็จะตรงกับค่า ID แล้วล่ะครับ
Code (PHP)
if($ext == "jpg" or $ext == "jpeg" or $ext == "png" or $ext == "gif"){
$sql = "select max(id) as id from news";
$result = mysql_db_query($dbname,$sql);
while($r=mysql_fetch_array($result)){
$id_max = $r[id];
$id_max=$id_max+1;
}
$filename = $id_max.".".$ext;
copy($pic,"../news/img_1/news-".$filename);
$sql = "update news set img1 = '$filename' where id='$id_max'";
mysql_db_query($dbname,$sql);
}
แต่ตอนนี้คือมันอัพเดทข้อมูลไม่ได้อะครับ ต้องแก้ตรง
Code (PHP)
$sql = "update news set img1 = '$filename' where id='$id_max'";
mysql_db_query($dbname,$sql);
ยังไงครับ
|
ประวัติการแก้ไข 2010-09-09 22:11:15
|
|
|
|
Date :
2010-09-09 21:39:48 |
By :
sittipat |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ก็คงอย่างที่ผมบอกว่ามันไม่มี id ที่คุณ Update ลองแบบนี้นะครับ...
Code (PHP)
<?
if($ext == "jpg" or $ext == "jpeg" or $ext == "png" or $ext == "gif"){
$sql = "select max(id) from news";
$result = mysql_db_query($dbname,$sql);
$r = mysql_fetch_array($result);
$id_max = $r[0];
$filename = ($id_max-1).".".$ext;
copy($pic,"../news/img_1/news-".$filename);
$sql = "update news set img1='$filename' where id='$id_max' ";
mysql_db_query($dbname,$sql)or die (mysql_error());
}
?>
|
|
|
|
|
Date :
2010-09-09 22:14:24 |
By :
t-monroe |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ok ครับ สรุปว่าผมโง่เอง โง่แบบจริงจัง
Code (PHP)
<? include("../db/connect1.php");
$headline = $_POST["headline"];
$title = $_POST["title"];
$detail = $_POST["detail"];
$date_post = date("d M Y");
$pic = $_FILES['pic']['tmp_name'];
$pic_name = $_FILES['pic']['name'];
$pic_size = $_FILES['pic']['size'];
$pic_type = $_FILES['pic']['type'];
$pic1 = $_FILES['pic1']['tmp_name'];
$pic1_name = $_FILES['pic1']['name'];
$pic1_size = $_FILES['pic1']['size'];
$pic1_type = $_FILES['pic1']['type'];
$pic2 = $_FILES['pic2']['tmp_name'];
$pic2_name = $_FILES['pic2']['name'];
$pic2_size = $_FILES['pic2']['size'];
$pic2_type = $_FILES['pic2']['type'];
$pic3 = $_FILES['pic3']['tmp_name'];
$pic3_name = $_FILES['pic3']['name'];
$pic3_size = $_FILES['pic3']['size'];
$pic3_type = $_FILES['pic3']['type'];
$pic4 = $_FILES['pic4']['tmp_name'];
$pic4_name = $_FILES['pic4']['name'];
$pic4_size = $_FILES['pic4']['size'];
$pic4_type = $_FILES['pic4']['type'];
$pdf = $_FILES['pdf']['tmp_name'];
$pdf_name = $_FILES['pdf']['name'];
$pdf_size = $_FILES['pdf']['size'];
$pdf_type = $_FILES['pdf']['type'];
$sql = "insert into news (headline,title,detail,date_post) values('$headline','$title','$detail','$date_post')";
$result = mysql_db_query($dbname,$sql) or die(mysql_error());
$pdf_file = strtolower(end(explode('.',$pdf_name)));
if($pdf_file == "pdf"){
$sql_pdf = "select max(id) from news";
$result_pdf = mysql_db_query($dbname,$sql_pdf);
$r_pdf = mysql_fetch_array($result_pdf);
$id_max_pdf = $r_pdf[0];
//echo $id_max."<br>";
$filename_pdf = $id_max_pdf.".".$pdf_file;
copy($pdf,"../news/pdf/pdf-".$filename_pdf);
$sql_pdf = "update news set pdf = '$filename_pdf' where id='$id_max_pdf' ";
mysql_db_query($dbname,$sql_pdf);
}
$ext = strtolower(end(explode('.',$pic_name)));
if($ext == "jpg" or $ext == "jpeg" or $ext == "png" or $ext == "gif"){
$sql = "select max(id) as id from news";
$result = mysql_db_query($dbname,$sql);
$r = mysql_fetch_array($result);
$id_max = $r[0];
$filename = $id_max.".".$ext;
copy($pic,"../news/img_1/news-".$filename);
/* $sql = "select max(id) as id from news";
$result = mysql_db_query($dbname,$sql);
$r = mysql_fetch_array($result);
$id_max = $r['id']; */
$sql = "update news set img1 = '$filename' where id='$id_max' ";
mysql_db_query($dbname,$sql);
}
$ext1 = strtolower(end(explode('.',$pic1_name)));
if($ext1 == "jpg" or $ext1 == "jpeg" or $ext1 == "png" or $ext1 == "gif"){
$sql1 = "select max(id) from news";
$result1 = mysql_db_query($dbname,$sql1);
$r1 = mysql_fetch_array($result1);
$id_max1 = $r1[0];
$filename1 = $id_max1.".".$ext1;
copy($pic1,"../news/img_2/news-".$filename1);
$sql1 = "update news set img2 = '$filename1' where id='$id_max1' ";
mysql_db_query($dbname,$sql1);
}
$ext2 = strtolower(end(explode('.',$pic2_name)));
if($ext2 == "jpg" or $ext2 == "jpeg" or $ext2 == "png" or $ext2 == "gif"){
$sql2 = "select max(id) from news";
$result2 = mysql_db_query($dbname,$sql2);
$r2 = mysql_fetch_array($result2);
$id_max2 = $r2[0];
$filename2 = $id_max2.".".$ext2;
copy($pic2,"../news/img_3/news-".$filename2);
$sql2 = "update news set img3 = '$filename2' where id='$id_max2' ";
mysql_db_query($dbname,$sql2);
}
$ext3 = strtolower(end(explode('.',$pic3_name)));
if($ext3 == "jpg" or $ext3 == "jpeg" or $ext3 == "png" or $ext3 == "gif"){
$sql3 = "select max(id) from news";
$result3 = mysql_db_query($dbname,$sql3);
$r3 = mysql_fetch_array($result3);
$id_max3 = $r3[0];
$filename3 = $id_max3.".".$ext3;
copy($pic3,"../news/img_4/news-".$filename3);
$sql3 = "update news set img4 = '$filename3' where id='$id_max3' ";
mysql_db_query($dbname,$sql3);
}
$ext4 = strtolower(end(explode('.',$pic4_name)));
if($ext4 == "jpg" or $ext4 == "jpeg" or $ext4 == "png" or $ext4 == "gif"){
$sql4 = "select max(id) from news";
$result4 = mysql_db_query($dbname,$sql4);
$r4 = mysql_fetch_array($result4);
$id_max4 = $r4[0];
$filename4 = $id_max4.".".$ext4;
copy($pic4,"../news/img_5/news-".$filename4);
$sql4 = "update news set img5 = '$filename4' where id='$id_max4' ";
mysql_db_query($dbname,$sql4);
}
if($result) {
echo "<div align='center' style='margin-top:50px;'><img src='images/loading3.gif'>
<div style='font-size:18px; color:#fff; margin-top:7px;'><b>Add Complete</b></div>
<div style='font-weight:bold; font-size:11px; margin-top:2px;'><b>Wait Please...</b></div></div>";
echo "<meta http-equiv='refresh' content='2;url=manage_news.php'>";
}
else{
echo "<div align='center' style='margin-top:50px;'>
<div style='font-size:18px; color:#fff; margin-top:7px;'><b>Add Not Complete !!</b></div>
<div style='font-weight:bold; font-size:11px; margin-top:2px;'><b>Wait Please...</b></div></div>";
echo "<meta http-equiv='refresh' content='2;url=add_news.php'>";
}
mysql_close();
?>
ที่มีปัญหาเพราะผมเอา
Code (PHP)
$sql = "insert into news (headline,title,detail,date_post) values('$headline','$title','$detail','$date_post')";
$result = mysql_db_query($dbname,$sql) or die(mysql_error());
มาไว้ล่างสุดอะครับ >_< ผมก็งงว่าทำไมมันเหมือนหา ID ที่จะ Add ไม่เจออย่างเพราะดันเอาตัว Update ID มาไว้ล่างสุดที่ อย่างที่คุณ T-MONROE แนะนำเบื้องต้น ยังไงต้องขอขอบคุณมากครับ ปกติผมไม่ได้เขียนโปรแกรมเลยโง่ๆนิดนึง T_T ดูจาก Code ก็รู้ครับ ยาวเป็นพรืด
|
|
|
|
|
Date :
2010-09-09 22:28:57 |
By :
sittipat |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วใช่ไหมครับ... ดีใจด้วยครับ
อย่าว่าตัวเองเลยครับ มันอยู่ที่ความคุ้นเคยซะมากกว่า...
พอเราทำได้ระดับหนึ่งแล้วมันก็อยากทำที่มันยากกว่า(ธรรมชาติของมนุษย์ครับ)...
|
|
|
|
|
Date :
2010-09-09 22:40:28 |
By :
t-monroe |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|