Autor Zpráva
OOP novice
Profil *
Hezky den preji vsem,
zbastlil jsem si nasledujici kus kodu (jez neskromne nazyvam tridou) pres ktery prohanim sql dotazy. Problem je, ze kdyz mam v kodu dva a vice sql, tak se mi vysledky skladaji "jakoby do sebe". Vyresil jsem to pridanim $i do fetch_data,ale nemyslim si, ze to je to prave orechove. Muze nekdo funodvane poradit? Kod jsem lehce ocesal pro ucely prezentace zde lec klicove casti zustaly zachovany:

Diky T.

class mdb{
  function mdb($DSN='',$DSN_User='',$DSN_Passwd=''){
    $this->connect = odbc_connect( $DSN, $DSN_User, $DSN_Passwd );
  }
  function query($q){
    $this->results = odbc_exec($this->connect,$q);
  }
  
  function fetch_data(){
    $i=0;
    while(odbc_fetch_row($this->results)){
   # tohle ma zabranit vraceni prazdneho radku, pac to pouzivam pro ziskavani dat z mdb - duvody proc mdb nejsou pro ucely teto diskuse podstatne! 
      if($result=odbc_fetch_array($this->results)){
        $this->row[$i]=$result;
        $i++;
      }
    }
    odbc_close($this->connect);
  }
  function get_results($q=null){
    $this->query($q);
    $this->fetch_data();
    return $this->row;
  }
}
OOP novice
Profil *
A druha zahada. Vraci mi to jen kazdy druhy radek =-O
Mike8748
Profil
A druha zahada. Vraci mi to jen kazdy druhy radek
proto ze to tak mas naprogramovany, to neni zahada

while(odbc_fetch_row($this->results)){   // fetch_row nacte prvni radek (lichy), ale nikam ho neulozi.
if($result=odbc_fetch_array($this->results)){ // fetch_array nacte druhy radek (sudy)...
$this->row[$i]=$result;
$i++;
}
} 

a tak porad dokola

v ramci jednoho pruchodu smyckou while, nactes dva radky z vysledku, ale pouze ten druhy zpracujes
OOP novice
Profil *
> Mike8748 ;-) vim, ze to neni zahada a primarni problem s tim, ze neco nejede jak ma sedi na zidli autora, ale myslim ze troska uvolneni (mohl jsem to dat do uvozovek pravda) neni na skodu. Nicmene diky za radu.
OOP novice
Profil *
> Mike8748 Ja jsem fakt ptak.... dyk tam je redundantni radek a navic uplne k nicemu. Jdu se nakopat. Diky...Kazdopadne puvodni dotaz zustal nezodpovezen
OOP novice
Profil *
Takze fce fetch_data opravena:
function fetch_data(){
  $i=0;
  while($result=odbc_fetch_array($this->results)){
    if($result){
       $this->row[$i]=$result;
       $i++; 
  }
 }
}


ale jak poudam, prvni otazak stale nezodpovezena. Poradi nekdo?
nightfish
Profil
Kazdopadne puvodni dotaz zustal nezodpovezen
na začátku fetch_data() vyprázdni $this->row
OOP novice
Profil *
> nightfish: Ha, konstruktivni a vecna odpoved bez zbytecneho balastu. Tak vyprazdnit $this->row mne prirozene napadlo, ale snad geniove zodiakalni, snad osmapadesata vyssi inteligence spikly se proti me, ze jsem to rval furt jinam nez kam to patri a tudiz efekt veskery zadny :-) Diky ti na stotisickrat.
nightfish
Profil
OOP novice
Ha, konstruktivni a vecna odpoved bez zbytecneho balastu.
to se o té tvé říct nedá ;-)
OOP novice
Profil *
> nightfish :-D

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: