ugrás a tartalomhoz

Lekérdezés eredményeinek csoportosítása bizonyos feltétel szerint

haho · 2009. Nov. 24. (K), 05.13
Sziasztok!
Adott egy shop. A shopban szereplő termékekhez a felhasználók küldhetnek be kérdéseket, amire az eladók válaszolnak. Na erről a kérdések-válaszok tábláról szólna az én problémám:

Egy-egy termék adatlapján ki tudom íratni úgy a termékhez kapcsolódó kérdéseket-válaszokat, hogy rendezi őket aszerint, hogy melyik kérdezőhöz kapcsolódnak:

TEHÁT Pl: ha az adatbázisban ilyen sorrendben szerepel (mert időrendben így érkeztek be):
-Aladár felhasználó kérdése a termékhez (id:1)
-Béla felhasználó kérdése a termékhez (id:2)
-Aladár felhasználónak válasz a kérdésére (id:3)
-Béla felhasználónak válasz a kérdésére (id:4)
-Aladár felhasználó újabb kérdése (id:5)

AKKOR ÉN EZT ÍGY TESZEM SORBA kiíratáskor (ODER BY kérdésekválaszok.felhasználónév,beérkezésdátuma ASC):
-Aladár felhasználó kérdése a termékhez (id:1)
-Aladár felhasználónak válasz a kérdésére (id:3)
-Aladár felhasználó újabb kérdése (id:5)
-Béla felhasználó kérdése a termékhez (id:2)
-Béla felhasználónak válasz a kérdésére (id:4)

És itt jön a problémám: nem csak azt szeretném, hogy a kérdezők szerint csoportosítva legyenek a kérdések és válaszok, hanem azt is szeretném, hogy pl. minden egyes csoport közé (tehát, ha új kérdezőről van szó) tegyen mondjuk valami sor mintát, pl így:

-Aladár felhasználó kérdése a termékhez (id:1)
-Aladár felhasználónak válasz a kérdésére (id:3)
-Aladár felhasználó újabb kérdése (id:5)
:::::::::::::::::::::::::::::::::::::::::::::::::
-Béla felhasználó kérdése a termékhez (id:2)
-Béla felhasználónak válasz a kérdésére (id:4)

Tehát, hogyan tudok az általam rendezett csoportok közé még vmilyen plusz tartalmat kiíratni?
Nyilván ehhez vagy olyan MySql-es feltétel kell lekérdezéskor, amit én nem ismerek vagy lehet, hogy egyszerűen csak nem tudom összekombinálni a meglévő ismereteimet.
Előre is köszönöm a segítséget!
 
1

Nem MySQL-ben oldod meg

fchris82 · 2009. Nov. 24. (K), 10.27
Egyszerűen nem MySQL lekérdezéssel oldod meg, hanem kiírásnál ellenőrzöd, hogy változott-e az adott sornál az felhasználó ID-ja. Ha változik, akkor mielőtt kiírnád a következő sort, elé írod, amit szeretnél. Vhogy így:

$last = null;
while($row=mysql_fetch_assoc($eredmeny)) {
  // Kiírjuk a plusz dolgot, ha változott az érték
  if(!is_null($last) AND $last!=$row['user_id']) {
    echo '::::::::::::::::::::::::::';
  }
  $last = $row['user_id'];
  echo [...]
}
2

Ezer köszönet!

haho · 2009. Nov. 25. (Sze), 05.59
Köszönöm szépen a segítséget! Sikerült megcsinálnom! Tényleg ezer köszönet!

Azért meg bocsi mindenkitől, hogy végül is rossz témába került a kérdést, hiszen csak utóbb derült ki számomra is, hogy a megoldás a PHP.