[英]PHP syntax help on if statement
我正在嘗試根據要使用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之后添加了if語句,但似乎無法識別echo "<td>".$field->user."</td>";
這使我認為這就是問題所在。 我想做的是能夠在`echo {$ field-> 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!';
}
我以更容易理解的方式重新編寫了代碼(盡管可能不是最短的方式):
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";
}
它最終以這種方式工作。 如果可以縮短操作時間,請隨時將其發布在這里,否則,謝謝您的幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.