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개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인