iframe 에서 for 문으로 호출된 링크 실행하기

iframe 에서 for 문으로 호출된 링크 실행하기

QA

iframe 에서 for 문으로 호출된 링크 실행하기

본문

링크 버튼을 클릭하면 ifrmae 페이지로 aaa.php?id=1111 페이지를 열어서

mysql 의 쿼리를 돌려서 추출된 데이타를 푸시 서버로 전송하려고 합니다.

푸시 1개씩 보내는것은 https://sir.kr/g5_tip/21712 의 형식으로 해결을 했습니다

여러개의 푸시를 보내려고 하다보니, 어찌 해야할지 길을 찾지 못하고 있어서 조언을 구하고자 합니다.

 

<button type="button" ...>클릭</a>

 

<iframe id="aaa" src="aaa.php?id=1111" width="0" height="0">

 

aaa.php 내용

<?php

$sql = " select * from 디비테이블 where id = '{$id}' ";

$qry = sql_query($sql);

for ($i =0; $row = sql_fetch_array($qry); $i++) {

  // for문이 돌면서 push 서버로 링크를 전송

  echo "https://aaaaa.cloudfunctions.net/doTsubFcmSend?token={$row['token']};

}

이 질문에 댓글 쓰기 :

답변 4

iframe 을 쓰지 않아도 되지 않을까 싶습니다.

 


<button type="button" id="btn">클릭</a>
$("#btn").on('click', function() {
    let _id = '1111';
  $.ajax({
    type: "POST",
    url: "aaa.php",
    {id : _id},
    success: function(response) {
      alert(response);
    },
    error: function(xhr, status, error) {
      alert("에러 (" + xhr.status + ")");
    },
  });
});
* aaa.php

$sql = " select * from 디비테이블 where id = '{$id}' ";
$result = sql_query($sql);
for ($i = 0; $row = sql_fetch_array($result); $i++) {   
    $url = "https://aaaaa.cloudfunctions.net/doTsubFcmSend?token={$row['token']}";
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);    
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $response = curl_exec($ch);    
    curl_close($ch);
    
    $response .= "|";    
}
echo $response;

질문의 요지를 정확히 이해 못했는데...

for 문에서 생성된 링크가 다섯개라면 부모창에서 다섯개의 아이프레임으로 표현되길 원하시는 건가요?

아니면 다섯개 중 랜덤으로 하나만 뜨길 원하시는 건가요?

아니면 버튼이 다섯개가 생기면서 버튼클릭시 아이프레임의 내용이 바뀌어지는 이벤트를 원하시는 건가요?

 

물론 셋다 가능하구요. 정확히 어떤 걸 원하시는지 궁금해서요.

경우1> 버튼을 누르면 1개의 iframe 에서 페이지가 열리고
그 속에서 for 문이 돌면서 푸시하기

경우2> 버튼누르면 for 문이 돌면서 ifame 에 각각 푸시 경로가 실행되기

위 둘중 아무거나 상관없는데..
생각해보면 두번째가 더 이상적일수가 있겠군요

질문 요지가......... :)

 

버튼누르면 for 문이 돌면서 ifame 에 각각 푸시 경로가 실행되기

라면...

 

1. iframe 1개 출력후

2. 버튼 누르면...

3. iframe들 추가 생성...

이럼 끝나는 것 아닌가요???

 

정확히 어떤 걸 구현하시려는지 아직까지 이해를 못하고 있습니다민...

 

aaa.php 의 내용물을 각 경로에 * 으로 분기하게끔 데이터를 뿌려주고


https://sir.kr/*https://www.google.co.kr/*https://www.naver.com/

 

이걸 아작스로 처리하는게 좋을 듯 싶네요.

aaa.php 에 등록된 경로 숫자만치 아이프레임이 생겨납니다.

 


<button type="button" onclick="ajaxSrc()">클릭</button>
<div id="myDiv"></div>
 
<script>
function ajaxSrc() {
    ajaxXhr = new XMLHttpRequest();
    ajaxXhr.open("get", "aaa.php?id=1111");
    ajaxXhr.onload = function() {
        iframes = ajaxXhr.responseText.trim().split("*");
        for (i of iframes) myDiv.innerHTML += "<iframe src='" + i + "'></iframe>";
    }
    ajaxXhr.send();
}
</script>
답변을 작성하시기 전에 로그인 해주세요.
전체 171
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT