|
|
|
ตรวจสอบชื่อไฟล์ซ้ำก่อน insert ข้อมูล ไม่ทราบว่าต้องวาง code ไว้ตำแหน่งไหนครับ |
|
|
|
|
|
|
|
ผมจะแทรก code ตรวจสอบไฟล์ซ้ำก่อน insert ได้ที่บรรทัดไหนหรือครับ ขอบคุณครับ
Code (PHP)
<?php
$objConnect = mysql_connect("localhost","root","root") or die ("Error Connect");
$objDB = mysql_select_db("music");
mysql_query("SET NAMES TIS620");
for($i=1; $i<=$_POST["hdnLine"]; $i++) {
if($_FILES["songUpload$i"]["name"] != "") {
if(move_uploaded_file($_FILES["songUpload$i"]["tmp_name"],"songs/".$_FILES["songUpload$i"]["name"])) {
## Insert Record ##
$strSQL = "INSERT INTO song ";
$strSQL .= "(Files,Song_name,Artist,Date) VALUES ('".$_FILES["songUpload$i"]["name"]."','".$_POST["songName$i"]."','".$_POST["artistName$i"]."','".date("Y-m-d")."')";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
}
}
}
echo "Upload Complete!<br> <a href='javascript:window.close()'>Close Window</a> ";
mysql_close($objConnect);
?>
Tag : PHP, MySQL, Ms SQL Server 2005, Ms SQL Server 2008, Ms SQL Server 2012
|
|
|
|
|
|
Date :
2012-12-01 19:26:29 |
By :
backship |
View :
3654 |
Reply :
17 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แบบนี้ถูกไหมครับ ตัวแปร $_POST['songName$i'] รับค่ามาจาก form ครับ จะให้เช็คจาก db ว่าชื่อเพลงซ้ำ ไม่ต้อง insert เข้า db และไม่ต้อง upload file ลงใน folder
Code (PHP)
<?php
$objConnect = mysql_connect("localhost","root","root") or die ("Error Connect");
$objDB = mysql_select_db("music");
mysql_query("SET NAMES TIS620");
$strSQL = "SELECT * FROM song WHERE Song_name = '".$_POST['songName$i']."'";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$objResult = mysql_fetch_array($objQuery);
if($objResult) {
echo "<script>alert('เพลงนี้มีอยู่ในระบบแล้วครับ')</script>";
echo "<script>history.back()</script>";
}else{
## Insert Record ##
$strSQL = "INSERT INTO song ";
$strSQL .= "(Files,Song_name,Artist,Date) VALUES ('".$_FILES["songUpload$i"]["name"]."','".$_POST["songName$i"]."','".$_POST["artistName$i"]."','".date("Y-m-d")."')";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
for($i=1; $i<=$_POST["hdnLine"]; $i++) {
if($_FILES["songUpload$i"]["name"] != "") {
if(move_uploaded_file($_FILES["songUpload$i"]["tmp_name"],"songs/".$_FILES["songUpload$i"]["name"])) {
}
}
}
}
echo "Upload Complete!<br> <a href='javascript:window.close()'>Close Window</a> ";
mysql_close($objConnect);
?>
|
|
|
|
|
Date :
2012-12-03 11:57:24 |
By :
backship |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองทำแบบด้านบนแล้ว กลายเป็นว่ามันแจ้งว่าไฟล์ซ้ำตลอดเลยครับ รบกวนตรวจสอบให้ด้วยครับ ขอบคุณครับ
|
|
|
|
|
Date :
2012-12-03 14:23:59 |
By :
backship |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
รบกวนด้วยครับ ขอบคุณครับ
|
|
|
|
|
Date :
2012-12-03 15:48:19 |
By :
backship |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองแบบนี้แล้วมันก็ insert ได้ทุกครั้งครับ ไม่เห็นเช็คว่ามันซ้ำกับใน db เลย งงแล้ว
head]Code (PHP)[/head]
<?php
$objConnect = mysql_connect("localhost","root","root") or die ("Error Connect");
$objDB = mysql_select_db("music");
mysql_query("SET NAMES TIS620");
$strSQL = "SELECT * FROM song WHERE Song_name = '".trim($_POST['songName'])."'";
$objQuery= mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$objResult = mysql_fetch_array($objQuery);
for($i=1; $i<=$_POST["hdnLine"]; $i++) {
if($objResult) {
echo "<script>alert('เพลงนี้มีอยู่ในระบบแล้วครับ')</script>";
echo "<script>history.back()</script>";
}elseif($_FILES["songUpload$i"]["name"] != "") {
move_uploaded_file($_FILES["songUpload$i"]["tmp_name"],"songs/".$_FILES["songUpload$i"]["name"]);
## Insert Record ##
$strSQL = "INSERT INTO song ";
$strSQL .= "(Files,Song_name,Artist,Date) VALUES ('".$_FILES["songUpload$i"]["name"]."','".$_POST["songName$i"]."','".$_POST["artistName$i"]."','".date("Y-m-d")."')";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
}
}
echo "Upload Complete!<br> <a href='javascript:window.close()'>Close Window</a> ";
mysql_close($objConnect);
?>
|
|
|
|
|
Date :
2012-12-03 17:48:31 |
By :
backship |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มั่วๆ
Code (PHP)
<?php
$objConnect = mysql_connect("localhost","root","root") or die ("Error Connect");
$objDB = mysql_select_db("music");
mysql_query("SET NAMES TIS620");
$strSQL = "SELECT * FROM song WHERE Song_name = '".trim($_POST['songName'])."'";
$objQuery= mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$numrows= mysql_num_rows($objQuery);
for($i=1; $i<=$_POST["hdnLine"]; $i++) {
if($numrows>0) {
echo "<script>alert('เพลงนี้มีอยู่ในระบบแล้วครับ')</script>";
echo "<script>history.back()</script>";
}elseif($_FILES["songUpload$i"]["name"] != "") {
move_uploaded_file($_FILES["songUpload$i"]["tmp_name"],"songs/".$_FILES["songUpload$i"]["name"]);
## Insert Record ##
$strSQL = "INSERT INTO song ";
$strSQL .= "(Files,Song_name,Artist,Date) VALUES ('".$_FILES["songUpload$i"]["name"]."','".$_POST["songName$i"]."','".$_POST["artistName$i"]."','".date("Y-m-d")."')";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
}
}
echo "Upload Complete!<br> <a href='javascript:window.close()'>Close Window</a> ";
mysql_close($objConnect);
?>
|
|
|
|
|
Date :
2012-12-03 20:54:57 |
By :
compiak |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองทำตามที่ คุณเปี๊ยก บอกแล้วมันก็ insert record ซ้ำได้อ่ะคับ ผมงงไปหมดแล้ว
|
|
|
|
|
Date :
2012-12-04 09:28:54 |
By :
backship |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อันนี้มันเป็นแบบ insert array จะเอาแบบไหนครับถ้าเกิดไฟล์ซ้ำให้หยุดวนลูปหรือข้ามไฟล์ที่ซ้ำแล้วไปทำลูปต่อไป
|
|
|
|
|
Date :
2012-12-04 09:44:35 |
By :
GhostLocal |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าเกิดซ้ำก็ให้ exit(); ออกจาก loop เ้ลยครับ
|
|
|
|
|
Date :
2012-12-04 10:23:33 |
By :
backship |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?php
$objConnect = mysql_connect("localhost","root","root") or die ("Error Connect");
$objDB = mysql_select_db("music");
mysql_query("SET NAMES TIS620");
for($i=0; $i<=$_POST["hdnLine"]; $i++) {
if($_POST['songName$i'] !=""){
$strSQL = "SELECT * FROM song WHERE Song_name = '".trim($_POST['songName$i'])."'";
$objQuery= mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$objResult = mysql_fetch_array($objQuery);
if($objResult){
echo "<script>alert('เพลงนี้มีอยู่ในระบบแล้วครับ')</script>";
echo "<script>history.back()</script>";
exit();
}
if($_FILES["songUpload$i"]["name"] != ""){
move_uploaded_file($_FILES["songUpload$i"]["tmp_name"],"songs/".$_FILES["songUpload$i"]["name"]);
## Insert Record ##
$strSQL = "INSERT INTO song ";
$strSQL .= "(Files,Song_name,Artist,Date) VALUES ('".$_FILES["songUpload$i"]["name"]."','".$_POST["songName$i"]."','".$_POST["artistName$i"]."','".date("Y-m-d")."')";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
}else{
$strSQL = "INSERT INTO song ";
$strSQL .= "(Song_name,Artist,Date) VALUES ('".$_POST["songName$i"]."','".$_POST["artistName$i"]."','".date("Y-m-d")."')";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
}
}
}
echo "Upload Complete!<br> <a href='javascript:window.close()'>Close Window</a> ";
mysql_close($objConnect);
?>
น่าจะประมาณนี้น่ะครับ ลองทดสอบดูน่ะครับ
|
|
|
|
|
Date :
2012-12-04 11:25:21 |
By :
GhostLocal |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองทำแบบที่ K.Shadowless บอกแล้ว กลายเป็นว่า insert ได้ record เดียว แล้วหลังจากนั้น insert ต่อไม่ได้ครับ(ทดสอบในกรณีเพิ่มไฟล์ใหม่ที่ไม่ซ้ำกันและซ้ำกันด้วย)
|
|
|
|
|
Date :
2012-12-04 11:51:05 |
By :
backship |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอโค้ตหน้า form หน่อยครับ จะเช็คให้
|
|
|
|
|
Date :
2012-12-04 14:23:36 |
By :
GhostLocal |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากครับ K.Shadowless โค้ดครับ
Code (PHP)
<html>
<title>Upload Form</title>
<script language="javascript" type="text/javascript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
//-->
</script>
</head>
<body>
<form name="frm_upload" method="post" action="upload_song.php" enctype="multipart/form-data">
<hr />
Select Line :
<select name="menu1" onchange="MM_jumpMenu('parent',this,0)">
<?php
for($i=1; $i<=50; $i++) {
if($_GET["Line"] ==$i) {
$sel = "selected";
}else{
$sel ="";
}
?>
<option value="<?=$_SERVER['PHP_SELF'];?>?Line=<?=$i;?>" <?=$sel;?>><?=$i;?></option>
<?php
}
?>
</select>
<table border="1">
<tr>
<th>ไฟล์</th>
<th>ชื่อเพลง</th>
<th>ชื่อศิลปิน</th>
</tr>
<?php
$line = $_GET["Line"];
if($line == 0) {$line =1;}
for($i=1; $i<=$line; $i++) {
?>
<tr>
<!--อัพโหลดไฟล์-->
<td>
<input name="songUpload<?=$i?>" type="file" /><br />
</td>
<td>
<!--ชื่อเพลง -->
<input name="songName<?=$i?>" type="text" /><br />
</td>
<td>
<!--ชื่อศิลปิน-->
<input name="artistName<?=$i?>" type="text" /><br />
</td>
</tr>
<?php
}
?>
</table>
<hr />
<input name="sumit" type="image" src="images/submit.png" style="border-color:#06F; border:double;"/>
<input name ="hdnLine" type="hidden" value="<?=$i?>" />
</form>
</table>
</body>
</html>
|
ประวัติการแก้ไข 2012-12-04 14:41:44
|
|
|
|
Date :
2012-12-04 14:35:27 |
By :
backship |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
รออยู่นะครับ
|
|
|
|
|
Date :
2012-12-05 08:30:20 |
By :
backship |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จะมีวิธีไหนบ้างที่จะ upload files ได้หลายไฟล์โดยที่ไม่ต้องใช้ array บ้างครับ ขอแนวทางก็ได้ครับ
|
|
|
|
|
Date :
2012-12-06 09:25:20 |
By :
backship |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
รบกวนด้วยครับ พอ insert ได้มันก็เพิ่ม record ให้อัตโนมัติเอง เช่น insert เข้าไปมันจะเพิ่ม record หน้าและหลังเองครับ เช่น
ิrecord 1 = blank
record 2 = data <= ข้อมูลที่ insert มา
record 3 = blank
|
|
|
|
|
Date :
2012-12-12 09:17:49 |
By :
backship |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|