0

我正在制作一个邮件图标,它可以发送存储在数组中的不同内容的电子邮件。问题是,内容是使用循环隔离的:

foreach ($table as $data) {
echo '<a id="email-content" href="mailto:?body='.$data->content.'"><i class="icon-envelope" ></i></a>';
echo "<div class='search-tmp-div' style='display:none;'><pre class='search'>$data->content</pre></div>";
}

我想知道是否有人可以使用该功能而无需多次打印信封图标。我希望它只打印一次?

4

2 回答 2

0
$count = 0;
foreach ($table as $data) {
echo "<a id="email-content" href="mailto:?body='.$data->content.'">";
if($count == 0){ echo '<i class="icon-envelope"></i>';}
echo "</a><div class='search-tmp-div' style='display:none;'><pre class='search'>$data->content</pre></div>";
$count++;
}

这只是添加了一个最初值为 的计数器,因此在第一个循环上0打印(其中)。<i class...></i>$count == 0

于 2013-04-01T15:29:35.660 回答
0

是的,有很多,替代方法的一个例子是:

  1. 创建图标按钮
  2. 创建一个 html 表
  3. 在每一行中,放置一个带有复选框或单选框的列(用于选择)
  4. 单击图标按钮后,您将获得选定的行并发送请求的电子邮件

编辑:

您需要的一个示例是:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
        $(document).ready(function () {
            $("#btn").click(function () {
                selector = "content-"+$("input[type=radio]:checked").val();
                location.href = "mailto:?body="+$("#"+selector).text();
            });
        });
</script>
<?php

$table = array( array( "id" => 1, "content"=>"content 1") , array( "id" => 2, "content"=>"content 2"), array( "id" => 3, "content"=>"content 3"), array( "id" => 4, "content"=>"content 4") );

echo '<img id="btn" src="http://cdn1.iconfinder.com/data/icons/Primo_Icons/PNG/128x128/email_send.png" width="40px" style="cursor:pointer;" />';
foreach ($table as $data) {
    echo "<div class='search-tmp-div' style='display:block;'>";
    echo "<input type=\"radio\" name=\"content\" value=\"{$data['id']}\">";
    echo "<pre class='search' id=\"content-{$data['id']}\">{$data['content']}</pre></div>";
}
于 2013-04-01T15:25:08.917 回答