我正在使用Moodle,但有一个php-mysql有关的疑问,由于缺乏我的知识而变得复杂。检查查询返回的输出是否包含字符串/数字
我有一个查询返回输出正常。使用IF-ELSe条件我需要检查是否有包含字符串的字段之一和包含数字的字段之一的组合。
我检查的字段在数据库表中是以下类型。
element - varchar(255)
value - longtext
这是我的查询下面所提到它返回O/P:
查询
$scormstatus = $DB->get_records_sql("SELECT sc.*, s.name AS activityname FROM mdl_scorm_scoes_track AS sc JOIN mdl_scorm AS s ON s.id = sc.scormid WHERE sc.scormid = '" .$activityid. "' AND sc.userid = '" .$userid. "' AND sc.attempt = '".$scormattempt->attempt."'");
foreach($scormstatus as $status)
{
echo "<br/>".$status->element."**".$status->value."<br/>";
if(is_numeric($status->value))
{
if($status->element = 'cmi.core.score.raw' && $status->value != '0')
{
echo "<br/>Score";
}
else
{
if($status->element = 'x.start.time' && $status->value != '0')
{
echo "<br/>Started";
}
}
}
}
输出:
cmi.core.lesson_location**2
Score
cmi.core.lesson_status**incomplete
cmi.core.score.max**50
Score
cmi.core.score.min**0
cmi.core.score.raw**0
cmi.core.total_time**00:00:22.00
x.start.time**1334767290
Score
现在,你会看到,即使虽然我正在检查'cmi.core.score.raw'和值大于0的组合的条件,但它仍然是prin所有记录的ts'分数',并且永远不会进入其他部分。
理想我很期待看到的输出是这样的
IDEAL O/P:
cmi.core.lesson_location**2
cmi.core.lesson_status**incomplete
cmi.core.score.max**50
cmi.core.score.min**0
cmi.core.score.raw**0
cmi.core.total_time**00:00:22.00
x.start.time**1334767290
Started
我的猜测是,它不能识别的值字段,是一个数字在我的IF - ELSE情况下,因此总是最终进入错误的IF部分。
任何猜测正在发生的事情。由于事先
也没有必要把标签放在标题 – SupremeDud 2012-04-18 17:35:33
是啊不知道为什么我补充说。它现在不在。关于这个问题的任何想法? – ivn 2012-04-18 17:39:41