2011-06-13 2 views
0

나는 꽤 잃어 버렸습니다.PHP 루프로 생성 된 HTML 메일 보내기

은 내가 아직도 찾고 있어요 때문에 지금 내가 어떤 코드가없는 (나는 생각 MySQL의 루프)를 루프에 의해 생성 된 HTML 내용으로 PHP 이메일

을 보낼 수있는 방법이 있는지 알고 있어야합니다 이것을 달성하는 방법.

몇 마디로 나는 PHP 코드로 HTML 이메일을 보내야합니다.

이 HTML 메일에는 일부 정적 콘텐츠가 포함됩니다.

대신 다른 일부 내용이 mySQL에서 가져옵니다.

문제는 내가 보내야하는 각 콘텐츠에 대해 복제해야 할 테이블이 있다는 것입니다.

설명해 드리겠습니다.

내 사용자는 양식을 제출할 수 있습니다.

이 양식은 1 명 이상의 작성자에 대한 세부 정보를 제공합니다.

양식을 제출하면 모든 세부 사항이 데이터베이스로 이동합니다.

더 많은 작성자에 대한 세부 정보를 입력하면 각 작성자는 자체 데이터베이스 테이블을 갖게됩니다.

이제 더 많은 작가가있는 경우 정보를 입력 한 각 저자의 모든 정보를 포함하여 HTML 이메일을 보내야합니다.

HTML 메일은 간단한 HTML 테이블로 만들어 졌으므로 HTML 메일이 가정해야하는 구조입니다.

1° Table for 1° Author 

2° Table for 2° Author 

3° Table for 3° Author 

지금 내 질문은 간단하다. 이것은 단순히 mySQL 루프를 사용하여 가능합니까?

예인 경우 어떻게합니까?

이해할 수 있도록 아주 기본적인 샘플을 제공해 주시겠습니까?

아니면 다른 것을 사용해야합니까?

고맙습니다.

답변

0

당신도 좀 그 문제를 해결할 다른 DB 레이아웃, 고려해야한다고 생각 대신 를 저자 당 하나의 테이블 (당신은 절대해서는 안됨)은 모든 저자와 테이블에 만들고 현재 "auther-tables"와 동일한 정보를 근본적으로 저장하는 하나의 "content-table"을 만들지 만 각 행은 외래 키 저자 표에 저자에게. 그런 다음 간단한 조인으로 작성자를 SELECT, ORDER 및 GROUP BY 할 수 있으며 하나의 쿼리로 모든 데이터를 쉽게 얻을 수 있습니다.당신은 다음 쉽게 PHP에서 HTML 테이블을 만들 수 쿼리의 결과로 :

하는 것은 다음과 같은 쿼리

SELECT a.author_name AS name, c.content_title AS title 
    FROM content c JOIN author a ON a.author_id=c.author_id 
    ORDER BY a.author_name 
을 실행하면 당신은 PHP에서 그런 일을 할 수

:

if(count($result) > 0) 
{ 
    $currentName = $result[0]['name']; 
    $tables = "<table><tr><th>" . $currentName . "</th></tr>"; 
    foreach($result as $row) 
    { 
     if($currentName != $row['name']) 
     { 
      $currentName = $row['name']; 
      $table .= "</table><table><tr><th>" . $currentName . "</th></tr>"; 
     } 
     $table .= "<tr><td>" . $row['title'] . "</td></tr>"; 
    } 
    $table .= "</table>"; 
} 
+0

안녕 ChrFin,이 비슷한 사건을 가지고 있지만 내 질문에 도움이 필요 : https://stackoverflow.com/questions/45453338/php-oracle-data-distribution-based-on-department-not-working –

관련 문제