2013-08-14 2 views
0

필드 이름, 전자 메일, 도시를 가져 오는 mysql 데이터베이스에서 동적으로 테이블을 만듭니다. 전자 메일 열에는 "mailto :"링크로 전자 메일이 있습니다. 현재 그들은 하이퍼 링크없이 전자 메일을 표시합니다. 페이지에 '필터'양식이 있는데, 제출하면 사용자가 양식 텍스트 상자에 지정된 이름과 일치하는 결과 만 표시합니다.테이블 셀의 열 링크 대상 텍스트

저는 동적 인 것을 만드는 데 매우 초심자입니다. 이메일 열을 하이퍼 링크로 표시하는 가장 쉬운 방법은 무엇입니까? JavaScript를 사용하여 모든 tr의 두 번째 td에 대해 getElementByID 루프를 수행하고 문자열 조작을 사용하여 "mailto :"를 수정하는 방법에 대해 생각했습니다. 어쩌면 이것이 PHP에서 실제로 더 많이 행해지는 것일까?

편집 : 내 질문에 대한 분명한 해결책을 알게되었습니다. 간단히 말해 href mailto : SQL db에서 내 전자 메일 필드를 가져 와서 테이블에 표시하는 PHP 명령의 반향 앞에 연결합니다.

+0

당신이 무슨 짓을 해봤습니까? –

답변

1

실제로 이것은 PHP에서 더 실제적으로 수행됩니다. $result에는 사용자를 가져 오는 MySQL SELECT 문의 결과가 포함되어 있다고 가정하면 다음과 같이 사용할 수 있습니다.

while ($u = $result->fetch_assoc()) { 
    // Output other data 
    // ... 

    echo '<a href="mailto:' . $u['email'] . '">' . $u['email'] . '</a>'; 

    // ... 
} 

여전히 대신에 (당신이 정말로 일을해서는 안) mysqlimysql를 사용하는 경우, 다음 대체

while ($u = $result->fetch_assoc()) { 

while ($u = mysql_fetch_assoc($result)) { 
+0

고맙습니다. 나는 이것이 내 자신의 숙고의 조금 후에 가장 우아한 해결책이 될 것이라는 것을 깨달았다. – user1848181

0
$db = new PDO(//your dsn, host and password); 
$query = $db->prepare('SELECT name,email from users'); 
$query->execute(); while($row = $query->fetch(PDO::FETCH_ASSOC)) 
{ 
echo '<a href="mailto:"'.$row['email'].'">'.$row['name'].'</a>'; 
}