DB에서 특정코드 불러올때, PHP두번사용하면 안되나요?

DB에서 특정코드 불러올때, PHP두번사용하면 안되나요?

QA

DB에서 특정코드 불러올때, PHP두번사용하면 안되나요?

본문

원본 테이블은 아래와 같은데, 제가 필요에 의해 조금 손을댔습니다.

 

1번-수정전


echo "<td align='left' class='listCompany listCompany".($i%2)."'><a href='javascript:win_stock({$i});'> </a></td>"; 

이부분을, 아래와 같이 수정을 하고나서부터 나왔습니다.

2번-수정후


<td class="text-center listCompany listCompany<?php echo $i;?>"><a href="stock_popup.php?code=<?php echo $row[qst_code];?>"> </a></td> 

 

다른건 다 정상작동, 호출되는데,

stock_popup.php?code= 이라고해서, 앞에있는 리스트 회사의 코드? (회사번호코드같은거)를 불러와야하는데

이녀석이​ 엉뚱한 다른번호를 호출해 냅니다. 1번 코드는 정상작동하지만, 2번은 어디를 잘못한건지...ㅠ_ㅠ;

도움부탁드리고자 이렇게 글올리게 되었습니다. 부디... 도움의 손길을 간절히 기다립니다 ㅠ_ㅠ;

아래에... 코드 전체도 같이 올려보겠습니다.

 

1번-수정전-PHP페이지 전체


<?
if (!defined("_QSTOCK_") || !defined("_GNUBOARD_")) exit;
 
$sql = " select count(*) as cnt from q_stock_list ";
$row = sql_fetch($sql);
$totalpage = ceil($row[cnt]/10);
?>
 
<script type="text/javascript" src="js/stock_list.js"></script>
<script type="text/javascript">
	var maxpage = <?=$totalpage?>;
	var pointratio = <?=$pointratio?>;
</script>
 
<div id="listWrap">
<table width="100%" align="center" cellpadding="3" cellspacing="0">
	<col />
	<col width="63" />
	<col width="63" />
	<col width="53" />
	<col width="63" />
	<col width="63" />
	<col width="63" />
	<col width="53" />
	<col width="90" />
	<tr>
		<th>종목명</th>
		<th>현재가</th>
		<th>전일비</th>
		<th>등락률</th>
		<th>거래량</th>
		<th>고가</th>
		<th>저가</th>
		<th>매물</th>
		<th>매수</th>
	</tr>
<?
for ($i=0; $i<10; $i++)
{
	echo "<tr class='stockList".($i%2)."'>";
	echo "<td align='left' class='listCompany listCompany".($i%2)."'><a href='javascript:win_stock({$i});'> </a></td>";
	echo "<td align='right' class='listPrice'> </td>";
	echo "<td align='right' class='listGap'> </td>";
	echo "<td align='right' class='listGapper'> </td>";
	echo "<td align='right' class='listVolume'> </td>";
	echo "<td align='right' class='listHigh'> </td>";
	echo "<td align='right' class='listLow'> </td>";
	echo "<td align='right' class='listRest'> </td>";
	echo "<td align='center'><button class='buy_btn' value=''>매수</button></td>";
	echo "</tr>";
}
?>
</table>
</div>
 
<div style="height:20px;"></div>
 
<div class="pagingWrap">
	<div class="listPaging">
		<button id="button_first">처음</button>
		<button id="button_prev">이전</button>
		<?
			if ($totalpage > 9 ) {
				$j = 9;
			}
			else {
				$j = $totalpage;
			}
 
			for ($i=1; $i<=$j; $i++) {
				echo "<button class='botton_page'>{$i}</button>";
			}			
		?>
		<button id="button_next">다음</button>
		<button id="button_last"> 끝 </button>
	</div>
</div>
 
<div style="height:30px;"></div>
 
<div id="buy_dialog" title="주식 매수">
	<p class="validateTips">구매 수량을 입력하신 후, 매수 버튼을 누르세요.</p>
 
	<form action="#">
	<fieldset>
		<label for="buyCompany">종목명</label>
		<input type="text" name="buyCompany" id="buyCompany" class="text ui-widget-content ui-corner-all" readonly="readonly" />
		<label for="buyPrice">현재 시세</label>
		<input type="text" name="buyPrice" id="buyPrice" class="text ui-widget-content ui-corner-all" readonly="readonly" />
		<label for="buyNum">구매 수량</label>
		<input type="text" name="buyNum" id="buyNum" class="text ui-widget-content ui-corner-all" />
		<div id="trade_slider"></div>
		<input type="hidden" name="codeNum" id="codeNum" value="" class="text ui-widget-content ui-corner-all" />
	</fieldset>
	</form>
</div>
 

 

2번-수정후-PHP페이지 전체


<?
if (!defined("_QSTOCK_") || !defined("_GNUBOARD_")) exit;
 
$sql = " select count(*) as cnt from q_stock_list ";
$row = sql_fetch($sql);
$totalpage = ceil($row[cnt]/10);
?>	
 
<script type="text/javascript" src="js/stock_list.js"></script>
<script type="text/javascript">
	var maxpage = <?=$totalpage?>;
	var pointratio = <?=$pointratio?>;
</script>
<?php if(!G5_IS_MOBILE) {?>
<table class="table">
<tbody>
<tr class="active">
	<th class="text-center" scope="col">종목명</th>
	<th class="text-center" scope="col">현재가</th>
	<th class="text-center" scope="col">전일비</th>
	<th class="text-center" scope="col">등락률</th>
	<th class="text-center" scope="col">거래량</th>
	<th class="text-center" scope="col">고가</th>
	<th class="text-center" scope="col">저가</th>
	<th class="text-center" scope="col">매물</th>
	<th class="text-center" scope="col">매수</th>
</tr>
 
<?php 
$sql = " select qst_code from q_stock_list ";
$result = sql_query($sql);
for ($i=0; $i<10; $i++) { $row = sql_fetch_array($result); ?>
	<tr>
		<td class="text-center listCompany listCompany<?php echo $i;?>"><a href="stock_popup.php?code=<?php echo $row[qst_code];?>"> </a></td>
		<td class="text-center listPrice"></td>
		<td class="text-center listGap"></td>
		<td class="text-center listGapper"></td>
		<td class="text-center listVolume"></td>
		<td class="text-center listHigh"></td>
		<td class="text-center listLow"></td>
		<td class="text-center listRest"></td>
		<td class="text-center"><button type="button" class="buy_btn btn btn-black btn-sm">매수</button></td>
	</tr>
<?php } ?>
</tbody>
</table>
<?php } else {?>
<div class="list-media">
<?php 
$sql = " select qst_code from q_stock_list ";
$result = sql_query($sql);
for ($i=1; $i<10; $i++) { $row = sql_fetch_array($result); ?>	
	<div class="media">
		<div class="media-body">
			<h5 class="media-heading">
				<span class="pull-right">
					<i class="fa fa-dollar"  style="color:orangered;"></i>
					<span class="font-12 listPrice" style="color:orangered;"></span>
					  <span class="font-12 listGap"></span>
					<span class="font-12">(<span class="listGapper"></span>)</span>
				</span>
				<span class="listCompany listCompany<?php echo $i%2;?>"><a href="stock_popup.php?code=<?php echo $row[qst_code];?>"> </a></span>
			</h5>
			<div class="font-12 en text-muted media-info">
				거래량 :
				<span class="font-12 listVolume" style="color:orangered;"></span>
				고가 :
				<span class="font-12 listHigh" style="color:orangered;"></span>
				저가 :
				<span class="font-12 listLow" style="color:blue;"></span>
				매물 :
				<span class="font-12 listRest" style="color:orangered;"></span>
				<div class="btn-group pull-right">
					<button type="button" class="buy_btn btn btn-black btn-sm">매수</button>
				</div>
			</div>
		</div>
	</div>
<?php } ?>
</div>
<?php } ?>
<div style="height:20px;"></div>
 
<div class="pagingWrap">
	<div class="listPaging">
		<button type="button" class="btn btn-black btn-sm" id="button_first">처음</button>
		<button id="button_prev">이전</button>
		<?
			if ($totalpage > 9 ) {
				$j = 9;
			}
			else {
				$j = $totalpage;
			}
 
			for ($i=1; $i<=$j; $i++) {
				echo "<button type='button' class='botton_page btn btn-black btn-sm'>{$i}</button>";
			}			
		?>
		<button type="button" class="btn btn-black btn-sm" id="button_next">다음</button>
		<button type="button" class="btn btn-black btn-sm" id="button_last"> 끝 </button>
	</div>
</div>
 
<div style="height:30px;"></div>
 
<div id="buy_dialog" title="주식 매수">
	<p class="validateTips">구매 수량을 입력하신 후, 매수 버튼을 누르세요.</p>
 
	<form action="#">
	<fieldset>
		<label for="buyCompany">종목명</label>
		<input type="text" name="buyCompany" id="buyCompany" class="text ui-widget-content ui-corner-all" readonly="readonly" />
		<label for="buyPrice">현재 시세</label>
		<input type="text" name="buyPrice" id="buyPrice" class="text ui-widget-content ui-corner-all" readonly="readonly" />
		<label for="buyNum">구매 수량</label>
		<input type="text" name="buyNum" id="buyNum" class="text ui-widget-content ui-corner-all" />
		<div id="trade_slider"></div>
		<input type="hidden" name="codeNum" id="codeNum" value="" class="text ui-widget-content ui-corner-all" />
	</fieldset>
	</form>
</div>
 
 

이 질문에 댓글 쓰기 :

답변 1

엉뚱한 다른 번호라고 하셨는데.. 해당레코드가 다른번호인지 구분할 방법이 없어보입니다.

코드 가져올때 select qst_code from q_stock_list 이렇게 order by도 없고 limit도 없이는.. 1페이지나 2페이지나 링크값은 계속 동일한 값이 들어가겠죠; 

 

각 항목에는 스크립트에서 값을 넣어주는 건가요? 그렇다면 스크립트쪽에서 어떤값을 어떤식으로 넣어주는지 규칙을 보고 같은 방식으로 코드값을 넣어줘야 할걸로 보입니다만.. 그것도 아니라면 쿼리 던질때 코드만 가져올게 아니라 아예 출력할 값들까지 같이 가져와서 직접 출력해주는게 좋을듯 보입니다.

전체 구성을 알 수가 없어서 정확한 답변은 힘들겠군요.

답변을 작성하시기 전에 로그인 해주세요.
전체 7
QA 내용 검색

회원로그인

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