2009-04-03 4 views
0

이 질문은 "해결할 수 있습니까?"라는 질문에 죄송합니다. 그러나이 약간의 코드는 당분간 당황 스럽습니다.SQL 쿼리에서 PHP 변수 변수 사용

기본적으로 행과 열의 무리가있는 테이블을 만들고 각 테이블에 약간 변경된 SQL 쿼리가 있습니다. 그 모든 것을 타이프하는 것보다 조금 더 쉽게하기 위해 나는이 스크립트를 만들었지 만 조금 복잡해지기 시작했다. 그래서 여러분 중 누구라도 올바른 것을 얻을 수 있을까?

echo '<td background="images/map/'; 
$tile = mysql_fetch_array(mysql_query("SELECT image FROM map WHERE horizontal = ${'mapPiece' . $mapPieceCount . [0]} AND verticle = ${'mapPiece' . $mapPieceCount . [0]}")); 
echo $tile[0]; 
echo '.png"></td>'; 

감사합니다, Stanni 나는이 권리를 해석 가정

답변

5

에서, [0] 중괄호 밖에서 갈 필요 : 모든

echo '<td background="images/map/'; 
$tile = mysql_fetch_array(
      mysql_query(
      "SELECT image FROM map WHERE horizontal = ". 
      ${'mapPiece' . $mapPieceCount}[0]. 
      " AND verticle = ". 
      ${'mapPiece' . $mapPieceCount}[0] 
     ) 
     ); 
echo $tile[0]; 
echo '.png"></td>'; 
+0

감사합니다. – Ryan

4

첫째, 당신은을 추가 할 수 없습니다 배열 색인 [0]처럼, 문자열에 연결하는 것처럼. 전반적으로 몇 줄을 더 추가하면 더 쉽게 작업 할 수 있습니다.

$currentPiece = 'mapPiece' . $mapPieceCount; 
echo '<td background="images/map/'; 

$query = 'SELECT image '. 
      'FROM map '. 
      'WHERE horizontal = '.${$currentPiece}[0].' '. 
       'AND verticle = '.${$currentPiece}[0]; 
$result = mysql_query($query); 
$tile = mysql_fetch_array($result); 

echo $tile[0]; 
echo '.png"></td>';