2014-01-26 4 views
0

데이터베이스에서 데이터를 선택하기 위해 'SELECT'문을 사용하는 경우 PHP를 사용하여 페이지의 특정 위치에 특정 행을 표시하는 방법은 무엇입니까?PHP를 사용하여 특정 장소에 특정 mysql 데이터를 표시하는 방법은 무엇입니까?

더 잘 설명하려면 - 나는 테이블에서 SELECT * ALL을 시도하지만 PHP를 사용하여 HTML 페이지의 특정 위치에 여러 행을 표시합니다.

그래서 내 전체 마크 업과 CSS는 페이지에 20 개의 미리보기 이미지가 있고 각각의 미리보기 이미지에는 각 미리보기 이미지에 고유 한 데이터와 이미지가 있다고 상상해보십시오. 아래 20 번을 복제해야합니까? 내가 가장 좋은 방법은 (아마도 완전히 잘못이다)이 일을 생각하고

는 ID가 = 4 >>> 내가 특정 데이터를 원하는 즉 경우 WHERE name_of_table이 보증서

SELECT *를 사용하는 것입니다 에코 ...

따라서 20 개의 축소판을 만들면이 20 번을 수행합니까?

<?php 
// Connects to your Database 
mysql_connect("localhost", "username", "password") or die(mysql_error()); 
mysql_select_db("Database_Name") or die(mysql_error()); 
$data = mysql_query("SELECT * FROM name_of_table WHERE ID = 4;") 
or die(mysql_error()); 
Print "<table border cellpadding=3>"; 
while($info = mysql_fetch_array($data)) 
{ 
Print "<tr>"; 
Print "<th>Name:</th> <td>".$info['name'] . "</td> "; 
Print "<th>Product:</th> <td>".$info['product_name'] . " </td></tr>"; 
} 
Print "</table>"; 
?> 

그리고, 린스 반복하지만 난

SELECT * FROM name_of_table WHERE ID = 4; 

가장 좋은 방법은 무엇입니까 (각 썸네일은 MySQL을 각 행에서 오는 고유 한 데이터를 가지고) 각 축소판에 대한 아래의 문장을 매번 변경 이러는거야?

감사합니다.

+2

모델을 분리하십시오. 모든 데이터를 배열로 읽어들입니다. 즉, 관련 데이터의 배열 만 반환되는 함수 뒤에 SQL을 넣습니다. 그런 다음 루프와 같이 각 배열 항목에 대해 적절한 HTML 출력을 내 보냅니다. 이미지가 갤러리 나 제품 목록과 같은 관련 컨테이너의 일부인 경우 다른 조인 또는 선택이 일반적으로 수행하지만 다른 조인이 없으면 여기에서 'IN'을 사용하여 적절한 ID를 지정할 수 있습니다. 그래서 아니오, 모든 것을 * 한 번 해보십시오. – user2864740

답변

1

간단한 예 .. 먼저 원하는 ID가있는 데이터를 가져옵니다. 데이터 요청에 대한 함수를 만듭니다.

<?php 
    // Connects to your Database 
    mysql_connect("localhost", "username", "password") or die(mysql_error()); 
    mysql_select_db("Database_Name") or die(mysql_error()); 
    $data = mysql_query("SELECT * FROM name_of_table WHERE ID IN (2,3,4,5,6);") 
    or die(mysql_error()); 

    // This holds all data rows 
    $data_array = array(); 

    while($info = mysql_fetch_array($data)) 
     $data_array[] = $data; 

    // Function for rendering data to html 
    function getItemHtml($id) { 

     $html = ""; 

     foreach($data_array as $row) { 
      if ($row['ID'] == $id) { 
      $html = "<td>" . $row['title'] . "</td>"; 
      // etc.. create item html here 
      break; 
      } 
     } 

     return $html; 
    } 

    // To create one item just call this with item id. 

    echo getItemHtml(4); 

?> 
+0

감사합니다. - 빠른 질문 - 왜 $ html = ""비어 있습니까? – henry

+0

그냥 init 코드입니다. 행 위트 전달 된 ID를 찾을 수없는 경우 함수는 빈 문자열을 반환합니다. – Hardy

관련 문제