2012-07-17 1 views
0

PHP 페이지에서 작동하는 mysql 데이터의 인라인 편집을 시도하고 있습니다. 예제 스크립트를 사용하고 있습니다 : hereInstantEdit 2.0 JS를 사용하여 mysql 데이터의 인라인 편집 JS

내 모든 코드는이 질문 아래에 표시됩니다.

ajaxtest.php를 탐색 할 때 테이블 데이터가 올바르게 표시됩니다. 테이블 데이터를 클릭하면 편집 할 수 있습니다. 그러나 데이터를 저장하기 위해 클릭하면 '거짓'으로 바뀝니다.

왜 이런 현상이 발생합니까? 그것은 update.php의 헤더와 관련이 있습니까? 내가 다음에 따라 테이블을 만든

:

CREATE TABLE IF NOT EXISTS `tblInLineEdit` (
    `id` int(6) NOT NULL AUTO_INCREMENT, 
    `name` varchar(50) COLLATE utf8_unicode_ci NOT NULL, 
    `descr` varchar(50) COLLATE utf8_unicode_ci NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ; 

-- 
-- Dumping data for table `tblInLineEdit` 
-- 

INSERT INTO `tblInLineEdit` (`id`, `name`, `descr`) VALUES 
(1, 'carl', 'developer'), 
(2, 'angela', 'administration'); 

나는 다음 두 페이지, ajaxtest.php 및 update.php를 만든

다음은 MySQL의 테이블에 대한 내 코드입니다. false를 반환 이유에

<? 
header("Expires: Mon, 26 Jul 2014 05:00:00 GMT"); // Date in the past 
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // always modified 
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0"); // HTTP/1.1 
header("Cache-Control: post-check=0, pre-check=0", false); 
header("Pragma: no-cache"); // HTTP/1.0 

$db_user = "user"; 
$db_pass = "password"; // password here 
$db = "database"; 
$host = "localhost"; 
$link = mysql_connect($host,$db_user,$db_pass) or die("Database connection broken"); 
mysql_select_db($db,$link) or die("Database connection unavailable – ".mysql_error()); 
$content = $_GET['content']; 
list($fieldname, $id) = explode("-|||-",$_GET['fieldname']); 
mysql_query("UPDATE tblInLineEdit SET $fieldname = ‘$content’ WHERE id = $id ") or die("blah failure – ".mysql_error()); 
$result = mysql_query("SELECT * FROM tblInLineEdit WHERE id = $id"); 
$row = mysql_fetch_assoc($result); 
echo $row["{$fieldname}"]; 
?> 

update.php

<? 
$db_user = "username"; 
$db_pass = "password"; // password here 
$db = "database"; 
$host = "localhost"; 
$link = mysql_connect($host,$db_user,$db_pass) or die("Database connection broken"); 
mysql_select_db($db,$link) or die("Database connection unavailable – ".mysql_error()); 
$result = mysql_query("SELECT * FROM tblInLineEdit"); 
//$row = mysql_fetch_assoc($result); 
?> 
<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript" src="instantedit.js"></script> 
<table> 
<? while ($row = mysql_fetch_assoc($result)) { ?> 
<tr> 
<td><span id="name-|||-<?php echo $row['id']; ?>" class="editText"><? echo $row['name']; ?></span></td> 
<td><span id="descr-|||-<?php echo $row['id']; ?>" class="editText"><? echo $row['descr']; ?></span></td> 
</tr> 
<?php } ?> 
</table> 

ajaxtest.php 어떤 아이디어 : 코드는 아래와 같습니다?

미리 도움을 주셔서 감사합니다.

또는 누군가가 쉽게 impliment하기 쉬운 MySQL 용 경량 인라인 편집기를 추천 할 수 있습니까?

언제나 감사드립니다.

답변

2

클라이언트 측 스크립트를 디버깅 해보십시오. Firebug 또는 Chrome의 개발자 도구를 사용하여 생성 된 버그를 확인하십시오. 귀하의 링크로 인해 브라우저의 페이지로드시 다음과 같은 오류가 발생합니다.

페이지가 존재하지 않는 것으로 보입니다.

나는 무엇을 성취하려고하는지 잘 모르겠습니다. 그러나 이것이 실제 프로젝트의 초기 단계라면, 좀 더 연구를 고려하는 것이 좋습니다. 서비스 지향 아키텍처에 대한 연구가 도움이 될 것입니다. Zend Framework의 JSON 서버를 사용하는 것이 가장 좋은 방법 중 하나입니다. 저 자신은 프로젝트의 규모가 커지면 유용 할 수있는 프레임 워크를 작성했습니다. Pomegranate이라고 불리우는 데, 아마도 이것을보고 싶을 것입니다.

+0

안녕하세요 Mehran, 의견에 대해 많은 감사 드리며 시간을내어 감사드립니다. 나는 링크 당 예제를 작동 시키려고 노력 중이다 http://jointtech.com/tech-stuff/ajax-inline-editor-with-php-and-mysql/ 나는 체크하고 update.php는 작동하지 않는다. . jquery.js 문제는 수정했지만 같은 결과가 나타납니다. 작동 방법에 대한 조언이 있으십니까? – Smudger

+0

안녕하세요 @ 메흐 란, 당신의 석류 링크를 따라 가서 모양을 가지고 봤지만 사이트에 예제가 작동하지 않으며 프레임 워크를 다운로드 할 수 없습니다. 여전히 지원되고 사용 중입니까? 어쩌면 당신은 내가 건너 오지 않았던 다른 링크가 있을까요? 고마워, – Smudger

+0

죄송합니다. 당신이 정확히 무엇이 문제인지를 알기 위해 준 링크를 따라갈 시간이 없습니다. 하지만 여전히 404 Not Found 문제로 인해 브라우저에서 업데이트 페이지를 열 수 없습니다. 페이지에 도달 할 수 없음을 의미합니다.브라우저의 새 탭에서 열어 간단히 테스트 할 수 있습니다. – Mehran