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:

<?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.

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:

0