我正在寻找一种更好的方法来迭代一个对象并显示它的内容。
FormController:
public function run(){ $tabteachers=''; if(!empty($_SESSION['apply']) && !empty($_SESSION['application'])){ $tabteachers = DB::getInstance()->select_teacher_id($_SESSION['login']); } require_once(VIEW_PATH.'formdeux.php'); }
DB.Class函数():
public function select_teacher_id($login){ $query = 'SELECT * FROM teachers,internships,students WHERE teachers.email_teacher = internships.email_responsible_internship AND students.registry_number_student = internships.registry_student_internship AND internships.registry_student_internship = '. $this->_db->quote ( $login ); $result = $this->_db->query ( $query ); if ($result->rowcount () != 0) { while ( $row = $result->fetch () ) { $teacher[]= new teacher ( $row->email_teacher,$row->firstname_teacher,$row->lastname_teacher,$row->responsible_internship_teacher,NULL); } return $teacher; } }
窗体视图:
<table>
<thead>
<tr>
<th width="20%" class="decoration">contact</th>
</tr>
</thead>
<tbody>
<?php foreach ($tabteachers as $teacher) { ?>
<tr>
<td>Lastname: <td>
<input type="text" name="lastnamepro" value="<?php echo $teacher->lastname_teacher() ?>" size="100px">
</tr>
<tr>
<td>Firstname: <td>
<input type="text" name="firstnamepro" value="<?php echo $teacher->firstname_teacher() ?>" size="100px">
</tr>
<tr>
<td>Email address: <td>
<input type="text" name="emailpro" value="<?php echo $teacher->email_teacher() ?>" size="100px">
</tr>
<tr>
<td>Service: <td>
<input type="text" name="servicepro" value="null" size="100px">
</tr>
<tr>
<td>mobile number: <td>
<input type="text" name="phonenumberpro" value="aucun numero" size="100px">
</tr>
<?php } ?>
</tbody>
</table><br>
Db连接:
private static $instance = null; private $_db; private function __construct() { try { $this->_db = new PDO ('mysql:host=localhost;dbname=ProjectWeb;charset=utf8', 'root', '' ); $this->_db->setAttribute ( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); $this->_db->setAttribute ( PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ ); } catch ( PDOException $e ) { die ( 'Erreur de connexion à la base de donnée : ' . $e->getMessage () ); } } // Pattern Singleton public static function getInstance() { if (is_null ( self::$instance )) { self::$instance = new Db (); } return self::$instance; }
多谢您提前帮忙!
我看到您已经将默认的提取模式设置为FETCH_OBJ,但在这个特定的情况下,我认为您可以使用PDO的fetchAll方法将整个结果集作为一个数组获取,然后对其进行迭代,
public function select_teacher_id($login){
$query = 'SELECT * FROM teachers,internships,students WHERE
teachers.email_teacher = internships.email_responsible_internship
AND students.registry_number_student = internships.registry_student_internship
AND internships.registry_student_internship = '. $this->_db->quote ( $login );
$result = $this->_db->query ( $query );
if ($result->rowcount () != 0) {
//fetch the entire result set as a multi-dimensional assoc array
$teachers_result = $result->fetchAll(PDO::FETCH_ASSOC);
return $teachers_result;
}
}
//查看
<table>
<thead>
<tr>
<th width="20%" class="decoration">contact</th>
</tr>
</thead>
<tbody>
<?php foreach ($tabteachers as $teacher) { ?>
<tr>
<td>Lastname: <td>
<input type="text" name="lastnamepro" value="<?php echo $teacher['lastname_teacher'] ?>" size="100px">
</tr>
<tr>
<td>Firstname: <td>
<input type="text" name="firstnamepro" value="<?php echo $teacher['firstname_teacher'] ?>" size="100px">
</tr>
<tr>
<td>Email address: <td>
<input type="text" name="emailpro" value="<?php echo $teacher['email_teacher'] ?>" size="100px">
</tr>
<tr>
<td>Service: <td>
<input type="text" name="servicepro" value="null" size="100px">
</tr>
<tr>
<td>mobile number: <td>
<input type="text" name="phonenumberpro" value="aucun numero" size="100px">
</tr>
<?php } ?>
</tbody>
</table><br>
如何迭代对象及其子对象的属性?我在中使用了,但无法获取歌曲信息:/
我发现自己经常遇到这种模式。我有一个从api中返回的对象数组,我只需要操作所有对象中的一个属性。 有没有办法使用ES6/Babel或Typescript让该模式更具声明性? 寻找一些巧妙的破坏技巧或类似的东西。
本文向大家介绍如何使用jQuery迭代JavaScript对象的属性?,包括了如何使用jQuery迭代JavaScript对象的属性?的使用技巧和注意事项,需要的朋友参考一下 使用该方法可以迭代JavaScript对象的属性。 上面的照片- 将用于任何集合遍历,无论是一个对象或一个数组。我们来看另一个例子- 示例 输出结果 上面的照片-
问题内容: 有没有一种方法来获取数组的迭代器?像这样: 问题答案: 您可以使用: 它只是将数组包装在列表实现中,以便您可以在其上调用方法。 请注意,这种方法仅适用于对象数组。对于原始数组,您将必须实现自己的迭代器(例如,使用匿名类)。 从Java 8开始,您还可以使用开箱即用的迭代器(并且如果是或,也可以使此代码进行编译: 尽管您将无法使用原始数据类型,并且因为没有相应的流实现。但是,您可以使用以
我想要得到一个这样的对象: 通过这样编码: 但我总是得到以下几点:
我试图使用NetworkX来读取Shapefile,并使用函数来生成包含节点和边的Shapefile,但是当我试图运行代码时,它会给我以下错误: 我使用的是Python 3.4,并通过pip安装安装了NetworkX。 在这个错误之前,它已经给了我另一个说“xrange不存在”或类似的东西,所以我查了一下,只是在nx_shp.py文件中将更改为,这似乎去解决它。 据我所知,它可能与Python版本