我需要做些什么: 我根据项目ID使用来自mySQL的数据填充div。我需要创建要调用div的变量,例如$ tip_ + $ id,这导致:
$tooltip_1
$tooltip_2
$tooltip_3
到目前为止我做了什么:
$query = 'SELECT * FROM top_tips WHERE type = "aw"';
$result = mysqli_query($link, $query);
while ($row = mysqli_fetch_row($result)) {
$tip_ID = $row[0];
$tip_text = $row[2];
$tip_link = $row[3];
$tooltip = "<div class='tooltip-close'><a href='#' class='close'>×</a></div>" .$tip_text . " <a href='" .$tip_link . "'>read more ...</a>";
echo $tooltip;
}
我被困的地方 输出$ tooltip + $ tip_id的最有效方法是什么,这样可以将变量调用到相应的div中?
答案 0 :(得分:2)
你会这样做:
while ($row = mysqli_fetch_row($result)) {
$tip_ID = $row[0];
$tip_text = $row[2];
$tip_link = $row[3];
$tooltip = "tooltip_{$tip_ID}";
$$tooltip = "<div class='tooltip-close'><a href='#' class='close'>×</a></div>" .$tip_text . " <a href='" .$tip_link . "'>read more ...</a>";
echo "tooltip_{$tip_ID}";
}
这将为您提供$ tooltip_1,$ tooltip_2等变量。也就是说,我建议您使用数组。
答案 1 :(得分:1)
为您的代码添加了foreach ..
<?php
$query = 'SELECT * FROM top_tips WHERE type = "aw"';
$result = mysqli_query($link, $query);
while ($results = mysqli_fetch_row($result)) {
foreach($results as $row){
$tip_ID = $row[0];
$tip_text = $row[2];
$tip_link = $row[3];
$tooltip = "<div class='tooltip-close'><a href='#' class='close'>×</a></div>" .$tip_text . " <a href='" .$tip_link . "'>read more ...</a>";
echo $tooltip;
}
}
?>
希望你需要这个解决方案..我在你的问题中感到困惑。
答案 2 :(得分:1)
您可以创建一个$ tooltips数组,如下所示:
$tooltip[] = "<div class='tooltip-close'><a href='#' class='close'>×</a></div>" .$tip_text . " <a href='" .$tip_link . "'>read more ...</a>";
答案 3 :(得分:1)
您似乎关心效率以及如何连接$tooltip_
和$tip_ID
。首先关于效率,我总是学习:当你通过循环获取结果时,永远不会创建变量。永远在外面!
在您的情况下,您可以在获取结果之前创建它:
<?php
$tooltip_array = array(); //Future array containing your $tooltip_1, $tooltip_2...
$query = 'SELECT * FROM top_tips WHERE type = "aw"';
$result = mysqli_query($link, $query);
然后,在你的循环中,你可以将每个工具提示推送到你的数组上,如下所示:
while ($row = mysqli_fetch_row($result)) {
array_push($tooltip_array,"<div class='tooltip-close'><a href='#' class='close'>×</a></div>" .$row[2] . " <a href='" . $row[3] . "'>read more ...</a>");
}
最后你可以用foreach循环来回应这个:
// Iterating through the values
foreach($tooltip_array as $value)
{
echo $value;
}
答案 4 :(得分:0)
我想发布我最终用于阅读此帖子的人的工作解决方案。
$query = 'SELECT * FROM tool_tips WHERE tip_type = "aw"';
$result = mysqli_query($link, $query);
while ($row = mysqli_fetch_row($result)) {
$tooltip_array[$row[0]] = "<div class='tooltip-close'><a
href='#' class='close'>×</a></div>" .$row[2]. "<a href='" .$row[3]. "'>read more ...</a>";
}
然后我将各个工具提示称为:
<?php echo $tooltip_array[12];?>