2014-11-09 3 views
1

현재 클라이언트를 위해 설계/제작을위한 온라인 승인 시스템 인 로컬로 구축중인 페이지가 있습니다. 즉, 고객이 특정 주문에 로그인하여 주문을보고 해당 전체 프로젝트의 각 항목에 대해 광고 소재를 승인 할 수있는 포털이 있습니다. 사용자가 거부, 엄지 손가락 클릭 승인 또는 아래 손가락 때양식 변수를 사용하여 MySQL 데이터베이스 업데이트

:

카메라 참조 : 여기

enter image description here

문제이다. 해당 라디오 버튼의 값은 해당 파일 상태 열에 해당 광고 소재의 데이터베이스에 기록되지 않습니다.

라디오 버튼 그룹에 대해 변수 이름 (특정 광고 소재 ID)을 사용하고 있습니다. 특정 그룹의 가치를 각 광고 소재의 상태를 참조하는 데이터베이스 열에 기록하려면 어떻게해야합니까?

<?php $uploadID = $row_order_upload['id']; ?> 
<?php $reviewID = $row_order_upload['id'] . 'a'; ?> 

<p class="document_item"> 
    <span class="document_status_container"> 
    <span class="document_status status_pendingapproval"><?php echo $row_order_upload['file_status']; ?></span><a data-options="width:<?php echo $row_order_upload['file_width'] ?>, height:<?php echo $row_order_upload['file_height'] ?>" href="http://localhost:8888/-portal/user_data/<?php echo $row_order_upload['file_name']; ?>" class="fancybox_swf"><?php echo $row_order_upload['file_width'].'x'.$row_order_upload['file_height'] ?></a></span> 
    </p> 
    <div class="adStatus_container"> 
    <label><input class="status_thumb adstatus" type="radio" name="<?php echo $reviewID ?>" value="Rejected" /><img class="rejectimg" src="_source/buttons-assets/rejected.png" width="23" height: "23"></label> 
    <label><input class="status_thumb adstatus" type="radio" name="<?php echo $reviewID ?>" value="Approved" /><img class="approveimg" src="_source/buttons-assets/approved.png" width="23" height: "23"></label> 
    <input name="id" type="hidden" value="<?php echo $uploadID ?>"> 
    </div> 
<?php } while ($row_order_upload = mysql_fetch_assoc($order_upload)); ?> 

<input type="submit"> 
<input type="hidden" value="revisionRequest"> 
</form> 

위의 코드는 업로드 된 각 광고 소재에 대해 작성되었습니다. 도움이되기에 충분한 정보가되기를 바랍니다. 내가 제공 할 수있는 다른 것이 있으면 알려줘!

아래는 업데이트를 실행중인 MySQL의 코드는, 나는 그것이 아마 가장 좋은 방법이 아니다 알고 있지만 내가 문제를 정확히 이해 확실하지 않다 드림위버! :

if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form")) { 
    $updateSQL = sprintf("UPDATE `14111_rfm_uploads` SET file_status=%s WHERE oid=%s", 
         GetSQLValueString($_POST['file_status'], "text"), 
         GetSQLValueString($_POST['oid'], "int")); 

    mysql_select_db($database_localhost, $localhost); 
    $Result1 = mysql_query($updateSQL, $localhost) or die(mysql_error()); 

    $updateGoTo = "#"; 
    if (isset($_SERVER['QUERY_STRING'])) { 
    $updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?"; 
    $updateGoTo .= $_SERVER['QUERY_STRING']; 
    } 
    header(sprintf("Location: %s", $updateGoTo)); 
} 
+0

하기이 양식이 제출 될 때 실행되는 코드를 게시 할 수 있습니까?그것이 데이터베이스 쓰기가 일어날 곳입니다. 그래서 우리가 분석하고 수정해야 할 코드가 있습니다. 감사! –

+0

데이터베이스 코드로 정보를 업데이트했습니다. – RONNIE

답변

0

에서 발생하는 자동차의 하지만 사용자 입력을 기반으로 데이터베이스를 간단히 업데이트하려는 것처럼 보입니까?

몇 가지 힌트 :

1) 양식을 제출하는 곳은 어디입니까? 귀하의 양식 성명서는 어떤 모양입니까

2) 양식의 조치가 (예 : /post/index.php)를 가리키는 곳이면 어디든지이 파일은 게시 한 가치에 대해 조치를 취해야합니다. 더 많은 것을 알기 위해서는 그 페이지에서 var_dump ($ _ POST)를 할 수 있어야합니다. PHP PDO를 활용하여 데이터베이스에 데이터를 작성해야 할 가능성이 큽니다.

이제 폼을 게시하지 않고 데이터베이스에 쓰는 것을 찾고 있다면 이것을 Ajax라고합니다. 기본적으로 Javascrpit을 사용하면 데이터베이스의 변경 사항을 다른 PHP 파일에 백그라운드로 제출할 수 있습니다 (사용자가 클릭하자마자). 나는 이것이 더 복잡하기 때문에 당신이하고있는 일에 대해 확실하지 않다면이 접근법을 먼저 시도 할 것인지 확신하지 못합니다.

이 정보가 도움이되기를 바랍니다. 문자로 시작해야

+0

제출시 트리거되는 기능으로 업데이트되어 도움이 되셨습니다. – RONNIE

0

http://www.w3.org/TR/html401/types.html#type-name

ID와 NAME 토큰 ([A-ZA-Z])과는 문자, 숫자 (0-9), 하이픈의 수 (다음 될 수도 "-"), 밑줄 ("_"), 콜론 (":") 및 마침표 (".")로 구성됩니다.

Cat의 'a'는 ID의 끝 부분이 아니라 처음 부분입니다.

<?php $reviewID = 'a' . $row_order_upload['id']; ?> 

시도하는 등

관련 문제