Autor | Zpráva | ||
---|---|---|---|
Sirius Profil |
#1 · Zasláno: 3. 10. 2009, 18:41:28
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 |
#2 · Zasláno: 3. 10. 2009, 18:54:13 · Upravil/a: Taps
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 |
#4 · Zasláno: 3. 10. 2009, 19:02:57
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 |
#6 · Zasláno: 3. 10. 2009, 19:37:53
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 |
#7 · Zasláno: 3. 10. 2009, 22:08:55
Sirius
vzhledem k tomu reseni, ktere napsal Taps (a ktere je idealni - unikatni id) bych to spise zaradil do SQL :) |
||
Alphard Profil |
#8 · Zasláno: 3. 10. 2009, 22:26:04
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 |
#9 · Zasláno: 3. 10. 2009, 23:46:59
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. |
||
Časová prodleva: 15 let
|
0