我正在使用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