자바스크립트 post 배열변수 전송문제 채택완료
초보입니다.
<?php
$sql = "select * from g5_point_et where mb_id_et = '{$member['mb_id']}' ";
$qry = sql_query($sql);
for ($i=0; $row=sql_fetch_array($qry); $i++) { //출력물은 값이 있다면 배열변수$row['part']로 모든 값이나옵니다
//예시는 3개 줄(값)
?>
<form name="myForm" action="page2.php" method="post"> // post로 넘김
<input type="hidden" name="toto" value="<? echo $row['part'] ?>"> // name이게 걸립니다.
<tr><td><a href="javascript:mySubmit(<?php echo $i ?>)"><? echo $row['part'] ?></a></td></tr>//링크해서 page2.php 로 넘기고자 합니다.
<?php
}
?>
;
</form>
<script>
function mySubmit(val){
var f = document.myForm;
f.toto.value = val; // 이렇게 하면 값은 여러줄 중 맨 마지막 출력결과값만 넘어갑니다.
f.submit();
}
</script>
// 이렇게만 나옵니다; 가변적으로 나와야할텐데요
예) 첫번째 클릭-- 첫번째 배열값
두번째 클릭-- 두번째 배열값
세번째-- 세번째 배열값
답변 3개
</p>
<pre>
<code><?php
$sql = "select * from g5_point_et where mb_id_et = '{$member['mb_id']}' ";
$qry = sql_query($sql);
?>
<form name="myForm" action="page2.php" method="post">
<input type="hidden" name="toto" value="">
<table>
<?php
while($row=sql_fetch_array($qry)){
?>
<tr><td><a href="javascript:mySubmit('<?php echo $row['part']?>')"><? echo $row['part'] ?></a></td></tr>
<?php
}
?>
</table>
</form>
<script>
function mySubmit(val){
var f = document.myForm;
f.toto.value = val;
f.submit();
}
</script></code></pre>
<p><code>
for문 사용 방법에 문제가 있네요.
그냥 쉽게 while문을 사용해 봤습니다.
답변에 대한 댓글 2개
ex) $toto_val = $row['part'].$row['pnum']
댓글을 작성하려면 로그인이 필요합니다.
<input type="hidden" name="toto" value="<? echo $row['part'] ?>">
를
<input type="hidden" name="toto_<?=$i?>" id="toto_<?=$i?>" value="<? echo $row['part'] ?>">
로 하신 후에
<a href="javascript:document.myForm.submit();"><? echo $row['part'] ?></a>
이러게 한번 해보시죠?
답변에 대한 댓글 1개
감사합니다~
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 2개
감사합니다~
---
폴라베어님;;
아래 자세하신 풀이 진심으로 감사드립니다.
아직 한 눈에 안들어와서요..ㅠㅠ
제가 많이 부족하여 주신 글보고 차근차근 공부해보겠습니다.
감사합니다~
[code]
<?php
// $sql = "select * from g5_point_et where mb_id_et = '{$member['mb_id']}' ";
// $qry = sql_query($sql);
//예시는 3개 줄(값)
$row = [];
$row[0]['turn'] = '100'; // 회차번호
$row[0]['part'] = '3,4,1,2,3,4,3,3,3,1,1,2,2,4,2,1,2,1,2,4';
$row[1]['turn'] = '101';
$row[1]['part'] = '2,3,1,2,3,4,3,3,3,1,1,2,4,2,2,1,2,1,2,4';
$row[2]['turn'] = '102';
$row[2]['part'] = '3,1,2,1,1,,,2,2,,,,,,3,,1,2,3';
$r=count($row);
// echo '<pre>';
// var_dump($row, $r);
?>
<form name="myForm" action="page2.php" method="post">
<input type="hidden" name="toto" value="">
<table>
<?php
for ($i=0; $i<$r; $i++) { //출력물은 값이 있다면 배열변수$row['part']로 모든 값이나옵니다
?>
<tr><td><a href="javascript:mySubmit(<?php echo $row[$i]['turn'] ?>)"><? echo $row[$i]['part'] ?></a></td></tr>
<?php
}
?>
</table>
</form>
<script>
function mySubmit(val){
var f = document.myForm;
f.toto.value = val; // 이렇게 하면 값은 여러줄 중 맨 마지막 출력결과값만 넘어갑니다.
f.submit();
}
</script>
[/code]
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
적용하여 해결보았습니다. 가변적인 배열값이 잘 넘어옵니다..
기왕에 한 가지 더 궁금한게요
<?php echo $row['part']?> // 잘 넘어옴
또 다른 컬럼의 배열값도 동시에 가져오려면?// $row['pnum'] <-- 이것도 같이 넘기려면?
<a href="javascript:mySubmit('<?php echo $row['part']?><?php echo $row['pnum']?>')"><? echo $row['part'] ?></a>
----
이렇게 하면 넘어오는데요..맞게 하는건지요..?
감사합니다~