Autor Zpráva
Sirius
Profil
Zdravím,

potřeboval bych vypsat každý řádek, kde je shodné id pouze jednou. Zkoušel jsem různé kombinace while, do-while a if, ale k výsledku jsem nedošel. Nevím jestli na to neexistuje přímo nějaká funkce, nebo nebude-li potřebovat vytvořit vlastní (případně jakou).

Příklad:

ID | Nejaky_Udaj
---+------------------
1  | BlaBlaBla
1  | 456789
2  | 957423
2  | 486734
2  | 468723
3  | 594867


Z této tabulky potřebuju vypsat každé ID a hodnotu na tom řádku pouze jednou:

1 - BlaBlaBla
2 - 957423
3 - 594867

Pokud byl vypsán řádek s určitým ID, přeskočí to všechny řádky (resp. nic nevypíše), kde je ID stejné.

Poraďte prosím.
Taps
Profil
Sirius
select * from tabulka group by id

Lepší je nastavit id jako auto_increment a pak nemusíš řešit duplicity id
Majkl578
Profil
spatna sekce <mmm>
Sirius
Profil
Taps
Lepší je nastavit id jako auto_increment a pak nemusíš řešit duplicity id

To já právě potřebuju, aby to ID bylo u několika řádků stejné. To ID vlastně spojuje několik řádků do jednoho celku. Potřebuju v jednom případě vypisovat řádky jako celek, ale v jiném případě zvlášť každý řádek, kde se ID rovná zvolenému ID (např. přes nějaký formulář).

Mohl bych to vyřešit ukládáním hodnot ve dvou různých tvarech do dvou různých tabulek, ale pak by byl celý kód přinejmenším dvakrát tak dlouhý a hlavně by v tom byl zmatek.
Sirius
Profil
Majkl578
spatna sekce <mmm>

Podle mě se tohle víc týká PHP, než DB. Jestli narážíš na tohle.
Sirius
Profil
Vyřešeno:

$sql = mysql_query("SELECT id FROM cdv_test ORDER BY id");
while ($array = mysql_fetch_array($sql)) {
  if (!isset($id) || $id != $array[0]) {
    echo $array[0] . "<br>";
    $id = $array[0];
  }
  else {
    $id = $array[0];
  }
}
Majkl578
Profil
Sirius
vzhledem k tomu reseni, ktere napsal Taps (a ktere je idealni - unikatni id) bych to spise zaradil do SQL :)
Alphard
Profil
Majkl578:
Jsem zvyklý, že sem hodně lidí píše dotazy týkající se databází, ale neberu to tak strikně. Některa vlákna přesouvám až trochu zapadnou (abych tady nedělal zbytečný nepořádek). Některé nechávám raději být, např. Český formát data z MySQL je typický sporný případ. Je tam odkaz na PHP i MySQL řešení a kam s tím? V tomto případě volím mírnější řešení, tedy nezasahovat.
Sirius
Profil
Majkl578
vzhledem k tomu reseni, ktere napsal Taps (a ktere je idealni - unikatni id) bych to spise zaradil do SQL :)

Ideální? Neřeší moji situaci. Já tam ty duplicitní ID potřebuju. Mohl bych sice ukládat vše na jeden řádek s unikátním ID a auto_increment, a pak to funkcí při vypisování rozdělit zpátky na více řádků, ale to bych musel překopat úplně celé a výsledek by byl "stejnej". :)

Ale tohle už je trochu OT.

Díky za návrhy.

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: