PHP - 使用多个WHILE语句运行1个查询

时间:2017-04-25 14:37:10

标签: php sql html5

我有一个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

 }

谢谢 - 最好的方法是什么?

2 个答案:

答案 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;

          }

     }