2013-05-26 4 views
3

좋은 하루 MySQL의에 주제에 대한 언급으로 데이터를 삽입, 내가 PHP를 직접 상태가 1이면 다음 상태를 업데이트 (또는 승인)하는 아약스 기능을 만드는거야, 그것은 것입니다 2 테이블 (tblcompany 및 tblinternapplication)을 비교하고 회사가 목록에없는 경우 새 회사를 삽입하십시오. 나는 하나씩 테스트 해 보았지만 결합 후에는 개인용 애플리케이션이 승인 (또는 1로 설정) 된 tblinternapplication의 상태도 업데이트 될 때 새로운 회사를 추가하지 않습니다. 아래는 제 코드입니다.아약스 업데이트, 비교하고,

<?php require_once("../includes/session.php"); ?> 
<?php require_once("sessioncourse.php"); ?> 
<?php confirm_logged_in(); ?> 
<?php require_once("../includes/connection.php") ?> 
<?php require_once("../includes/functions.php") ?> 

<?php 

$id = $_GET['id']; 
$status =$_GET['status']; 

$sql="UPDATE tblinternapplication set status_approval =  
".mysql_real_escape_string($status) ." WHERE id = " .mysql_real_escape_string($id); 
$result = mysql_query($sql); 

$querysel = "SELECT i.company_code, c.company_name as cn, i.company_name as ic, 
       c.company_branch as cb, i.company_branch as ib, FROM tblcompany c, 
       tblinternapplication i WHERE i.id = '$id' "; 
$resultsel = mysql_query($querysel, $connection); 
$queryselc = "SELECT 
    company_name, company_branch, 
    company_address, post_code, 
    company_city, company_state, 
    company_country, 
    company_phone, company_fax, 
    company_url FROM tblinternapplication WHERE id = '$id' "; 
$resultselc = mysql_query($queryselc, $connection); 

if ($status == 1){ 
    while($rowsel = mysql_fetch_array($resultsel)){ 
    if($rowsel['company_code'] == NULL){ 
    if(($rowsel['cn'] != $rowsel['ic']) OR ($rowsel['ib'] != $rowsel['cb'])){ 
    while($rowselc = mysql_fetch_array($resultselc)){ 
     $query = "INSERT INTO tblcompany (
     company_name, company_branch, 
     company_address, post_code, 
     company_city, company_state, company_country, 
     company_phone, company_fax, 
     company_url 
) VALUES (
    '{$rowselc['company_name']}', '{$rowselc['company_branch']}', 
     '{$rowselc['company_address']}','{$rowselc['post_code']}', 
     '{$rowselc['company_city']}','{$rowselc['company_state']}', 
     '{$rowselc['company_country']}', 
     '{$rowselc['company_phone']}','{$rowselc['company_fax']}', 
     '{$rowselc['company_url']}' 
)"; 
    $resultc = mysql_query($query, $connection); 
    } 
    } 
    } 
} 
} 

?> 
+0

그래서, 어디에 그 코드는 어떤 문제가 나오지 않기 때문에 내가 게시하지 않은 아약스 코드 – samayo

+0

아약스 코드입니다. – user2359110

+0

당신은 열고 파일의 시작 부분에 당신의 PHP-태그를 닫을 필요가 없습니다. 한번만 열어. – kelunik

답변

0

내 자신의 방법으로 답을 공유하기 만하면됩니다. 기본적으로 중첩 된 2 단계를 제거하고 첫 번째 쿼리 행을 일치시킨 다음 두 번째 결과를 검색합니다. 희망이 다른 사람들을 도울 것입니다.

<?php 

$id = $_GET['id']; 
$status = $_GET['status']; 

$sql="UPDATE tblinternapplication set status_approval = 
".mysql_real_escape_string($status) ." WHERE id = " .mysql_real_escape_string($id); 
$result = mysql_query($sql); 

$querysel = "SELECT i.company_code, i.company_name, i.company_branch, c.company_name, 
c.company_branch FROM tblinternapplication i, tblcompany c WHERE i.company_name = 
c.company_name AND i.company_branch = c.company_branch AND i.id = '$id' "; 
$resultsel = mysql_query($querysel, $connection); 

$queryselc = "SELECT * FROM tblinternapplication where id = '$id'"; 
$resultselc = mysql_query($queryselc, $connection); 

if ($status == 1){ 
if(mysql_num_rows($resultsel) == 0){ 
    while($rowselc = mysql_fetch_array($resultselc)){ 
$query = "INSERT INTO tblcompany (
    company_name, company_branch, 
    company_address, post_code, 
    company_city, company_state, company_country, 
    company_phone, company_fax, 
    company_url 
) VALUES (
'{$rowselc['company_name']}', '{$rowselc['company_branch']}', 
    '{$rowselc['company_address']}','{$rowselc['post_code']}', 
    '{$rowselc['company_city']}','{$rowselc['company_state']}', 
    '{$rowselc['company_country']}', 
    '{$rowselc['company_phone']}','{$rowselc['company_fax']}', 
    '{$rowselc['company_url']}' 
)"; 
$resultc = mysql_query($query, $connection); 
    } 
} 
} 


?> 

사람이 의견을 남길 추천 환영이있는 경우

. 감사합니다.

관련 문제