두 개의 다른 소스에서 HTML 테이블로 데이터를 출력하는 중입니다. 하나의 소스는 mysql_fetch_array
이고 다른 하나는 $_POST
어레이입니다. mysql의 테이블은 <td>
이고, while 루프를 통해 출력하는 테이블은 $_POST
입니다. 출력 페이지에 배열을 연결하기 위해 행 ID를 통해 테이블에 $_POST
데이터를 저장 한 다음 전체 행을 페이지 아래로 더 쿼리하려고했습니다.
내가 가지고있는 문제는 행에 정확하게 $_POST
배열 값이 올바르게 업데이트되지 않는 것입니다. $_POST
배열의 마지막 값은 모두 선택된 모든 필드에 저장됩니다.
입력 페이지 배열은 id [ ]
및 unit_ass[ ]
으로 캡처되고 출력 페이지로 전달됩니다.
출력 페이지 코드 : 내가 처음 foreach 문에서 값을 에코 때
require_once ("../includes/db_connect.inc");
$pid = array_filter($_POST['id']);
$gid = implode(",", $pid);
$sua = array_filter($_POST['unit_ass']);
foreach($sua as $value) echo $value . "<br>"; // this outputs correct values in the correct order.
foreach($sua as $value) mysql_query("UPDATE $tbl_name SET unit_ass='$value' WHERE id IN ($gid)");
그냥 ...
array_filter()
빈 키를 제거는, 그들은 정확하고 올바른 순서로 표시됩니다.
그러나 $sua
배열의 마지막 값만 $ gid에 의해 결정된대로 테이블 행을 업데이트합니다. foreach는 배열 값을 반복하지 않고 UPDATE를 수행해야합니다. id[ ]
을 통한 데이터는 while 루프의 mysql_fetch-array
을 통해 페이지 아래로 올바르게 표시됩니다.
저는 몇 시간 동안이 문제를 응시 해 왔으며 해결책을 찾지 못했습니다. 어떤 도움을 주셔서 감사합니다.
id가'$ gid'에있는 각 행의'unit_ass' 값을'$ sua'의 해당 값으로 업데이트 하시겠습니까? –
이것이 전체 코드 샘플이면 '$ tbl_name'을 정의해야합니다. – hafichuk
$ tbl_name과 함께 모든 데이터베이스 연결 항목은 맨 위에있는 require_once 파일에 포함되어 있습니다. – Thestudiokid