2012-06-08 2 views
1

데이터베이스에서 정보를 가져 오는 테이블이 있습니다 ... 축구 점수 테이블입니다. 내가 ...이 툴팁 팝업을 열고 경기에 대한 정보를 제공데이터와 HTML 마크 업을 병합하는 더 좋은 방법이 있습니까

를 가져 때

Example of how my tooltip looks

을 보는 방법이 표에서

내가 로고를 포함하는 열이 "내가"하고 때문이다

그래서이 툴팁의 정보를 게시하려면 img 태그의 title 속성을 사용하고 있고 제목에이 코드 title="<?php echo $row['InfoData'].""; ?>"이 있습니다. 데이터베이스 메신저 쓰기

Arena AufSchalke, Gelsenkirchen<br><br> 
<table id='it'> 
<tr><td>8' Klose</td>  <td align='right'>Arnautovic 42'</td></tr> 
<tr><td>23', 47' Özil</td> <td align='right'>Harnik 51'</td></tr> 
<tr><td>28' Podolski</td> <td align='right'> </td></tr> 
</table> 

내 문제에

내가 다시이 모든 HTML 코드를 작성하고 오른쪽에 하나를 오른쪽으로 정렬해야하는 데이터베이스와 CSS의 정보를 입력 할 때마다입니다 나는 테이블의 TD 사이에 패딩을 가지고있다. #it td {padding-right: 5px; padding-left: 5px;}

그래서 나는 이것을 피하기위한 해결책을 원한다? 내가 어떻게 빨리 할 수 ​​있니? 이 모든 코드를 추가하지 않아도됩니다.

+0

출력 할 때'json_encode()'하고 나서'json_decode()'할 수 있습니다. – Bojangles

+0

테이블에 HTML을 쓰지 않으려하거나 ...? –

+0

네, 괜찮아요. 데이터베이스에 데이터를 게시/편집 할 수있는 스크립트가 있기 때문에 데이터베이스에 보관하는 것이 좋습니다. 문제는이 코드를 모두 쓰지 않는 것입니다.이 줄을 어떻게 쓰는지 피할 수 있습니다. 측면의 각 팀 – Peeps

답변

2

해당 HTML을 모두 데이터베이스에 저장하면 안됩니다. 데이터 만 데이터베이스에 저장하십시오. 나는 그 언어를 이해하지 못하기 때문에 정확히 무슨 일이 일어나고 있는지 잘 모르겠다. 그러나 데이터베이스의 칼럼에 그 숫자들을 저장하고 PHP에서 그것들을 쿼리해야한다. 당신은 그 숫자 각각에 대한 변수를 갖게 될 것이고, 그런 다음 테이블 형식으로 출력 할 것입니다. 아래 라인과 같은 간단한 것이 작동합니다 :

<tr><td> </td> <td align='right'><?php echo $variable_name; ?></td></tr> 
1

각 경기에서 득점 한 선수의 목록이있는 테이블이 있습니다. 그 선수들을 얻으려면 쿼리를 실행하고 PHP로 문자열을 만든 다음 제목에 넣으십시오.

$string = "<table>"; 

$r = mysql_query("SELECT * FROM scorers WHERE game=$game_id"); 
while($a = mysql_fetch_assoc($r)) { 
    $string .= "<tr><td>".$a['player_name']."</td></tr>"; 
} 

$string .= "</table>"; 

echo "<img src='x' title='".$string."' />"; 

분명히 이것은 바람직한 예일뿐입니다. 그러나 데이터에서 문자열을 작성한 다음이를 title attrib에 넣는 방법을 보여줍니다. 당신은 나머지를하는 방법을 연습 할 수 있어야합니다.

1

자세한 정보가 없으면 특정 것은 아니지만 데이터베이스에 HTML을 저장하면 안됩니다. 대신 개별 데이터 조각을 필드로 저장하십시오. 텍스트 (다시 나가는 길에 unserialize하는 것을 잊지 마세요!)와 같은 데이터의 배열을 저장하려면, 당신은 associative table, 또는 serialize 배열을 사용하여 저장할 수 있습니다

당신의 $row 값이이 같은 형태의 가정 :

array(
     'InfoName'=>'Astana Arena, Astana', 
     'InfoList'=>array(
      'Klose 48\'', 
      'Gómez 76\'', 
      'Podolski 85\'' 
     ) 
    ) 

코드는 다음과 같을 것이다 :

 $html = $row['InfoName']; 
     $html .= '<br><br><table>'; 
     foreach ($row['InfoList'] as $r) { 
      $html .= ' 
       <tr> 
        <td>&nbsp;</td> 
        <td align="right">'.$r.'</td> 
       </tr> 
      '; 
     } 
     $html .= '</table>'; 
     echo htmlentities($$html); 

htmlentities에 대한 호출은 당신이의 속성 값 내에서 HTML을 저장하는 거라면 필요하다 HTML 요소.

문서

PHP의 htmlentities-http://us3.php.net/manual/en/function.htmlentities.php

PHP의 foreach - http://us3.php.net/manual/en/control-structures.foreach.php

PHP의 serialize-http://php.net/manual/en/function.serialize.php

PHP의 unserialize-http://php.net/manual/en/function.unserialize.php

일대 다 관계에 대한 자습서 - http://en.tekstenuitleg.net/articles/software/database-design-tutorial/one-to-many.html

관련 문제