我想要一个multidim。像这样的数组:
array {[RECORD1] => array {
[ID]=>"0001",
[Name]=>"John",
[Address]=>"Street No...."
}
[RECORD2] => array {
[ID]=>"0002",
[Name]=>"Jane",
[Address]=>"Street No...."
}
}
我设法创建了这样的代码:
$st = $conn->prepare("SELECT * FROM table WHERE c_id=?");
$au='array(';
foreach ($_SESSION['cid'] as $cr){
$st->execute(array($cr));
$rws = $st->fetchAll(PDO::FETCH_ASSOC);
foreach ($rws as $rw){}
$au.='"a'.$cr.'"=>array('; //Record01
$au.='"id"=>"'.$rw['c_id'].'",';
$au.='"name"=>"'.$rw['c_name'].'"';
$au.='),';
}
$au=trim($au,',');
//substr($au,0,-1);
$au.=');';
结果是一个字符串,但是包含数组的内容。
第二个问题:使用OOP做我想要的更好吗?
我需要的是什么:我选择了一些"记录" (可以在以后删除/添加),我会将它们集成到比较页面中。这个数组/类应该足够灵活,以便我可以轻松地改变它(添加/删除记录时)。 我想使用数组我可以轻松删除/添加"记录"。
谢谢。
答案 0 :(得分:0)
假设您可以使用$_SESSION['cid']
中的一个cid;
$sSQL = 'SELECT c_id, c_name, c_address FROM table WHERE c_id=:c_id';
$st = $conn->prepare($sSQL);
$st->bindValue( 'c_id', $_SESSION['cid'], PDO::PARAM_INT );
$st->execute();
// create results array
$aResults = array();
// while there are rows to get, loop over and store results in array
while($row = $st->fetch()){
$aResults[$row['c_id']] = array('Name'=>$row['c_name'], 'Address'=>$row['c_address']);
}