for문으로 받은 값을 db에 넣고 싶습니다.

조회수 2548회

for(i=0; i<5; i++){

input type="text" name="mb_1" value="1234"

}

이런식으로 해서 4개의 값을 db에 넣어주려고 하는데 ..

insert into member set 이런식으로 넣으려고 하는데...

db에서는 for문을 어떻게 돌려야 4개의 값이 들어갈까요?

알려주세용 ㅠ

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 프로시저를 사용하시면 됩니다.

    PHP를 사용하신 것 같아서 MySQL 로 간단하게 작성해 봤습니다. DBMS에 따라 조금씩 문법이 다르긴하지만 비슷합니다.

    프로시저 생성 :

    DELIMITER $$
    DROP PROCEDURE IF EXISTS FILL_TEST_DATA$$
    CREATE PROCEDURE FILL_TEST_DATA()
    BEGIN
        DECLARE i INT DEFAULT 1;
    
        WHILE i <= 4 DO
            INSERT INTO member (type, name, value) VALUES ('text', 'mb_1', '1234');
            SET i = i + 1;
        END WHILE;
    END$$
    DELIMITER $$
    

    생성한 프로시저 호출 :

    CALL FILL_TEST_DATA()
    
    • 만약에 칸은 4개인데 값이 2개만들어와도 2개만 입력이 되는건가요 ? 알 수 없는 사용자 2016.9.7 14:13
    • insert문에서 컬럼수와 입력하려는 값의 수는 같아야합니다. 값이 2개가 들어왔다면 입력하는 컬럼도 2개가 필요하구요. 김선우 2016.9.7 14:29
    • 제가 하려는걸 더 자세히 올려야겠네요 쉬운건줄 알았는데 .. 어렵네요 ㅠ 알 수 없는 사용자 2016.9.7 15:01

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)