Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] jak polaczyc poszczegolne odwrocone rekordy w tablicy
AndyPSV
post 3.02.2011, 16:07:47
Post #1





Grupa: Zarejestrowani
Postów: 393
Pomógł: 5
Dołączył: 6.02.2003
Skąd: The.Luciferian.Doctrine.p
df

Ostrzeżenie: (30%)
XX---


  1. array ( 0 => array ( 'c0' => '6/111', 'c1' => '6/114', 'cnt' => '1', ), 1 => array ( 'c0' => '6/114', 'c1' => '6/111', 'cnt' => '1', ), 2 => array ( 'c0' => '6/145', 'c1' => '6/116', 'cnt' => '1', ), )


chce, aby tak jak w zalaczonym przykladzie; "poprzestawial" jak w
0 => array ( 'c0' => '6/111', 'c1' => '6/114', 'cnt' => '1', ),
1 => array ( 'c0' => '6/114', 'c1' => '6/111', 'cnt' => '1', ),

c0 i c1, aby wyszlo (i zostala zresetowana tablica)

0 => array ( 'c0' => '6/111', 'c1' => '6/114', 'cnt' => '2', ),
1 => array ( 'c0' => '6/145', 'c1' => '6/116', 'cnt' => '1', ), )

jak to zrobic? wydaje mi sie, ze na samym SQL nie da sie tego zrobic (zn. "poprzestawiac"), ponadto wydaje mi sie, ze bedzie przydatny ten kod:

  1. /*
  2. $_c1 = @array_merge($_c1,$_c1x); if(!empty($_c0)) {
  3. foreach($_c1 as $value) {
  4. if(!isset($c1x[$value['id']])) {
  5. $c1x[$value['id']] = $value;
  6. $c1x[$value['id']]['cnt'] = 0;
  7. } $c1x[$value['id']]['cnt']++;
  8. } $this->tpl->assign('c1x',$c1x);
  9. } */


prosze o pomoc, dziekuje

  1. $q = q('SELECT (CASE WHEN c0 > c1 THEN c0 ELSE c1 END) AS c0, (CASE WHEN c0 > c1 THEN c1 ELSE c0 END) AS c1, COUNT(*) AS cnt FROM `'.PRFX.'ads` WHERE '.$sql.' GROUP BY c0, c1'); while($_d = f($q)) $d[] = $_d; var_export($d); die;
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 09:46