Avatar
Petr Nymsa
Redaktor
Avatar
Petr Nymsa:

Ahoj, tápám v PHP a databázích. Dělám různé hokusy pokusy a potřeboval bych následující. Mám pole navrácených hodnot například z dotazu

SELECT ID,nazev,pocetKusu FROM sklad

a snažím se udělat univerzální metodu pro vygenerování metody. Aby byla nezávislá na počtu dat. Potřebuju získat názvy klíčů, ty získávám přes dva foreache což se mi moc nelíbí a věřím že je na to určitě něco mnohem lepšího. Zde tedy posílám nehezký kus kódu a budu se velmi divit, když bude téměř hezký :D. Používám break abych si vypsal názvy pouze jednou.

  echo('<table>');
  echo('<tr>');
  // Výpis názvů klíčů
  foreach ($navrat as $row)
  {
          foreach($row as $x => $i)
          {
              echo('<th>'.$x.'</th>');
          }
          break;

  }
 echo('</tr>');
 //výpis samotných hodnot
foreach ($navrat as $row)
{
  echo('<tr>');
  foreach($row as $x)
  {
    echo('<td>'.$x.'</td>');
  }
  echo('</tr>');
}
echo('</table>');
Odpovědět 9.4.2013 18:49
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Petr Nymsa
Redaktor
Avatar
Petr Nymsa:

Vědel by prosím někdo ? :)

Nahoru Odpovědět 9.4.2013 19:15
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Don
Neregistrovaný
Avatar
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na Don
Petr Nymsa:

Tady je právě problém toho že to je pole v poli. Tj bych musel udělat, pokud se nepletu

foreach($pole as $row)
{
   $x=array_keys($row);
   foreach($x as $i)
   {
     // ...
   }

}

Což je vlastně furt to samý ne ?
Nahoru Odpovědět 9.4.2013 20:41
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Don
Neregistrovaný
Avatar
Don:

Udělal bych něco takovéhohle

echo '<table>';
echo'<tr><th>'.implode('</th><th>',array_keys($seznam[0])).'</th></tr>';
foreach($seznam as $radek){
     echo '<tr><td>'.implode('</td><td>',array_map('htmlspecialchars',$row)).'</td></tr>';
    }
echo '</table>';

Neozkoušený

 
Nahoru Odpovědět 9.4.2013 20:53
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.