Autor Zpráva
Ricky4852
Profil
Zdravim,

pokúšam sa o debug pomocou HTML tabuľky, ktorú vygenerujem pomocou array polí v PHP, zväčša mi to funguje správne, až na jeden detail, s ktorým si neviem rady. Prikladám obrázok kde je to znázornené lepšie.



Inak povedané, v čase keď sa key 0 vyhodnotil že mu patrí ďalšie array pole, vykreslí sa jeho hodnota ako nový tr riadok, dalo by sa nejak ten kód upraviť, aby pole začalo vypisovať hneď vedľa bunky key 0, ako je na tom druhom obrázku ?
Prehľadal som už nespočet stránok na google, ale toto je to najvhodnejšie čo som mohol získať, aktuálne skripty ktoré používam sú tu:

$array['id'] = 5;
$array['text'] = "Mein Text";
$array['comments'] = array(5, 4, array(
    'Comic' => array(
        'Title'=>'Superman',
        'Author'=>'Jerry Siegel and Joe Shuster',
        'Publication Date' => '1938'),

    'Science Fiction' => array(
        'Title'=>'Dune',
        'Author'=>'Frank Herbert',
        'Publication Date'=>'1965'),

    'Fantasy' => array(
        'Title'=>'The Hobbit',
        'Author'=>'J.R.R. Tolkien',
        'Publication Date'=>'1937'),   

    'Horror' => array(
        'Title'=>'Carrie',
        'Author'=>'Stephen King',
        'Publication Date'=>'1974')
),23);
$array['author'] = "ich";

html_show_array($array);

function do_offset($level){
    $offset = "";             // offset for subarry 
    for ($i=1; $i<$level;$i++){
    $offset = $offset . "<td></td>";
    }
    return $offset;
}

function show_array($array, $level, $sub){
    if (is_array($array) == 1){          // check if input is an array
       foreach($array as $key_val => $value) {
           $offset = "";
           if (is_array($value) == 1){   // array is multidimensional
           echo "<tr>";
           $offset = do_offset($level);
           echo $offset . "<td>" . $key_val . "</td>";
           show_array($value, $level+1, 1);
           }
           else{                        // (sub)array is not multidim
           if ($sub != 1){          // first entry for subarray
               echo "<tr nosub>";
               $offset = do_offset($level);
           }
           $sub = 0;
           echo $offset . "<td main ".$sub." width=\"120\">" . $key_val . 
               "</td><td width=\"120\">" . $value . "</td>"; 
           echo "</tr>\n";
           }
       } //foreach $array
    }  
    else{ // argument $array is not an array
        return;
    }
}

function html_show_array($array){
  echo "<table cellspacing=\"0\" border=\"2\">\n";
  show_array($array, 1, 0);
  echo "</table>\n";
}

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: