我是一个非常新的人,我需要一些帮助。
<?php
$query = "SELECT owners_dogs.dog_id, dog.name, FROM owners_dogs
LEFT JOIN dog ON owners_dogs.dog_id = dog.id WHERE owners_dogs.person_id=$currId ORDER BY dog.name;";
$result = mysql_query($query) or die('Query failed: ' . mysql_error());
if (mysql_num_rows($result)>0) {
echo "<i>Owner of: </i>";
echo "<div style='padding-left:25px;padding-bottom:10px;'>";
while ($line = mysql_fetch_object($result)) {
echo "<a href='details.php?id=$line->dog_id'>";
echo "$line->name </a><? if(dog.certfied == '1') echo "CP" ?><br>";
}
echo "</div>";
}
?>
我遗漏了一些东西......如果dog.certified = 1,我正试图让脚本回显一些文字
非常感谢任何帮助
答案 0 :(得分:1)
我发现了两个可能的错误
1.要使用certfied
的值进行比较,您应首先在查询中获取该数据
2.您不能在while循环中直接使用dog.certfied
,而是使用$line->certfied
。
试试这个
$query = "SELECT owners_dogs.dog_id, dog.name, dog.certfied, FROM owners_dogs
LEFT JOIN dog ON owners_dogs.dog_id = dog.id WHERE owners_dogs.person_id=$currId ORDER BY dog.name;";
$result = mysql_query($query) or die('Query failed: ' . mysql_error());
if (mysql_num_rows($result) >0 )
{
echo "<i>Owner of: </i>";
echo "<div style='padding-left:25px;padding-bottom:10px;'>";
while ($line = mysql_fetch_object($result))
{
$dog_id = $line->dog_id;
$name = $line->name;
echo "<a href='details.php?id=".$dog_id."'>";
echo $name."</a>";
if($line->certfied == '1');
{
echo "CP"."<br>";
}
}
echo "</div>";
}
答案 1 :(得分:0)
试试这个
$query = "SELECT owners_dogs.dog_id, dog.name, certified FROM owners_dogs
LEFT JOIN dog ON owners_dogs.dog_id = dog.id WHERE owners_dogs.person_id=$currId ORDER BY dog.name;";
$result = mysql_query($query) or die('Query failed: ' . mysql_error());
if (mysql_num_rows($result) >0 )
{
echo "<i>Owner of: </i>";
echo "<div style='padding-left:25px;padding-bottom:10px;'>";
while ($line = mysql_fetch_object($result))
{
$dog_id = $line->dog_id;
$name = $line->name;
echo "<a href='details.php?id=".$dog_id."'>";
echo $name."</a>";
if($line->certfied == '1');
{
echo "CP"."<br>";
}
}
echo "</div>";
}
错误是
<? if(dog.certfied == '1')
这里没有php执行echo "CP" ?><br>";
错误,
dog.name, FROM
certified
)。答案 2 :(得分:0)
在certified
列表
SELECT
$query = "SELECT owners_dogs.dog_id, dog.name, certified FROM owners_dogs
LEFT JOIN dog ON owners_dogs.dog_id = dog.id
WHERE owners_dogs.person_id = $currId ORDER BY dog.name;";
如果列certified
仅在一个表中,则此查询将起作用。否则,请将表别名添加到列certified
echo '<a href="details.php?id=$line->dog_id">'.$line->name.'</a>';
echo ((strcmp($line->certfied, '1') == 0) ? "CP" : "")."<br>";
我们在echo ((strcmp($line->certfied, '1') == 0) ? "CP" : "")."<br>";
((strcmp($line->certfied, '1') == 0) ? "CP" : "")
"<br>";
在第一部分中,我们使用三元运算符,它由三部分组成
condition
? true value
:false value
它评估你的给定条件,如果它是真的,那么它返回true value
其他明智的false value
。现在我们的条件为(strcmp($line->certfied, '1') == 0)
,即将$line->certified
与1
进行比较。如果两者相等,则strcmp返回0
。因此,如果$line->certified == 1
"CP"
将以其他方式返回空字符串
在第二部分中,我们只有一个字符串"<br>"
两个部分是连接的,结果字符串是echo
ed
答案 3 :(得分:0)
第1点:从第一行删除“,”
第2点:删除“;”从dog.name
第3点:第echo "$line->name </a><? if(dog.certfied == '1') echo "CP" ?><br>";
行
应该像echo "$line->name </a>"; if($line->certfied == '1') echo "CP <br>";
Here is the code with correction
<?php
$query = "SELECT owners_dogs.dog_id, dog.name, dog.certfied FROM owners_dogs
LEFT JOIN dog ON owners_dogs.dog_id = dog.id WHERE owners_dogs.person_id=$currId ORDER BY dog.name";
$result = mysql_query($query) or die('Query failed: ' . mysql_error());
if (mysql_num_rows($result)>0) {
echo "<i>Owner of: </i>";
echo "<div style='padding-left:25px;padding-bottom:10px;'>";
while ($line = mysql_fetch_object($result)) {
echo "<a href='details.php?id=$line->dog_id'>";
echo "$line->name </a>"; if($line->certfied == '1') echo "CP <br>";
}
echo "</div>";
}
?>