2014-01-25 2 views
0

방금 ​​Stack Overflow에 등록하면이 게시물을 찾았지만 다른 게시물 그룹을 찾았지만 충분히 똑똑하지는 않습니다 (아직!). 내 질문에 대답하기 위해 함께 넣어 라.while 루프 내에서 테이블을 조인하는 이미지 세트 가져 오기

나는 프로그래밍을 배우기를 좋아하는데, 온라인 과정이나 책을 마친 후에 "진짜"예제를 말해 보자.

What I would like to achieve

내 링크에서 볼 수 있듯이


내가 달성하고자하는 것입니다. 처음에는 모든 데이터를 한 테이블에 가지고 있었지만이 사이트에서 쉼표로 구분 된 이미지 경로를 한 필드에만 저장하는 것이 가장 좋은 방법은 아닙니다. 지금 당장 가지고 있어요 :

  • 1 개의 테이블이 있습니다.
  • 첫 번째 광고를위한 사진 모음이있는 테이블 (지금까지) 1 개.

그래서 내 질문은 내가 테이블에 가입하고 while 루프를 사용하여 광고 당 필요한만큼 많은 그림을 가져올 수 있는지 모르겠다. 라이트 박스 갤러리의 사진들 ...

지금까지 광고 당 1 장의 사진을 넣을 수있었습니다! : S

내 첫 번째 테이블은 다음과 같이 구성됩니다.

| ID | 하우스 유형 | CITY | 제목 | 설명 | PICS | SQRMETER | 가격 | 전화 | 이메일

내 두 번째 테이블은 다음과 같이 구성됩니다.

| ID | PATH | 제목 | ALT |

그리고 지금까지 내 코드 : 당신의 시간들에 대한

$result = mysqli_query($con,"SELECT * FROM t_test"); 

while($row = mysqli_fetch_array($result)) 
    { 
    echo "<div class='ad'>" . 
      "<h2>" . "OFFER " . $row[offer] . $row[house-type] . " in " . $row[city] . 
      "</h2>" . 
      "<h1>" . $row[title] . "</h1>" . 
      "<p>" . $row[description] . "</p>" . 
      "<img src='" . $row[photo] . "'/>" . 
      "<p class='pics-per-ad'>" . "TOTAL PICS" . "</p>" . 
      "<p class='square-meters'>" . $row[sqmeter] . " metros 2" . "</p>" . 
      "<p class='price'>" . $row[price] . " Euros" . "</p>" . 
      "<p class='telephone'>" . $row[telphone] . "</p>" . 
      "<p class='email'>" . $row[email] . "</p>" .         
     "</div>"; 

    } 

mysqli_close($con); 

감사합니다!

+0

무엇을 열하면 가입하려고? – pregmatch

답변

0

많은 솔루션이 있습니다 당신이 성취하려는 것. 나는 당신의 사진 테이블에 링크라는 다른 컬럼을 갖는 것이이 간단한 유지하는 것이 좋습니다, 이것은 광고에 이미지를 연결합니다.

다음 단계를 따르세요.

  1. 이라는 그림 테이블에 열을 만들기

    ALTER TABLE ads ADD linked VARCHAR(255) 
    
  2. 이 사진 테이블과 광고의 테이블 사이의 외래 키 관계를 '연결'. (예 : 광고가 삭제되거나 업데이트 된 경우 사진 테이블에서도 이미지가 삭제됩니다.)

  3. 코드에서 다음과 같이하여 테이블에 가입하십시오.

    $query = ' 
    SELECT ads.*, pics.* FROM ads 
    LEFT JOIN pics ON pics.linked = ads.id 
    '; 
    
    $result = mysqli_query($con,$query); 
    
+0

안녕하세요! 약 2 단계 : 광고 테이블에 내 그림 테이블에서 열 "ID"가있는 열을 사용하여 관계를 만들어야합니까? –

+0

네 맞습니다. 외부 키 설정은 필수는 아닙니다. –

0

각 광고에는 여러 개의 사진이있을 수 있으므로 데이터베이스에 "일대 다"관계를 설정해야합니다. 외래 키를 사용하여이 작업을 수행 할 수 있습니다. 광고 테이블에서

  • 이 각 광고가 고유 한 ID입니다 을 가진 각각뿐만 아니라 이미 고유 ID 찍어 테이블에서
  • 을 가지고는 ads_ID에 대한 추가 필드가 있어야하는 그것을 에 속한다. 당신이 광고 ID의 X를 표시하려면 갈 때
  • 는, 당신은 ads_ID의 X 모든 사진을 얻을 수있는 DB를 조회 :

"SELECT * 사진 FROM WHERE ads_ID = X"

관련 문제