Výpis stejných položek pouze jednou – MySQL – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Výpis stejných položek pouze jednou – MySQL – Fórum – Programujte.comVýpis stejných položek pouze jednou – MySQL – Fórum – Programujte.com

 

Sakalik0
Newbie
28. 5. 2008   #1
-
0
-

Zdravim, potřeboval bych poradit nějaké chytré řešení na následující věc.
Z databáze si pomocí selectu vytáhnu všechny položky, které splňují požadovanou podmínku...
Např. tedy dostanu, že podmínku splňují nějaké položky, ze kterých si následně vytáhnu určitou hodnotu. Dostanu tedy výpis těch hodnot a protože jsou některé stejné, dostanu výpis např. 1,1,1,1,2,2,2,3,3,3
A moje otázka zní, jak udělat kód, který mi tyto hodnoty vypíše, ale tak, že když už jedna byla vypsána, nevypíše se.
Z uvedeného příkladu bych tedy dostal pouze 1,2,3

Dlouho jsem neprogramoval v PHP a je mi jasné, že půjde o nějakou prkotinku a nechci se po 5 hodinách, kdy bych na to (snad) přišel, se vztekat :smile14: . Proto píšu sem, předem mnohokrát děkuji.

Nahlásit jako SPAM
IP: 83.208.184.–
Kouky
~ Anonymní uživatel
8 příspěvků
28. 5. 2008   #2
-
0
-

To Sakalik : ukaž kód :-)

Nahlásit jako SPAM
IP: 85.207.179.–
pawlik0
Grafoman
28. 5. 2008   #3
-
0
-

tusim ze DISTINCT nebo nejak tak...
google.cz -> 'interval sql' -> tam jsou dobré navody...

Nahlásit jako SPAM
IP: 195.113.87.–
Sa Nata A Na. Howgh
Tocimanko0
Grafoman
28. 5. 2008   #4
-
0
-

Myslím, že postačí, ak si dáš hodnoty do array a vypustíš duplicitné záznamy.

Nahlásit jako SPAM
IP: 195.91.86.–
Tocimanko0
Grafoman
28. 5. 2008   #5
-
0
-
Nahlásit jako SPAM
IP: 195.91.86.–
Earl Cash0
Věrný člen
28. 5. 2008   #6
-
0
-

To Tocimanko : a neni lepsi duplicitni zaznamy nacist pouze jednou pomoci 'DISTINCT'?

Nahlásit jako SPAM
IP: 193.85.184.–
Oh my goodness, shut me down! Machines making machines. How perverse. (C-3PO)
pawlik0
Grafoman
28. 5. 2008   #7
-
0
-

To Tocimanko : casove je to podle me mnohem mene narocne...

Nahlásit jako SPAM
IP: 89.176.203.–
Sa Nata A Na. Howgh
Sakalik0
Newbie
28. 5. 2008   #8
-
0
-

Všem mnohokrát děkuji za nápady. Já blbec pořád hledal nějakou funkci v PHP, která by mě duplicid zbavila. Ve stejném čase, kdy psal Tocimanko, jsem našel funkci array_unique, bohužel další práce s ní by byla poněkud obtížná.
Mrknul jsem tedy na MySQL příkazy a samořejmě naprosto primitivní slovo vše vyřešilo... Jak jsem dlouho nic nedělal, dělám strašně fatální chyby :-D.

Užil jsem pouze SELECT DISTINCT, pro ty, kteří by řešili něco pobodného přidávám ukázku kódu:

$result = $db->sql_query("SELECT DISTINCT id FROM ".$prefix."_xxx WHERE id_parent='".$id_parent."'");


while ($row = $db->sql_fetchrow($result)) {
$id = $row['id'];
$result2 = $db->sql_query("SELECT id, nazev, ikona FROM ".$prefix."_xxx_ikony WHERE id='".$id."'");
while ($row2 = $db->sql_fetchrow($result2)) {
$id_xx = $row2['id_xx'];

echo $id;
}
}

je tam možná něco blbě, sepsal jsem to narychlo ;). Ještě jednou díky!

Nahlásit jako SPAM
IP: 83.208.184.–
Tocimanko0
Grafoman
28. 5. 2008   #9
-
0
-

To all: Aha, sorry, som si nevšimol, že tie duplicitné záznamy ťaháš z db :) To vec rieši.

A čo ti je prosím ťa také zložité na array_unique() ?!

$pole_bez_duplicit = array_unique($pole_s_duplicitami);

...a máš nové pole bez duplicitných záznamov :) Teda len v prípade, že vieš pracovať s poliami, lebo treba zostaviť nejak to $pole_s_duplicitami, ale to by už problém nebol.

Samozrejme SELECT DISTINCT to celé rieši ...

Nahlásit jako SPAM
IP: 195.91.86.–
pidgin0
Návštěvník
25. 6. 2008   #10
-
0
-

To Sakalik : Moc děkuju, zrovna jsem to od rána řešil ale když něco chci vědět tak programujte.com, už asi po sté:-)

Nahlásit jako SPAM
IP: 85.207.240.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 10 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý