2013-08-26 4 views
0

blob 이미지를 포함하여 mysql에서 정보를 얻으 려하고 PHP에서 echo하고 다른 페이지로 리디렉션하는 PHP 내에서 onclick 이벤트가 발생합니다. onlick 이벤트는 아래 코드에서 볼 수있는 바와 같이 수행 할 mysql 결과를 포함합니다.mysql에서 이미지를 선택하고 에코하는 방법

내 주요 문제는 코드의 구문 또는 함께 할 수있는 다른 방법이있는 경우입니다. 스크립트가 실행될 때 출력이 Google 이미지, 빙 이미지 등의 유사점임을 명심하십시오. 고맙습니다. 여기

<?php 
$con=mysqli_connect("localhost","root","*******","media"); 
// Check connection 
if (mysqli_connect_errno()) 
{ 
echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 

$result = mysqli_query($con,"SELECT * FROM movies ORDER BY `movies`.`title` ASC"); 

echo "<table border='3' style='margin: auto; text-align: left;background: white;  padding: 3em;'> 
<tr> 
<th><b>Movie Title</b></th>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<th><b>Language</b></th> 
</tr>"; 

while($row = mysqli_fetch_array($result)) 
{ 
    echo "<tr>"; 
    echo "<td style='padding-right: 2em;'><img src="data:image/jpeg;base64,' . base64_encode($row['image']) . '" width="160px" height="200px";" onclick="window.location='lookup.php?pattern=" . $row['title'] . "';>"; 
</td> 
echo "</tr>"; 
} 
echo "</table>"; 

mysqli_close($con); 
?> 

답변

0

안된하지만 당신은 당신의 코드 이동 스타일과 자바 스크립트를 정리 (일부 jQuery를 사용) 머리에 수있는 방법 중 하나입니다 :

<?php 
    $con=mysqli_connect("localhost","root","*******","media") or die("Failed to connect to MySQL: " . mysqli_connect_error()); 
    $result = mysqli_query($con,"SELECT * FROM movies ORDER BY `movies`.`title` ASC"); 
?> 
<html> 
    <head> 
     <script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script> 
     <script> 
      $(document).ready(function() { 
       $('img').each(function() { 
        var img = $(this); 
        img.click(function() { 
         window.location="lookup.php?pattern=" + img.attr('title'); 
        }); 
       }); 
      }); 
     </script> 
     <style> 
      table { 
       margin: auto; 
       text-align: left; 
       background: white; 
       padding: 3em; 
       border: 2px solid #000000; 
      } 
      table tr td { 
       padding-right: 2em; 
      } 
      table tr td img { 
       width: 160px; 
       height: 200px; 
      } 
     </style> 
    </head> 
    <body> 
     <table> 
      <tr> 
       <th>Movie Title</th> 
       <th>Language</th> 
      </tr> 
      <?php 
       while($row = mysqli_fetch_array($result)) { 
        echo " 
         <tr> 
          <td> 
           <img src=\"data:image/jpeg;base64," . base64_encode($row['image']) . "\" title=\"" . $row['title'] . "\"> 
          </td> 
         </tr> 
        "; 
       } 
      ?> 
     </table> 
    </body> 
</html> 
<?php mysqli_close($con); ?> 

또는 당신은 자바 스크립트를 사용하지 않으려면 , 당신은 항상 대신 앵커 태그 주위의 이미지를 래핑 수 :

<td> 
    <a href='lookup.php?pattern={$row['title']}'> 
    <img src=\"data:image/jpeg;base64," . base64_encode($row['image']) . "\"> 
    </a> 
</td> 
+0

와우! 고마워, 굉장한 해결책! 아아! 좋은! – tinshark

+0

당신이 머리 꼭대기에서 이걸 만들었다는 것을 믿을 수 없습니다! – tinshark

0

당신 수 더욱 별도의 PHP와 HTML 코드 :

<?php 
    $con=mysqli_connect("localhost","root","*******","media"); 
    // Check connection 
    if (mysqli_connect_errno()) { 
     echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
     die(); 
    } 
    $result = mysqli_query($con,"SELECT * FROM movies ORDER BY `movies`.`title` ASC"); 
?> 
<table border='3' style='margin: auto; text-align: left;background: white;  padding: 3em;'> 
    <tr> 
     <th><b>Movie Title</b></th> 
     <th><b>Language</b></th> 
    </tr> 
<?php 
    while($row = mysqli_fetch_array($result)) { 
     $img = 'data:image/jpeg;base64,' 
      . base64_encode($row['image']); 
?> 
<tr> 
    <td style='padding-right: 2em;'> 
     <img src="<?php echo $img; ?>" 
      style="width: 160px; height: 200px;" 
      onclick="window.location='lookup.php?pattern=<?php echo $row['title']?>;'" 
     /> 
    </td> 
</tr> 
<?php } ?> 
</table> 

<?php 
    mysqli_close($con); 
?> 

또한이 작업을 수행 할 템플릿 엔진의 일종을 사용할 수 있지만 결과가 될 것이다 거의 같은 - 내가 쓰기, 말에서 많은 점을 볼 수 없습니다,

 <strong>{{ title }}</strong> 

대신

 <strong><?php echo $title; ?></strong> 
관련 문제