所以,我有这个问题。我正在努力练习面向对象的编程,并且我已经开始使用这个半OOP脚本了。它是如何工作的,我有一个名为portal_robot_error的表包含所有机器人错误。然后我有另一个名为portal_robot_service的主表,女巫是该服务的最高级别。连接到此表我还有2个与portal_robot_service表链接。这些名为portal_service_robot_errorservice,portal_service_robot_changeservice包含服务的详细信息。我希望我已经设法解释这部分足够好了!
这就是我想要做的。当用户搜索机器人时,所有错误和所有服务应以按日期排序的列表结束。
实施例: 用户搜索机器人21。 结果: 错误1 - 日期,机器人,位置,错误代码等。 错误2 - 日期,机器人,位置,错误代码等。 服务1 - 日期,机器人,服务类型等 错误3 - 日期,机器人,位置,错误代码等。 错误4 - 日期,机器人,位置,错误代码等。 等...
由于脚本现在只显示错误,我如何在列表中显示服务?
提前致谢!
<?php
elseif(!empty($query) && empty($inDate) && empty($id) && empty($dateLike)) {
$arr = array();
$q = mysql_query("SELECT * FROM portal_robot_error WHERE robot = '$robot'");
while($r = mysql_fetch_object($q)) {
$m = "Robot ".$r->robot;
$s = mysql_query("SELECT * FROM portal_service WHERE service_date >= '$this->lastService' AND service_date <= '$r->date' AND service_module = '$m' AND service_id > '$this->lastId' LIMIT 1");
if(mysql_num_rows($s) > 0) {
echo "SELECT * FROM portal_service WHERE service_date >= '$this->lastService' AND service_date <= '$r->date' AND service_module = '$m' AND service_id > '$this->lastId' LIMIT 1<br />";
$z = mysql_fetch_object($s);
$this->lastId = $z->service_id;
if($z->service_type == "Errorservice") {
$e = mysql_query("SELECT * FROM portal_service_robot_errorservice WHERE service_id = '$z->service_id'");
$f = mysql_fetch_object($e);
$errorservice_track = $f->tracksensor;
$errorservice_gripper = $f->gripper;
$errorservice_cover = $f->cover;
$errorservice_wheel = $f->wheel;
$service_text = "Errorservice HIHIHIHI".$this->lastId;
$service = new Error($this->lastId, $z->service_date, "", "", $z->service_module, "", "", $z->service_type, $z->service_comment, $service_text, "", $z->service_user);
array_push($arr, $service);
}
elseif($z->service_type == "Changeservice") {
$e = mysql_query("SELECT * FROM portal_service_robot_changeservice WHERE service_id = '$z->service_id'");
$f = mysql_fetch_object($e);
$service_text = "Changeservice HIHIHIHI".$this->lastId;
$service = new Error($this->lastId, $z->service_date, "", "", $z->service_module, "", "", $z->service_type, $z->service_comment, $service_text, "", $z->service_user);
array_push($arr, $service);
}
}
else {
$n = new Error($r->error_id, $r->date, $r->stoptime, $r->starttime, $r->robot, $r->rob_status, $r->position, $r->error_code, $r->observation, $r->solution, $r->downtime, $r->user);
array_push($arr, $n);
$this->lastService = $r->date;
}
}
return $arr;
}
?>
答案 0 :(得分:0)
好的,我找到了解决方案。当我们将数据导入数据库时出错了,并在所有内容的末尾添加了\ r \ n。我的问题是if($ z-&gt; service_type ==“Changeservice”)没有命中。那是因为最后没有人看到......
我会阅读PDO和MySQLi:)