我正在试图找出下面我的mysqli代码有什么问题。数据绝对在表中。我有两个问题:
我可以在单独的php文件中使用echo <table></table>
部分,如果是,我将如何调用$name,$partner,$cell
等?
<?php
$mysqli = new mysqli($host, $uname, $pword, $db);
if ($mysqli->connect_errno)
{
echo "Connection failed: %s\n", $mysqli->connect_error;
exit();
}
$query = ("SELECT * FROM contacts WHERE contacttype IN ('Buyer','Seller','Buyer / Seller','Investor') AND leadstatus = 'New' ORDER BY date DESC");
$result = $mysqli->query($query);
while ($row = $result->fetch_array()) {
$space = (!empty($row['firstname']) && !empty($row['lastname'])) ? ' ' : '';
$name = $row['firstname'].$space.$row['lastname'];
$partner = $row['spousefirst'];
$cell = (!empty($row['phonecell'])) ? " {$row['phonecell']} (cell)" : '';
$email = (!empty($row['email'])) ? " {$row['email']} (email)" : '';
$ID = $row['ID'];
echo'<table>
<tbody>
<tr>
<td><input type="checkbox" name="" id="" value="<? echo $ID; ?>"></td>
<td><a href="/backend/leads/view/?ID=<? echo $ID; ?> "><strong><? echo $name; ?></strong></a></td>
<td><a href="/backend/leads/view/?ID=<? echo $ID; ?> "><? echo $partner; ?></a></td>
<td><? echo $phonecell; ?></td>
<td><a href="mailto:<? echo $email; ?>"><? echo $email; ?></a></td>
<td><? echo date("M jS, g:i A", strtotime($date)); ?></td>
<td><? echo $contacttype; ?></td>
<td><? echo $agentassigned; ?></td>
<td><? echo $leadstatus; ?></td>
<td><a href="/backend/contacts/notes.php?ID=<? echo $ID; ?>">View </a>+ </td>
<td><a href="/backend/contacts/todo.php?ID=<? echo $ID; ?>">View </a>+ </td>
<td><a href="/backend/contacts/deletesuccess.php?ID=<? echo $ID; ?>">D</a></td>
</tr>
</tbody>
</table>';
}
?>
编辑:
它显示<table>
,但只是没有给我$ name,$ email的值...等等。
答案 0 :(得分:2)
查询看起来很稳定,代码的其余部分也是如此。以下是一些尝试的故障排除步骤:
echo
输出$query
并直接针对您的数据库运行它。你有结果吗?如果您没有从直接查询中获得任何结果,那么这意味着查询返回0行,您的表也将为空。var_dump($result)
以验证其中是否存储了信息。您还可以将更改$result = $mysqli->query($query);
添加到$result = $mysqli->query($query) or die $mysqli->error;
这两个步骤的结果可以让您对出现问题的地方有所了解。通常,您希望停止查询过程的每个部分,并查看所涉及的每个变量,以确保它具有您希望存储在其中的数据。
回答你的第二个问题:是的,你可以。如果您将表的代码放在一个单独的文件中,然后include()
,那么变量仍然可用于包含的代码。
请参阅include()
上的PHP手册答案 1 :(得分:2)
最终的回声看起来不太好。我更喜欢使用连接字符串来输出变量,就像这样(我只举几行代码):
echo'<table>
<tbody>
<tr>
<td><input type="checkbox" name="" id="" value="'. $ID .'"></td>
<td><a href="/backend/leads/view/?ID='. $ID .'"><strong>'. $name.' </strong></a></td>