While spájanie položiek – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

While spájanie položiek – PHP – Fórum – Programujte.comWhile spájanie položiek – PHP – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
Anonym
~ Anonymní uživatel
454 příspěvků
19. 9. 2011   #1
-
0
-

Zdravím, chcel by som sa vás spýtať, ako by som pomocou while pri vypisovaní dát z mysql dosiahol toho, že ak by boli dve položky tie isté nevypísalo by ich dvakrát, ale len raz s tým, koľkokrát sa v databáze nachádza. Aj by som to to teoreticky vedel, ale akosi si s tým neviem dať rady prakticky. Ďakujem za pomoc.

S pozdravom:

Majox

Nahlásit jako SPAM
IP: 95.105.210.–
null_while
~ Moderátor
+6
Věrný člen
19. 9. 2011   #2
-
0
-

Pokud víš, v čem by hodnoty byly stejné, tak stačí zachytit podmínku, kdy se bude výpis rovnat tomu dalšímu (všem ostatním) a vypsat je podle společné hodnoty pomocí WHERE v SQL.

Uvedu příklad:

Chci vypsat všechny žáky, kteří dostali z poslední lekce známku 1.

$znamka = (int) 1;
$insertSQL = "SELECT * FROM zaci WHERE znamka=$znamka ORDER by prijmeni ASC";

while ($row = mysql_fetch_assoc($insertSQL)) {
}

Možná je taky podobná konstrukce: 

$i=0;
$rows = mysql_num_rows($insertSQL);
while($i < $rows) {
}

A ověřit, zda-li již existuje už můžeš klasickým mysql_num_rows.

$selectCount = mysql_result(mysql_query($insertSQL, 0);
Nahlásit jako SPAM
IP: 84.16.103.–
WEBNIA.cz - tvorba webových stránek
Anonym
~ Anonymní uživatel
454 příspěvků
19. 9. 2011   #3
-
0
-

Tá konštrukcia výpisu mi je jasná, len som nevedel že či, ak chcem napr. vypísať položku vo while,ktorá sa tam nachádza viac ako jedenkrát či do do while rovno umiestniť aj počítanie riadkov, ale vidím že mi to postačí, vďaka.

Nahlásit jako SPAM
IP: 95.105.210.–
Řešení
yetty
~ Redaktor
+5
Super člen
20. 9. 2011   #4
-
0
-
Vyřešeno Nejlepší odpověď

Jde to udělat ještě lépe v kombinaci GROUP BY a COUNT():

SELECT druh, COUNT(*) FROM Ptaci GROUP BY druh;

Výsledkem bude počet jednotlivých druhů:

+-----------------+----------+
| druh            | COUNT(*) |
+-----------------+----------+
| Slavikoviti     |        2 |
| Slepicoviti     |        1 |
+-----------------+----------+

Více materiálu...

Nahlásit jako SPAM
IP: 90.180.203.–
CZechBoY+4
Věrný člen
20. 9. 2011   #5
-
0
-

máš na mysli něco jako třeba vypsání rovrhu hodin? v tabulce máš den a pokud se přeskočilo už na další den tak nadepsat název dne a vypisovat hodiny?

Nahlásit jako SPAM
IP: 213.192.10.–
Anonym
~ Anonymní uživatel
454 příspěvků
22. 9. 2011   #6
-
0
-

No skúsim to prirovnať nejakej hre. Jednoducho hráč by vlastnil 2x jablko a normálne by sa to vypísalo ako.

Jablko

Jablko

len ja chcem dosiahnuť toho, aby sa to vypísalo ako

Jablko (2x)

Nahlásit jako SPAM
IP: 95.105.210.–
yetty
~ Redaktor
+5
Super člen
22. 9. 2011   #7
-
0
-

#6 Anonym
Ano, to je přesně to, co už jsem psal o něco výše.

Nahlásit jako SPAM
IP: 90.180.203.–
CZechBoY+4
Věrný člen
22. 9. 2011   #8
-
0
-

jj použij SQL dotaz yettyho, pro lepší orientaci ve výsledným poli (objektu) bych ještě doporučil dočasně pojmenovat ten sloupec s COUNTem() na pocet (třeba)

SELECT druh, COUNT(1) AS pocet FROM Ptaci GROUP BY druh;
Nahlásit jako SPAM
IP: 213.192.10.–
Anonym
~ Anonymní uživatel
454 příspěvků
22. 9. 2011   #9
-
0
-

Ďakujem veľmi pekne za pomoc.

Nahlásit jako SPAM
IP: 78.141.125.–
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, 45 hostů

Podobná vlákna

Spajanie exe — založil Darkkiller

Spájanie reťazcov — založil Dodiq

Vypísanie položiek v DB — založil User

Sčítanie položiek — založil tomas2245

 

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