Klass для mysql

WMix

герр M:)ller
Партнер клуба
Klass для mysql

PHP:
while ($row = mysql_fetch_array($this->result))
{
  while(list($key, $value) = each($row))
  {
    $this->Daten[$key][]=$value;
  }
}
DB
-------------
asd | dsa |
-------------
1 | xxx |
2 | yyy |
3 | | //поле пустое !!ВАЖНО!!
123 |aaa |

вот такой вопросик
дело в том что если поле пустое то оно заполняется предидушими данными

select * from DB where asd=3

echo this->Daten['dsa'][0]; //вывод 3 те поле asd тк dsa пусто
а это мой класс
надо изменить его не меняя структуры (уже много подвязанно)
 

su1d

Старожил PHPClubа
попробуй вместо
PHP:
while(list($key, $value) = each($row))
сделать
PHP:
foreach($row as $key => $value)
 

RomikChef

Guest
вот что значит сразу не думать
и не сделать
while ($row = mysql_fetch_array($this->result))
$this->Daten[]=$row;
}

ну раз замещает пустое, то обнуляй.
пиши $value='';
хотя очень странно - не должно
 

WMix

герр M:)ller
Партнер клуба
да но индексы будут наоборот
те
$this->Daten[0][табл.поле]=value;
было
$this->Daten[табл.поле][0]=value;

может cчётчик влепить вместо [] => [$a] влепить
неохота класс портить такими патчами
\вот что значит сразу не думать\
\хотя очень странно - не должно\
в обоих случаях прав
 

su1d

Старожил PHPClubа
тогда после пробежки по массиву делай тупо unset($row);
обязано заработать =)
 

WMix

герр M:)ller
Партнер клуба
неполохая идея
PHP:
Klass для mysql 

while ($row = mysql_fetch_array($this->result)) 
{ 
  while(list($key, $value) = each($row)) 
  { 
    $this->Daten[$key][]=$value; 
    $value=""; // !!new !!!
  } 
}
 

WMix

герр M:)ller
Партнер клуба
нашёл ошибку в другом месте
класс работает ...хотя очень странно - не должно
конечно все переменные должны печататься какие есть
но вот странность
SELECT mbox_id,
mail_an_adr,
mail_an_name,
mail_from_adr,
mail_from_name,
mail_cc_adr,
mail_cc_name,
mail_subjekt, //я пропустил сдесь зпт и обработчик не дал ошибку и за место mail_body_txt писал mail_subjekt
mail_body_txt,
mail_date
FROM bb_mail
WHERE id='$mailid'
 
Сверху