Autor Zpráva
Fisak
Profil
Zdravím, jdu sem s prosbou o pomoc při tvoření kódu pro výpis z databáze kdy moje tabulka v DB vypadá takto:

id jmeno pozice uroven
1 Franta Novák Vozič 1
2 Jaroslav Pavel Skladník 5
3 Lojza Novák Vozič 4
4 Lojza Novák Skladník 5
5 Franta Novák Skladník 1
6 Jaroslav Pavel Vozič 1
7 Jaroslav Pavel Operátor 2
8 Lojza Novák Uklízeč 1
9 Lojza Novák Operátor 5
10 Franta Novák Operátor 4

ale potřebuji ji vypsat v tomto stylu:

Vozič Skladník Operátor Uklízeč
Franta Novák 1 1 4
Jaroslav Pavel 1 5 2
Lojza Novák 4 5 5 1


=> v prvním řádku vypisuji přes DISTINCT unikátní názvy pozic
=> v prvním sloupci vypisuji přes DISTINCT unikátní jména

a pak potřebuju k nim přiřadit jednotlivé úrovně což mi momentálně vůbec nejde a dělám to zbytečně přes moc dotazů na DB ikdyž nejspíše by to šlo udělat elegantněji:

1<?php
2$projekt = $this->Database("SELECT DISTINCT pozice FROM prehled ORDER by pozice");
3$projektVypis = $this->Database("SELECT DISTINCT jmeno FROM prehled ORDER by jmeno");
4 
5?>
6<table>
7  <thead>
8    <tr>
9      <th>Jméno</th>
10      <?php foreach ($projekt as $projektData): ?>
11      <th><?=$projektData['pozice']?></th>
12      <?php endforeach; ?>
13    </tr>
14  </thead>
15  <tbody>
16  <?php foreach ($projektVypis as $projektVypisData): ?>
17    <tr>
18      <td><a><?=$projektVypisData['jmeno']?></a></td>
19      <?php foreach ($projekt as $projektData): ?>
20      <td><a><?=$projektVypisData['uroven']?></a></td> <!-- ZDE JSEM BOHUŽEL SKONČIL A NEVÍM JAK VYPSAT ÚROVEŇ -->
21      <?php endforeach; ?>
22    </tr>
23    <?php endforeach; ?>
24  </tbody>
25</table>
<?php
$projekt $this->Database("SELECT DISTINCT pozice FROM prehled ORDER by pozice");
$projektVypis $this->Database("SELECT DISTINCT jmeno FROM prehled ORDER by jmeno");
 
?>
<table>
  <thead>
    <tr>
      <th>Jméno</th>
      <?php foreach ($projekt as $projektData): ?>
      <th><?=$projektData['pozice']?></th>
      <?php endforeach?>
    </tr>
  </thead>
  <tbody>
  <?php foreach ($projektVypis as $projektVypisData): ?>
    <tr>
      <td><a><?=$projektVypisData['jmeno']?></a></td>
      <?php foreach ($projekt as $projektData): ?>
      <td><a><?=$projektVypisData['uroven']?></a></td> <!-- ZDE JSEM BOHUŽEL SKONČIL A NEVÍM JAK VYPSAT ÚROVEŇ -->
      <?php endforeach?>
    </tr>
    <?php endforeach?>
  </tbody>
</table>
Kajman
Profil
Musíte si na začátku z databáze vybrat i všechny řádky a uložit je v php např do dvojrozměného pole
$radky[$row["jmeno"]][$row["pozice"]]=$row["uroven"];
a když budete v těch for chtít vypsat úroveň, budete testovat existenci v poli $radky a vypíšete případnou hodnotu.
Toto vlákno je staré, již dlouho do něj nikdo nepřispíval.

Informace a odkazy zde uváděné už nemusejí být aktuální. Nechcete-li řešit zde uvedenou konkrétní otázku, založte si vlastní vlákno, nepište do tohoto. Vložíte-li sem nyní příspěvek, upoutáte pozornost mnoha lidí a někteří z nich si jen kvůli vám přečtou i všechny předcházející příspěvky. Předpokládáte-li, že váš text skutečně bude hodnotný, stiskněte následující tlačítko:


Běda vám, jestli to bude blábol.

0