我想做的是将用 php 提取的信息添加到 css 工具提示中。文本没有出现在工具提示中,而是出现在我拥有的标签标签旁边。工具提示出现在 label 标签上。这是我的代码,所以你可能会帮助我:
<form action="<?php echo $_SERVER['PHP_SELF']?>" method="post">
<?php
//Connect to the database
require_once("dboconn.php");
$conn=ConnectionFactory::connect();
$query = "SELECT * FROM programmer";
$resultset = $conn->query($query);
function projects($prog_id){
require_once("dboconn.php");
$conn=ConnectionFactory::connect();
$query2= "SELECT * FROM programmer pm INNER JOIN project p ON pm.programmer_id=p.programmer_id WHERE pm.programmer_id=:id";
$resultset2= $conn->prepare($query2);
$resultset2->bindValue(":id",$prog_id);
$resultset2->execute();
$isthere=false;
while($row2 = $resultset2->fetch()){
echo "Working on project ".$row2['project_id'].".";
$isthere=true;
}
if(!$isthere){
echo "No projects";
}
}
while ($row = $resultset->fetch())
{
echo "<p class='col'>";
echo "<input type='checkbox' name='programmers[]' id='programmer".$row['programmer_id']."' value='".$row['programmer_id']."'>";
echo "<a href='' class='help tip-below' data-tip='".projects($row['programmer_id'])."'><label for='programmer".$row['programmer_id']."'>".$row['programmer_name']." ".$row['programmer_surname']."</label></a>";
echo "</p>";
}
?>
非常感谢您帮助我!
最佳答案
你的函数 projects()
没有返回值(而是你打印它,顺便说一句,这是不好的做法)!
改变
while($row2 = $resultset2->fetch()){
echo "Working on project ".$row2['project_id'].".";
$isthere=true;
}
if(!$isthere){
echo "No projects";
}
像这样
$result = "";
while($row2 = $resultset2->fetch()){
$result .= "Working on project ".$row2['project_id'].".";
}
if(empty($result)){
return "No projects";
}
return $result;
为了阐明这一点,您可以将函数想象成一个计算器。您输入特定数据(例如方程式),它返回一些东西(解决方案)。里面发生了什么,您不知道也不关心。
现在回到 PHP,输入很清楚:参数 ($prog_id
),但是您的函数没有返回值,取而代之的是只是在屏幕上打印一些东西(你真的不应该在开发环境之外做)。要对此进行测试,您可以使用
var_dump( projects($some_id) );
它会返回 NULL
(因为没有指定返回值),但您真正想要的是某种字符串。
关于css 工具提示中的 php 文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20163870/