내가하는 일은 양식 데이터가 제출 될 때 마지막으로 삽입 된 데이터를 표시하는 것입니다. 양식은 multipart/form-data입니다. jquery를 사용하여이 폼 데이터를 얻고 있습니다. 여기 에이 잭스 POST.In을 사용하여 PHP 파일에이 데이터를 보내고 있습니다. db 테이블에 데이터를 삽입하고 있습니다 .. 어디에서 삽입 된 데이터의 ID를 얻고 있습니까? 성공했습니다.마지막으로 삽입 된 ID를 사용하여 마지막으로 삽입 된 데이터베이스 내용 표시
<form method="post" enctype="multipart/form-data" name="upload_form" id="data">
<select id="sel">
<option>Select the Project Stream</option>
<option value="1">Computer Science</option>
<option value="2">Mechanical</option>
<option value="3">IT</option>
<option value="4">Web Development</option>
<option value="5">MCA</option>
<option value="6">Civil</option>
</select><br />
<input type="text" id="title" placeholder="Project Title"/><br />
<input type="text" id="vurl" placeholder="If You have any video about project write your video url path here" style="width:435px;"/><br />
<textarea id="prjdesc" name="prjdesc" rows="20" cols="80" style="border-style:groove;box-shadow: 10px 10px 10px 10px #888888;"placeholder="Please describe Your Project"></textarea>
<label for="file">Filename:</label>
<input type="file" name="file" id="file"/><br />
<button>Submit</button>
</form>
내 JS 파일 :
$("form#data").submit(function() {
alert("update");
var sid=$("#sel").val();
alert(sid);
var ttle = $("#title").val();
alert(ttle);
var text = $("#prjdesc").val();
var vurl = $("#vurl").val();
/*var dataString = 'param='+text+'¶m1='+vurl+'¶m2='+ttle+'¶m3='+id;*/
var formData = new FormData($(this)[0]);
formData.append('param',text);
formData.append('param1',vurl);
formData.append('param2',ttle);
formData.append('param3',sid);
$.ajax({
type:'POST',
data:formData,
url:'insert.php',
success:function(id) {
alert(id);
window.location ="another.php?id="+id;
},
cache: false,
contentType: false,
processData: false
});
return false;
});
내가 다른 PHP에 해당 ID를 보내고 Ajax 호출은
나의 양식은 ... 내가 마지막으로 삽입 된 데이터를 표시하고 그 ID를 사용하여 file..where
insert.php :
,210<?php
print_r($_FILES);
$desc = $_POST['param'];
echo $desc;
$video = $_POST['param1'];
echo $video ;
$title = $_POST['param2'];
echo $title;
$tech_id=$_POST['param3'];
echo $tech_id;
$host="localhost";
$username="root";
$password="";
$db_name="geny";
$tbl_name="project_details";
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$allowedExts = array("gif", "jpeg", "jpg", "png");
$extension = end(explode(".", $_FILES["file"]["name"]));
$url_dir = "C:/wamp/www/WebsiteTemplate4/upload/";
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 50000)
&& in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
}
else
{
if (file_exists($url_dir . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],$url_dir. $_FILES["file"]["name"]);
// echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
$tmp = "C:/wamp/www/WebsiteTemplate4/upload/" . $_FILES["file"]["name"];
$sql="INSERT INTO $tbl_name (title, content, img_path, video_url, project_tech_Id) VALUES ('$title','$desc','$tmp','$video','$tech_id')";
if(mysql_query($sql)) {
echo mysql_insert_id();
} else {
echo "Cannot Insert";
}
}
}
}
else
{
echo "Invalid file";
}
?>
another.php :
이<?php
$temp=$_GET['id'];
echo $temp;
$host="localhost";
$username="root";
$password="";
$db_name="geny";
$tbl_name="project_details";
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$query = mysql_query("SELECT content FROM project_details WHERE id=". $temp);
if (!$query)
{
echo 'Could not run query: ' . mysql_error();
exit;
}
$row = mysql_fetch_row($query);
echo "<div id='uprjct' style='background:#336699;'>
<p>$row[0]</p>
</div>";
?>
하지만 난 요소의 배열을 containg insert.php에 반환하고 어떤 ID가 ... 난 그나마 내가 (숫자 인)에만 ID를 원하는 모든 일을 할 수 있습니다. . 는 당신이 insert.php 파일에서 ... 내 코드에 어떤 문제가 있는지
어레이 ([파일] => 배열 ([이름] => dc.jpg [형태] => 이미지/JPEG [tmp_name] => C : \ WAMP \ TMP \ phpA693.tmp [오류] => 0 [크기] => 9656)) 33 쿼리를 실행할 수 없습니다 : SQL 구문에 오류가 있습니다. 올바른 구문이 '[file] => Array ([name] => dc.jpg [type] => image /') 근처에서 사용하도록 MySQL 서버 버전에 해당하는 매뉴얼을 확인하십시오. another.php – user2330772
$ temp는 anthoer.php에 어떤 값을 포함합니까? 그 안에 매우 나쁜 데이터가 있다고 가정합니다 ... – luk2302
위의 내 코멘트는 $ temp의 데이터입니다 ... – user2330772