php 중복값 질문드립니다. 채택완료
입력값
<tr><td>
<select name="wr_12[]">
<option value="딸기">딸기</option>
<option value="감자">감자</option>
<option value="레몬">레몬</option>
<option value="수박">수박</option>
</select>
<input value="wr_21[]" value="">수량</input>
</td></tr>
<tr><td>
<select name="wr_12[]">
<option value="딸기">딸기</option>
<option value="감자">감자</option>
<option value="레몬">레몬</option>
<option value="수박">수박</option>
</select>
<input value="wr_21[]" value="">수량</input>
</td></tr>
php
$sql = "
select
group_concat(wr_12 separator '||') wr_12a,
group_concat(wr_21 separator '||') wr_21b
from {$write_table}
where wr_29 between '{$stx1}' and '{$stx2}'
";
$result = sql_query($sql, true);
while ($row = sql_fetch_array($result)) {
$list_namea = explode('||',$row['wr_12a']);</p>
<p> $list_nameb = explode('||',$row['wr_21b']);</p>
<p> $result_array = array();
foreach ($list_namea as $key=>$val)
{
$result_array[$key] = array($list_namea[$key],$list_nameb[$key]);
}</p>
<p> for ($i=0; $i<count($result_array); $i++) { ?>
<tr>
<td><?php echo $result_array[$i][0]; ?></td>
<td><?php echo $result_array[$i][1]; ?></td>
</tr>
<?php } } ?>
결과값 print_r2값
Array
(
[0] => Array
(
[0] => 딸기
[1] => 4
)</p>
<p> [1] => Array
(
[0] => 딸기
[1] => 4
)</p>
<p> [2] => Array
(
[0] => 멜론
[1] => 4
)</p>
<p> [3] => Array
(
[0] => 멜론
[1] => 10
)</p>
<p> [4] => Array
(
[0] => 딸기
[1] => 4
)</p>
<p> [5] => Array
(
[0] => 수박
[1] => 1
)</p>
<p> [6] => Array
(
[0] => 감자
[1] => 1
)</p>
<p>)
제품 개수 딸기 4 딸기 4 멜론 4 멜론 10 딸기 4 수박 1 감자 1
중복된 결과값은 개수를 곱해서 한개씩만 뽑고 싶습니다.
원하는 결과값 딸기 12 멜론 14 수박 1 감자 1
이것저것 막 해보고 있는데... 원하는 값이 나오질 않네요 ㅠㅠ
댓글을 작성하려면 로그인이 필요합니다.
답변 3개
채택된 답변
+20 포인트
3년 전
</p>
<p><?php</p>
<p> $sql = "</p>
<p> select</p>
<p> group_concat(wr_12 separator '||') wr_12a,</p>
<p> group_concat(wr_21 separator '||') wr_21b</p>
<p> from {$write_table}</p>
<p> where wr_29 between '{$stx1}' and '{$stx2}'</p>
<p> ";</p>
<p> $result = sql_query($sql, true);</p>
<p> while ($row = sql_fetch_array($result)) {</p>
<p> $list_namea = explode('||',$row['wr_12a']);</p>
<p> $list_nameb = explode('||',$row['wr_21b']);</p>
<p> $result_array = array();</p>
<p> foreach ($list_namea as $key=>$val)</p>
<p> {</p>
<p> $result_array[$list_namea[$key]] += $list_nameb[$key];</p>
<p> }</p>
<p> foreach ($result_array as $key=>$val) { ?></p>
<p> <tr></p>
<p> <td><?php echo $key; ?></td></p>
<p> <td><?php echo $val; ?></td></p>
<p> </tr></p>
<p> <?php } } ?></p>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
3년 전
</p>
<p><?php
$arr = array(
array
(
'딸기',
4
),
array
(
'딸기',
4
),
array
(
'멜론',
4
),
array
(
'멜론',
10
),
array
(
'딸기',
4
),
array
(
'수박',
1
),
array
(
'감자',
1
)
);
print_r($arr);</p>
<p>$result = array();
array_walk($arr, function($value) use (&$result) {
$k = $value[0];
$v = $value[1];
if (isset($result[$k]) == false) {
$result[$k] = 0;
}
$result[$k] += $v;
});
print_r($result);
?></p>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인전체 질문 목록
답변대기
채택
채택
답변대기
채택
답변대기
답변대기
채택
채택
답변대기
답변대기
채택
채택
답변대기
채택
답변대기
채택
답변대기
채택