POST를 통해 삽입하려면 HTML 양식의 선택 상자가 두 개 이상 있어야하지만 사용자는 더 많은 선택 상자를 추가 할 수 있습니다. 이제 각 삽입 된 ID마다 각 n 사이의 관계를 표시해야합니다. 우리가 1,4,9,6 ID를 삽입 한 것처럼제출시 두 개의 선택 상자의 ID를 상호 작용하는 방법
. 그래서 나는 같이 두 개의 열에서 테이블에 삽입합니다 :
(1-4) (1-9) (1-6) (4-9) (4-6) (9-6)
POST를 통해 삽입하려면 HTML 양식의 선택 상자가 두 개 이상 있어야하지만 사용자는 더 많은 선택 상자를 추가 할 수 있습니다. 이제 각 삽입 된 ID마다 각 n 사이의 관계를 표시해야합니다. 우리가 1,4,9,6 ID를 삽입 한 것처럼제출시 두 개의 선택 상자의 ID를 상호 작용하는 방법
. 그래서 나는 같이 두 개의 열에서 테이블에 삽입합니다 :
(1-4) (1-9) (1-6) (4-9) (4-6) (9-6)
$text = $_POST['text'];
$textname = explode(",", $text);
if ($textname > 0) {
for ($i = 0; $i < count($textname); $i++) {
"Piece $i = $textname[$i] <br />";
..... insert query....
나는 $ 내가 ... 어떻게 코드에서 해당 배열이를 삽입 할 조각에서 POST 값을 받고 있어요
을 확인하십시오. Danila, 인식 할 수 없을 때까지 내 대답을 편집했습니다. 포스터가 원하는 것이 무엇인지 명확하지 않으며 우리 사이에이를 분명히 할 수 있습니다. 나는 그가 원하는리스트를 만들기 위해 $ _POST 배열을 처리 할 수 있다고 가정했다. – DJDave
여기에 내 원래의 대답, 내가 생각하는 것, 질문의 요점 - 어떻게 생성하는 예 (1-5) (2-3) (2-5) (3-4) (3-5) (4- 5) 1,2,3,4,5. 나는 값이 다음
$arrIDs = array(1,5,9,17);
foreach($arrIDs as $ID1) {
$arrUsedIDs[] = $ID1;
foreach(array_diff($arrIDs, $arrUsedIDs) as $ID2) {
echo("INSERT INTO similar_ailment (ailment,ailment1) VALUES($ID1, $ID2)");
}
}
을 삽입하는 데 사용할 것을 제안 원래 예로하지 연속 경우 s는/그는
$arrIDs = array(1, 2, 3, 4);
$intUpperLimit = max($arrIDs);
foreach($arrIDs as $ID) {
for($i = $ID + 1; $i <= $intUpperLimit; $i++) {
echo("INSERT INTO tblPairs VALUES($ID, $i)");
}
}
$ _POST 배열을 처리하는 도움을 필요로하는 경우 우리는 포스터에서 더 많은 정보를 필요가 있다고 생각 DB에 두 개의 값이 있으면 저장 프로 시저를 만들어야합니다.
DROP PROCEDURE IF EXISTS `usp_insert_pair`;
DELIMITER $$
CREATE PROCEDURE `usp_insert_pair`(
IN p_intID1 INT,
IN p_intID2 INT,
OUT p_row_count INT
)
BEGIN
INSERT INTO tblPairs (intID1, intID1)
VALUES (p_intID1, p_intID1);
SELECT ROW_COUNT() INTO p_row_count;
END; $$
DELIMITER ;
이 절차는 쌍을 입력으로 사용하고 출력을 제공합니다 (도움이 될 수도 잘 모르겠 음). 당신은 루프 당신은 첫 번째 코스의 DB에 대한 연결을 설정해야합니다
$arrIDs = array(1, 2, 3, 4);
$intUpperLimit = max($arrIDs);
foreach($arrIDs as $ID) {
for($i = $ID + 1; $i <= $intUpperLimit; $i++) {
mysqli_query($conn, "usp_insert_pair($ID, $i, @p_row_count, @p_insert_id)");
}
}
에 저장 프로 시저의 호출을 통합 할 수 있습니다 - 그는 $ CONN 매개 변수입니다. mysqli_query를 호출 할 때 작업이 성공적인지 확인해야한다. 여기에는 여러 가지 옵션이 있습니다. mysqli_query이 실패 할 경우 FALSE를 반환합니다, 그래서 당신은 값이
을 반환 검사 할 수$bOutcome = mysqli_query($conn, "usp_insert_pair($ID, $i, @p_row_count, @p_insert_id)");
if (!$bOutcome) echo "row insert error for pair $ID, $i";
삽입이
$rs = mysqli_query($conn, $strSQL) or Die("Error in usp_insert_pair: ". mysqli_error($conn));
를 작동하지 않고 당신이 @intRowCount 매개 변수를 검사 할 수 있습니다 당신은 구제 할 수 있습니다 이는 1 행 (그리고 단 하나의 행)이 추가되었는지 확인하기 위해 리턴됩니다.
$rs = mysqli_query($conn, 'SELECT @intRowCount')
$row = mysqli_fetch_row($rs);
if ($row[0] != 1) echo "row insert error for pair $ID, $i";
당신이 할 수있는 검사가 많이 있지만, (비교적) 간결하게 유지하려고합니다.
$ text = $ _ POST [ 'text']; $ textname = 폭발 (",", $ 텍스트); \t \t 의 foreach ($ 값으로 $의 textname) { \t SQL1 = $는 mysql_query ("ABC에서 선택 * 여기서 XYZ = '$ 값'"); while ($ sha1 = mysql_fetch_array ($ sql1)) $ idd = $ sha1 [ 'id']; \t $ tex = explode (",", $ idd); \t for ($ i = 0; $ i
[$ 나는] 배열 – nik
가치는 당신이 원하는 것을 분명하게 말할 수있는 시간을주십시오. 귀하의 질문에 지금은 $ _POST 배열을 기반으로이 줄, $ arrIDs = array ("???"), 배열을 만드는 방법을 생각하십니까? 이 경우 앞에 나온 줄을 더 설명해야합니다. – DJDave
두 열을 데이터베이스의 두 열, 즉 Col 1 Col 2 – nik
에 삽입하고 싶습니다. 내 업데이트 된 답변 – DJDave