使图像映射可编辑

时间:2016-09-10 15:17:45

标签: php

我使用图片地图使用title属性识别团体照片中的面孔:  等

我可以将coords和title数据存储在数据库中并重建图像映射吗? 我已尝试(并失败)使用此代码:

    <p><img src="1963.jpg" width="5344" height="1152" border="0" usemap="#Map">
  <map name="Map">
<?php
$con=mysqli_connect($host,$user,$passwd,$dbase);    

$query = mysqli_query($con, "SELECT * FROM `t1963`");
    $numrows = mysqli_num_rows($query);

    if ($numrows>0){
        while ($rows=mysqli_fetch_assoc($query) ){
            $id=$rows['id'];
            $coords=$rows['coords'];
            $title=$rows['title'];
            $chr=chr(034);
  $immap = "<area shape=".$chr."circle".$chr." coords=".$coords." href=".$chr."#".$chr." title=".$id." - ".$title.">";
  echo "$immap";
  echo "<br>";
  }
  }
    mysqli_close($con);
?>

  </map>
</p>

1 个答案:

答案 0 :(得分:0)

乍一看(并且没有看到解释的来源)最大的问题是你的某些区域属性值没有被引用。对于每个coords,您的解释来源不会为titlearea属性设置引号。您还可以简化构建$immap变量的方式。见例:

更改:

$immap = "<area shape=".$chr."circle".$chr." coords=".$coords." href=".$chr."#".$chr." title=".$id." - ".$title.">";

$immap = "<area shape='circle' coords='$coords' href='#' title='$id - $title'>";

同时删除<br>。它不应该是<map>的后代。如果您只想将每个<area>放在源代码中的新行中,请使用\n

$echo $immap\n;