Nasıl bir diziye satırları kaydetmek ve ODBC kullanarak PHP çıktı mı?

2 Cevap php

Ben şu var:

while($myRow = odbc_fetch_array( $result )){ <--lots of rows
    $thisResult['name'] = $myRow["name"] ;
    $thisResult['race'] = $myRow["race"] ;
    $thisResult['sex'] = $myRow["sex"];
    $thisResult['dob'] = $myRow["dob"];
}

Bunu geri yazdırmak için nasıl anlamaya olamaz.

Ben her satırı almak ve bir DataReader gibi dizideki her satır boyunca yineleme yapmak istiyorum. Ben ne emin değilim. Ben süre yankı yapmak istemiyorum. Ben başka bir yerde bunu yazdırmak gerekiyor. Ama ben daha sonra baskı yapabilmek için burada bunu yaptık sanmıyorum.

Ben de, ancak, bu çalıştı:

while($myRow = odbc_fetch_array( $result )){ <--lots of rows
     print($thisResult[$myRow["name"]] = $myRow);
}

Sonra denedim:

while($myRow = odbc_fetch_array( $result )){ <--lots of rows
    print (odbc_result($myRow,"name"));
}

ama bir hata var.

Herhangi bir yardım için teşekkür ederiz.

EDIT: Ben bunu ne zaman:

while($myRow = odbc_fetch_array( $result )){
    print ($myRow["name"]);
}

Ben tanımsız dizin adı olsun. Ben bir dizi tasarruf esas endişe duyuyorum ama ben ilk döngüde bunu yapmak mümkün olmalıdır.

2 Cevap

Önce diziyi bildirmek ve ona değer atamak:

$rows = array();

while($myRow = odbc_fetch_array( $result )){ <--lots of rows
    $rows[] = $myRow;
}

Sonra yazdırabilirsiniz mesela Bu yol:

foreach($rows as $row) {
   foreach($row as $key => $value) {
       echo $key . ': '. $value;
   }
}

veya istediğiniz ancak.

Erişebilir ve $myRow zaten bir dizidir olarak while döngüye $thisResult['name'] = $myRow["name"] atamak zorunda değilsiniz. Sadece gereksiz değerleri kopyalamak.


Eğer satır bir şey var demek. Eğer gerçekten veri ile ne yapmak istediğinize bağlı olarak, bir dizi oluşturma önlemek için while döngüsü içine tüm bu işlevselliği koymak için daha iyi olabilir.

Nasıl hakkında bir şey gibi:

$output = '';
while($myRow = odbc_fetch_array( $result )) {
    $output = $output."Your name is {$myRow["name"]} and your race is {$myRow["race"]}\n";
}

// print output later...