我有一个PHP页面,它针对Oracle数据库运行SQL查询
SELECT * FROM TABLE1;
和输出 - 我想根据记录集的值运行5个WHILE语句 - 类似这样....
我想要基于记录集值的1个Query和5个WHILE语句 - 我该怎么做?据我所知,你只能根据1个查询运行1个WHILE语句...... ??
// MOVIE='movieA'
while ($row = oci_fetch_array($query, OCI_ASSOC+OCI_RETURN_NULLS)) {
// data here
}
// MOVIE='movieB'
while ($row = oci_fetch_array($query, OCI_ASSOC+OCI_RETURN_NULLS)) {
// data here
}
// MOVIE='movieC'
while ($row = oci_fetch_array($query, OCI_ASSOC+OCI_RETURN_NULLS)) {
// data here
}
// MOVIE='movieD'
while ($row = oci_fetch_array($query, OCI_ASSOC+OCI_RETURN_NULLS)) {
// data here
}
// MOVIE='movieE'
while ($row = oci_fetch_array($query, OCI_ASSOC+OCI_RETURN_NULLS)) {
// data here
}
谢谢 - 最好的方法是什么?
答案 0 :(得分:1)
先收集:
while ($row = oci_fetch_array($query, OCI_ASSOC+OCI_RETURN_NULLS)) {
$collect[]=$row;
}
然后经常使用该数组
foreach($collect as $row) {
// data here
}
为什么你只能获取一次结果集?
请阅读给定的文档:
PDO http://php.net/manual/en/book.pdo.php
MySqli http://php.net/manual/en/book.mysqli.php
也许还有点算法编码算法https://en.wikipedia.org/wiki/Algorithm
答案 1 :(得分:-1)
您还可以执行以下代码,为什么需要多个while循环
while ($row = oci_fetch_array($query, OCI_ASSOC+OCI_RETURN_NULLS)) {
swith($row){
case 1 :
//do here
break;
case 2 :
//do here
break;
}
}