我正在尝试从我正在尝试使用MySQL的方法中确定正确的语法。我基本上说如果一个表的某一行的某一列中的值等于某些会话变量,我想要回显信息。
我有一张包含subject
,description
和user
的表格。通过获取当前用户的名字和姓氏并将其插入User
下的表格来设置user
。这可以通过以下代码完成:
$sql="INSERT INTO tbl_name (subject, description, user)
VALUES
('$_POST[subject]','$_POST[description]','$_SESSION[firstname] $_SESSION[lastname]')";
然后,一旦我将这些数据调回,我基本上允许用户删除他们自己提交的内容。对我来说,第一步是能够在表格中显示它。我相信这只是语法错误,但我现在对自己的设置方式感到困惑:
$sql = "SELECT * FROM tbl_name ORDER BY subject, description
LIMIT {$startpoint},{$limit}";
$result = $mysqli->query($sql);
$num_rows = mysqli_num_rows($result);
if($num_rows>0){
$field_num = $mysqli->field_count;
echo "<h1>HERE ARE SOME EXAMPLES:</h1>";
echo "<table border='0'><tr>";
for($i=0; $i<$fields_num; $i++)
{
$field = mysql_fetch_field($result);
echo "<td>{$field->subject}</td>";
echo "<td>{$field->description}</td>";
echo "<td>{$field->user}</td>";
if('$field->user' == '$_SESSION[firstname] $_SESSION[lastname]'){
echo '<td>You can delete this</td>';
}
}
我认为$field->user
等于$_SESSION[firstname] $_SESSION[lastname]
,因为这是最初提交到表格的方式(没有'。'进行连接)。
任何帮助将不胜感激。谢谢!
这是我的表输出代码的结果。结果实际上是用$ cell显示而不是在for循环中显示我认为。我在之后添加了if语句,但它似乎没有认出echo "<td>".$field->user."</td>";
,这让我觉得这就是问题所在。我想做的是能够在“echo {$ field-&gt; user}”之后立即添加if语句;以保持代码清洁。我想我已经彻底迷惑了自己:
if($num_rows>0){
$field_num = $mysqli->field_count;
echo "<h1>HERE ARE SOME JOBS:</h1>";
echo "<table border='0'><tr>";
for($i=0; $i<$fields_num; $i++)
{
$field = mysql_fetch_field($result);
echo "<td>{$field->subject}</td>";
echo "<td>{$field->description}</td>";
echo "<td>{$field->user}</td>";
if($field->user == $_SESSION[firstname]." ".$_SESSION[lastname]){
echo '<td>You can delete this</td>';
}
else{
echo "<td>".$field->user."</td>";
echo "<td>".$_SESSION[firstname]." ".$_SESSION[lastname]."</td>";
}
}
echo "</tr>\n";
while($row = mysqli_fetch_row($result))
{
echo"<tr>";
foreach($row as $cell)
echo "<td>$cell</td>";
echo "</tr>\n";
}
mysqli_free_result($result);
}
else{
echo 'There are no jobs!';
}
答案 0 :(得分:1)
我以一种让我更容易理解的方式重新编写代码(尽管可能不是最简单的方法):
while($row = mysqli_fetch_array($result))
{
echo"<tr>";
echo"<td>".$row['subject']."</td>";
echo"<td>".$row['description']."</td>";
echo"<td>".$row['user']."</td>";
if($row['user'] == $_SESSION['firstname']." ".$_SESSION['lastname']){
echo"<td>You can delete this</td>";
}
else{
echo"<td>Code didn't work</td>";
}
echo "</tr>\n";
}
它最终以这种方式工作。如果有更短的方法,请随时在此处发布,否则感谢您的帮助!