Autor Zpráva
dggf
Profil *
Ako mám použiť foreach, keď mám v premennej nejaký select z dvoch prepojených tabuliek? Keď to spravím takým štýlom:
foreach($query as $udaj) echo $udaj->typ."<br>".$udaj->auto."<br>";
Vypíše to toto:
Osobné autá
Škoda
Osobné autá
Ford
Osobné autá
Seat
Nákladné autá
Liaz
Nákladné autá
Tatra
Ako to mám urobiť, aby to vypisovalo takto?
Osobné autá
Škoda
Ford
Seat
Nákladné autá
Liaz
Tatra
Asi tam treba vnorený foreach, ale neviem, ako to mám urobiť.
Taps
Profil
dggf:
Nadpis skupiny
Bertram
Profil
Ahoj,
foreach ($udaje as $udaj){
  <h1>$udaj->typ</h1>
  <ul>
    foreach ($udaje as $hledanyTyp){
      if ($udaj->typ === $hledanyTyp->typ){
        <li>$hledanyTyp->auto</li>
      }
    }
  </ul>
}
dggf
Profil *
[#3] Bertram
To tiež nie je ono. Spraví to niečo také:

Osobné autá
Škoda
Ford
Seat
Osobné autá
Škoda
Ford
Seat
Osobné autá
Škoda
Ford
Seat
Nákladné autá
Liaz
Tatra
Nákladné autá
Liaz
Tatra

Ja by som to chcel takto:

Osobné autá
Škoda
Ford
Seat
Nákladné autá
Liaz
Tatra
Bertram
Profil
dggf:
Ahoj, tak tam přidej další pomínku.
foreach ($udaje as $udaj) {
    $data = array();
    if (!isset($data[$udaj->typ])) {

        $data[$udaj->typ] = array();
        foreach ($udaje as $hledanyTyp) {
            if ($udaj->typ === $hledanyTyp->typ) {
                $data[$udaj->typ][] = $hledanyTyp->auto;
            }
        }
    }
}
var_dump($data);
Nebo to také mužeš řešit už dotazem na databázi např. s GROUP_CONCAT
Tori
Profil
dggf:
Podívejte se na ten odkaz od Tapse ([#2]), to je lepší řešení.
dggf
Profil *
diki, nakoniec som to vyriešil podľa toho, čo je v tej druhej diskusii

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: