|
|
|
ขอสอบถามการเขียนโคดเช็คค่าว่างของการเพิ่มรูป หากมีฟอร์มเพิ่มกับแก้ไขหน้าเดียวกัน รบกวนด้วยค่ะ |
|
|
|
|
|
|
|
Code (PHP)
if( document.getElementById('picture').value == "" && document.getElementById('id ของ img รูป').getAttribute("src") == ""){
alert('กรุณาเลือกรูปภาพ');
document.form.picture.focus();
return false;
}
|
ประวัติการแก้ไข 2014-11-06 08:29:22
|
|
|
|
Date :
2014-11-06 08:28:19 |
By :
gaowteen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองแก้ตามคุณ BIrD แล้วค่ะ ก็ยังฟ้องเหมือนเดิมค่ะ ว่าไม่มีรูป ทั้งที่จริงรูปถูกบันทึกอยู่ใน database ต้องการแก้แค่ชื่อภาพอะค่ะ T^T
|
|
|
|
|
Date :
2014-11-06 10:27:00 |
By :
angeleye |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอดู code หน้า alert หน่อย ครับ
|
|
|
|
|
Date :
2014-11-06 10:39:19 |
By :
gaowteen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมคิดว่าน่าจะทำ hidden ไว้หนึ่งอันครับ เอาไว้แสดงชื่อรูปใน database
แล้วเช็คว่า ถ้า type hidden ว่าง และ type file ว่าง ให้ฟ้อง
ถ้าจะแก้ไขมันก็จะมีรูปอยู่ใน database hidden ก็จะไม่ว่าง มันก็จะไม่ฟ้อง
|
|
|
|
|
Date :
2014-11-06 10:55:05 |
By :
sabaitip |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอโทษค่ะ เมื่อกี้พิมพ์ผิดค่ะ คือถ้าไม่กรอกอะไร ก็แอดได้เลย โดยไม่ฟ้องแจ้งเตือนค่ะ อันนี้หน้า alert กับหน้า add edit ที่รับค่าไปค่ะ
Code (Java)
function submit_banner()
{
if( document.getElementById('picture').value == "" && document.getElementById('id').getAttribute("src") == ""){
alert('กรุณาเลือกรูปภาพ');
document.form.picture.focus();
return false;
}
document.form.submit();
}
---------------------------------------------------------------------------------------
หน้า add- edit ที่กรอกค่ะ
<form name="form" method="post" action="banner_save.php" enctype="multipart/form-data" onSubmit="JavaScript:return submit_banner();">
<div style="width:550px;" class="BodyStyle">
<div class="data_left"><strong>ชื่อแบนเนอร์</strong><span class="RedText"><strong>**</strong></span></div>
<div class="data_right"><input name="name" id="name" type="text" class="twitterStyleTextbox" style="width:250px;" value="<?php echo $r["name"]; ?>" size="50" /></div>
<div class="data_left"><strong>Url Link</strong></div>
<div class="data_right"><input name="url" type="text" class="twitterStyleTextbox" style="width:250px;" value="<?php echo $r["url"]; ?>" size="50" /></div>
<div class="data_left" style="height:100px;"><strong>รูปภาพ</strong></div>
<div class="data_right" style="height:100px;">
<?php if($r["picture"]!=""){;?>
<a href="../picture/<?php echo $r["picture"];?>" target="_blank" class="fancybox fancybox.iframe" >
<img src="../picture/<?php echo $r["picture"];?>" style="width:80px; height:80px;">
</a>
<? }?>
<input type="file" name="picture" id="picture" value="<?php echo $r["picture"]; ?>"></div>
<div><input type="image" name="submit" value="บันทึก" src="../images/admin/button_submit.png"/></div>
</div>
<input type="hidden" name="id" value="<?php echo $r["id"]; ?>" />
</form>
|
|
|
|
|
Date :
2014-11-06 11:10:56 |
By :
angeleye |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใส่ id ให้
<img id="test" src="../picture/<?php echo $r["picture"];?>" style="width:80px; height:80px;">
แล้วเปลี่ยน
if( document.getElementById('picture').value == "" && document.getElementById('test').getAttribute("src") == "../picture/")
|
ประวัติการแก้ไข 2014-11-06 11:15:59 2014-11-06 11:16:30
|
|
|
|
Date :
2014-11-06 11:14:08 |
By :
gaowteen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไปแก้ที่ตัว รับภาพ ว่า ถ้าเป็น edit แล้ว ไม่มีภาพ ก็ไม่ต้อง update ภาพ
ตัวอย่าง
Code (PHP)
if( $_GET['action'] == 'update'){
if(isset($_FILES['fieldname']) && $_FILES['fieldname']['name']>''){
$field_update_picture = " , field_picture = '$filename' ";
}else $field_update_picture = '';
$sql = "update table set other_field = '$other_field' $field_update_picture ";
}else{
// insert new
}
|
ประวัติการแก้ไข 2014-11-06 11:19:37
|
|
|
|
Date :
2014-11-06 11:18:17 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองทำตาม คุณ BIrD แล้วค่ะ ไม่มีภาพก็กดเซฟได้เลย ไม่ขึ้นฟ้องอะไรค่ะ
ก็เลยลองทำตามของคุณ Chaidhanan แล้วค่ะ ให้ไปเช็คค่าว่าง แต่ งง ค่ะ มันขึ้น error Query was empty ค่ะ
ไม่ทราบว่าผิดตรงใหน รบกวนของคำชี้แนะหน่อยค่ะ
Code (PHP)
<?php
ob_start();
include_once "../connect.php";
$name = $_POST["name"];
$url = $_POST["url"];
$id = $_POST["id"];
$pic_tmp = $_FILES["picture"]["tmp_namge"];
$pic_name = $_FILES["picture"]["name"];
//upload
move_uploaded_file($_FILES["picture"]["tmp_name"], "../banner/img/".$_FILES["picture"]["name"]);
//query
if(empty($id)) {
$sql = "INSERT INTO tb_banner(
picture,
name,
url
) VALUES (
'$pic_name',
'$name',
'$url'
)";
} else {
//update
if(isset($_FILES['picture']) && $_FILES['picture']['name']>''){
$sql = "UPDATE tb_banner SET
name = '$name',
url = '$url'
";
if(!empty($_FILES["picture"]["name"])) {
$sql .=",picture = '$pic_name'";
}
$sql .=" WHERE id = $id";
}
}
if(mysql_query($sql)) {
echo"<script language='JavaScript'>";
echo"alert('บันทึกสินค้าเรียบร้อย');";
echo"window.location='admin_page.php?url=banner.php';";
echo"</script>";
} else {
echo mysql_error();
}
include_once "../mysql_close.php";
?>
|
|
|
|
|
Date :
2014-11-06 13:50:28 |
By :
angeleye |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองเอาไปรัน ดูนะครับ
มีรูป $r["picture"] = 'test';
ไม่มีรูป //$r["picture"] = 'test';
แล้วลองดูว่ามันได้หรือป่าว code เดียวกัน ถ้าอันนี้รันได้ปกติแสดงว่า code ที่คุณเขียนมีปัญหา ละ
Code (PHP)
<?php
//$r["picture"] = 'test';
?>
<script>
function submit_banner() {
if (document.getElementById('picture').value == "" && document.getElementById('test').getAttribute("src") == "../picture/") {
id = (document.getElementById('picture').value == "" ) ? 'picture' : 'test';
alert('ไม่มีค่า ID = ' + id)
return false;
}
}
</script>
<form onsubmit="return submit_banner()">
<img id="test" src="../picture/<?php echo $r["picture"]; ?>" style="width:80px; height:80px;">
<input type="file" id="picture">
<input type="submit">
</form>
|
|
|
|
|
Date :
2014-11-06 14:10:23 |
By :
gaowteen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วค่ะ ใช้โคดตามที่คุณ BIrD บอกมาค่ะ ลืมไปว่าเอา <?php if($r["picture"]!=""){;?> ไม่ให้แสดงถ้ามีค่าว่า <img ... > ของภาพเลยไม่ขึ้นมา งงตั้งนาน อิอิ ขอบคุณมากๆๆนะค่ะ @^___^@
|
|
|
|
|
Date :
2014-11-06 14:48:52 |
By :
angeleye |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$pic_tmp = $_FILES["picture"]["tmp_namge"]; สีแดงตัวแปรผิดครับ
ส่วนโค๊ดข้างล่างก็ปรับให้ เล็กน้อย ก็ลองศึกษาดูนะครับ เป็นตัวอย่างหนึ่งเท่านั้นครับ
Code (PHP)
<?php
//ob_start();
// ob_start(); ไม่จำเป็นต้องใช้ก็ได้ครับไฟล์เล็ก ทำงานแปปเดียว response ก็ตามลำดับ ไม่มี แทรกหรือทำก่อนหลังอะไรเลย
include_once "../connect.php";
$name = $_POST["name"];
$url = $_POST["url"];
$id = isset($_POST["id"])? $_POST["id"] : ''; // กรณีที่ไม่ทราบว่าจะมีตัวแปรหรือไม่ ให้ใช้แบบนี้ครับ
$pic_tmp = $_FILES["picture"]["tmp_name"];
$pic_name = $_FILES["picture"]["name"];
//upload
if( $pic_name>''){ // กรณี $pic_name มีการอัพโหลดไฟล์ ให้ move_upload_file
move_uploaded_file( $pic_tmp, "../banner/img/".$pic_name );
}
//query
if( $id=='') { // จากที่แก้โค๊ดข้างบน $id=isset(.... ก็เปรียบเทียบตรงๆ ได้เลย
if($pic_name)
$sql = "INSERT INTO tb_banner( picture, name, url ) VALUES ( '$pic_name', '$name', '$url' )";
else{
//กรณี insert ควรมี การ upload file มาด้วย
echo "File upload is empty !!!"; exit;
}
} else {
// กรณี Edit การ Upload
// ตรวจสอบ $pic_name มีค่าหรือไม่ กำหนดค่าให้ตัวแปร $upload
$upload = $pic_name? " , picture = '$pic_name' " : '';
$sql = "UPDATE tb_banner SET name = '$name', url = '$url' $upload WHERE id = $id";
}
if(mysql_query($sql)) {
echo"<script language='JavaScript'>";
echo"alert('บันทึกสินค้าเรียบร้อย');";
echo"window.location='admin_page.php?url=banner.php';";
echo"</script>";
} else {
echo mysql_error();
}
include_once "../mysql_close.php";
?>
|
ประวัติการแก้ไข 2014-11-06 14:58:34 2014-11-06 15:01:04
|
|
|
|
Date :
2014-11-06 14:56:31 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้า ไม่มีรูปไม่ให้โชว์ใช้ ตัวนี้
!document.getElementById('test')
if (document.getElementById('picture').value == "" && document.getElementById('test').getAttribute("src") == "../picture/")
เปลี่ยนเป็น
if (document.getElementById('picture').value == "" && !document.getElementById('test'))
|
ประวัติการแก้ไข 2014-11-06 15:01:55
|
|
|
|
Date :
2014-11-06 15:00:54 |
By :
gaowteen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณ Chaidhanan กับ BIrD นะคร้าาา เดี๋ยวขอลองดูก่อนนะค่ะ ขอบคุณมากๆๆ ค่ะ @^_^@
|
|
|
|
|
Date :
2014-11-06 16:00:53 |
By :
angeleye |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|