tiny ‘n’ smart
database layer

Odkazy: dibi | API reference

Oznámení

Omlouváme se, provoz fóra byl ukončen

vice vysledku v DibiResult (s ODBC driverem; odbc_next_result) ?

před 10 lety

wdolek
Člen | 331

lze pomoci dibi vytvorit dotaz, ktery by vracel vice vysledku… a pak ve vysledcich prechazet? koukam do API dokumentace a nemuzu najit, v quickstartu taktez nic.

pouzivam ODBC s MSSQL… http://us3.php.net/…t-result.php

? :)

před 10 lety

wdolek
Člen | 331

.. vlastne kdyz na to tak koukam, mohl bych udelat…

$result = $db->query('EXECUTE myExtraCoolOmniStoredProcedure');

// foo result
$foo = $result->fetchAll();

// seek to next result :)
odbc_next_result($result->getResource());

// bar result
$bar = $result->fetchAll();

jen si tedy nejsem jisty, jak to ovlivni chovani dibi, kdyz si na ten druhy vysledek prejdu takhle samostatne. a na lusteni zdrojaku je jeste prilis brzo 8)

před 10 lety

LastHunter
Člen | 1539

A co foreach? :)

foreach($result->fetchAll() as $row) {
  //do whatever you want
}

EDIT: dibi má i metodu seek, která tě posune na další výsledek, viz Quick Start – Získávání výsledků.

Editoval LastHunter (21. 7. 2009 14:16)

před 10 lety

wdolek
Člen | 331

LastHunter: tedy nevim nevim…

  1. v dibi pro odbc nikde nevidim „odbc_next_result“ – fetch all fetchuje pouze z jednoho vysledku (alespon co se divam do dokumentace php)
  2. seek funkce pro odbc driver taktez nepresouva kurzor na dalsi vysledek (jen neco priradi do radku a vrati true)

před 10 lety

wdolek
Člen | 331

LastHunter: ano, skutecne fetchAll vubec nepocita s „vicevysledkovym“ vysledkem :( dokonce ani query, ani ten zpusob, ktery sem uvedl nefunguje – vysledek je vzdy prazdne pole :(

a tak me napada, ze mozna tohle neni ani v moci ODBC + MSSQL

Editoval wdolek (22. 7. 2009 14:00)