DB 검색 질문... 채택완료
밀랍
4년 전
조회 1,725
</p>
<p><?php
include_once($_SERVER['DOCUMENT_ROOT'] ."/common.php");</p>
<p>$name = $_POST['name'];
$wrid = $_POST['wrid'];
$result = sql_fetch("SELECT * FROM g5_write_cscenter WHERE wr_9 = '".$name."' and wr_42 = '".$wrid."' ");</p>
<p>if($result['wr_3']){
?>
<?php echo $result['wr_18'];?>|<?php echo $result['wr_4'];?>|<?php echo $result['wr_3'];?>|<?php echo $result['wr_14'];?>|<?php echo $result['wr_10'];?>|<?php echo $result['wr_17'];?>|<?php echo $result['wr_8'];?></p>
<p><?php } ?>
글쓰기에서 이름을 검색하면 해당 정보를 뿌려주는데..
중복 이름이 있을경우에는 최초의 값만 검색하더라구요..
중복이 있을경우에 선택하게 하고싶은데.. 이럴땐 어떻게 해야 하나요?
wr_9가 작성자 이름 wr_42가 검색하는 사람 이름입니다.
wr_42가 중복일때 wr_14(전화번호)가 다를경우 선택하게 하고 싶습니다.
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
채택된 답변
+20 포인트
마르스컴퍼니
Expert
4년 전
<?php
include_once("../common.php");</p>
<p>$sql = "
SELECT *
FROM g5_write_cscenter
WHERE wr_9 = '{$name}'
and wr_42 = '{$wrid}'
";</p>
<p>$result = sql_query($sql);</p>
<p>while ($row = sql_fetch_array($result)) {
$list[] = $row;
}
$cnt = count($list);
?></p>
<p><?php if ($cnt == 1) { ?>
<?php echo $list[0]['wr_18'];?>|<?php echo $list[0]['wr_4'];?>|<?php echo $list[0]['wr_3'];?>|<?php echo $list[0]['wr_14'];?>|<?php echo $list[0]['wr_10'];?>|<?php echo $list[0]['wr_17'];?>|<?php echo $list[0]['wr_8'];?>
<?php } else if ($cnt > 1) { ?>
<select>
<?php for ($i = 0; $i < $cnt; $i++) { ?>
<option value="<?php echo $list[$i]['wr_9'] ?>"><?php echo $list[$i]['wr_14'] ?></option>
<?php } ?>
</select>
<?php } ?>
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
4년 전
동일이름에 전화번호를 구별하기 위해서
group by로 wr_42, wr_14 검색해 주셔야합니다.
그리고 row가 여러개 나올수 있기 때문에 while문을 사용하셔서
선택박스를 만들어주셔야합니다.
아래 코드 간략하게 작성을 해봤습닌다. 코드 테스트는 안해봤는데
이런 느낌으로 접근하시면 좋을듯 합니다.
</p>
<p><?php
include_once($_SERVER['DOCUMENT_ROOT'] ."/common.php");
$name = $_POST['name'];
$wrid = $_POST['wrid'];
$result = sql_fetch("SELECT * FROM g5_write_cscenter WHERE wr_9 = '".$name."' and wr_42 = '".$wrid."' group by wr_42, wr_14 ");</p>
<p>$list = array();
while( $result = sql_fetch("SELECT * FROM g5_write_cscenter WHERE wr_9 = '".$name."' and wr_42 = '".$wrid."' ") )
{
array_push($list, $row);
}</p>
<p>
if( count($list ) == 1 ){
?>
<?php echo $result['wr_18'];?>|<?php echo $result['wr_4'];?>|<?php echo $result['wr_3'];?>|<?php echo $result['wr_14'];?>|<?php echo $result['wr_10'];?>|<?php echo $result['wr_17'];?>|<?php echo $result['wr_8'];?>
<?php } else if( count($list ) > 1 ) { ?>
선택박스 구현
<?php } ?></p>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 6개
�
밀랍
4년 전
D
DogFoot개발
4년 전
ㅜㅜ 오타입니다. $row가 아니라 $result
D
DogFoot개발
4년 전
선택박스 구현 부분에서는
foreach( $list as $val )
{
echo $val['wr_18'];
}
이런식으로 사용하시면 됩니다.
foreach( $list as $val )
{
echo $val['wr_18'];
}
이런식으로 사용하시면 됩니다.
�
밀랍
4년 전
[code]
<?php
include_once($_SERVER['DOCUMENT_ROOT'] ."/common.php");
$name = $_POST['name'];
$wrid = $_POST['wrid'];
$result = sql_fetch("SELECT * FROM g5_write_cscenter WHERE wr_9 = '".$name."' and wr_42 = '".$wrid."' group by wr_42, wr_14 ");
$list = array();
while( $result = sql_fetch("SELECT * FROM g5_write_cscenter WHERE wr_9 = '".$name."' and wr_42 = '".$wrid."' ") )
{
array_push($list, $result);
}
?>
<?php echo count($list) ?>
[/code]
이렇게 수정했을때
값이 없는건 count 가 0으로 나오는데 값이 있는건 멈춰버리네요...
제가 뭘 잘못했을까요? ㅠㅠ
<?php
include_once($_SERVER['DOCUMENT_ROOT'] ."/common.php");
$name = $_POST['name'];
$wrid = $_POST['wrid'];
$result = sql_fetch("SELECT * FROM g5_write_cscenter WHERE wr_9 = '".$name."' and wr_42 = '".$wrid."' group by wr_42, wr_14 ");
$list = array();
while( $result = sql_fetch("SELECT * FROM g5_write_cscenter WHERE wr_9 = '".$name."' and wr_42 = '".$wrid."' ") )
{
array_push($list, $result);
}
?>
<?php echo count($list) ?>
[/code]
이렇게 수정했을때
값이 없는건 count 가 0으로 나오는데 값이 있는건 멈춰버리네요...
제가 뭘 잘못했을까요? ㅠㅠ
D
DogFoot개발
4년 전
확인 부탁드립니다^^;
제가 회사라 코드를 테스트 못해서 죄송합니다
[code]
<?php
include_once($_SERVER['DOCUMENT_ROOT'] ."/common.php");
$name = $_POST['name'];
$wrid = $_POST['wrid'];
$rs = sql_query(" SELECT * FROM g5_write_cscenter WHERE wr_9 = '".$name."' and wr_42 = '".$wrid."' GROUP BY wr_42, wr_14 ");
while( $result = sql_fetch_array($rs) )
{
array_push($list, $result);
}
?>
<?php echo count($list) ?>
[/code]
제가 회사라 코드를 테스트 못해서 죄송합니다
[code]
<?php
include_once($_SERVER['DOCUMENT_ROOT'] ."/common.php");
$name = $_POST['name'];
$wrid = $_POST['wrid'];
$rs = sql_query(" SELECT * FROM g5_write_cscenter WHERE wr_9 = '".$name."' and wr_42 = '".$wrid."' GROUP BY wr_42, wr_14 ");
while( $result = sql_fetch_array($rs) )
{
array_push($list, $result);
}
?>
<?php echo count($list) ?>
[/code]
�
밀랍
4년 전
2차 중복값을 찾아야 하는 부분이 wr_42와 wr_43이여서..
[code]
$rs = sql_query(" SELECT * FROM g5_write_cscenter WHERE wr_9 = '".$name."' and wr_42 = '".$wrid."' GROUP BY wr_42, wr_43 ");
[/code]
이렇게 고쳤는데
계속 0이 나옵니다...
[code]
$rs = sql_query(" SELECT * FROM g5_write_cscenter WHERE wr_9 = '".$name."' and wr_42 = '".$wrid."'");
[/code]
이렇게 해도 0 나오는군요...
ㅠㅠ
[code]
$rs = sql_query(" SELECT * FROM g5_write_cscenter WHERE wr_9 = '".$name."' and wr_42 = '".$wrid."' GROUP BY wr_42, wr_43 ");
[/code]
이렇게 고쳤는데
계속 0이 나옵니다...
[code]
$rs = sql_query(" SELECT * FROM g5_write_cscenter WHERE wr_9 = '".$name."' and wr_42 = '".$wrid."'");
[/code]
이렇게 해도 0 나오는군요...
ㅠㅠ
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
그런데 $row 값은 어디에서 나오는건가요?