PHP, CSV, databáze – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

PHP, CSV, databáze – PHP – Fórum – Programujte.comPHP, CSV, databáze – PHP – Fórum – Programujte.com

 

Pepe425454
~ Anonymní uživatel
4 příspěvky
9. 2. 2022   #1
-
0
-

Uspořádání dat v souboru CSV, příklad:

primarni klic hodnota A hodnota B
999 4548644 788787544
999 78741 6565344
999 784 4884
555 996 56464
111 444 8454

Ahoj. Prosím o pomoc.

Potřebuju v PHP zpracovat soubor CSV, zredukovat opakující se primární klíč na jeden řádek a všechny hodnoty přidružený k tomuto klíči sečíst a pak teprve odeslat do tabulky v databázi

Nevíte jak na to?

Výsledek:

primarni klic hodnota A hodnota B
999 soucet soucet
555 996 56464
111 444 8454

Nahlásit jako SPAM
IP: 185.200.108.–
Kit+15
Guru
9. 2. 2022   #2
-
0
-

#1 Pepe425454
Nasyp to do dočasné tabulky a pak z ní udělej agregaci do skutečné tabulky.

Nahlásit jako SPAM
IP: 46.135.88.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Pepe425454
~ Anonymní uživatel
4 příspěvky
9. 2. 2022   #3
-
0
-

#2 Kit
Ahoj. Díky za odpověď, ale potřeboval bych napsat kód, protože tomu takhle nerozumím. 

Vím jak vytáhnout z CSV řádek po řádku a extrahovat hodnoty ze sloupců.

Vím jak se připojit do databáze a jak do ní odeslat data a jak z ní data vytáhnout.

Ale nevím jak napsat kód na předchozí dotaz.

Pomohl bys mi?

Nahlásit jako SPAM
IP: 185.200.108.–
peter
~ Anonymní uživatel
4016 příspěvků
10. 2. 2022   #4
-
0
-

"zredukovat opakující se primární klíč na jeden řádek a  všechny hodnoty přidružený k tomuto klíči sečíst a pak teprve odeslat do tabulky v databázi"
 

output = array()

input_row = array(1,2,3,4)
klic = input_row[0]
kdyz neexistuje output[klic], pak ho vyrvor
a pokud existuje, tak k jeho sloupcum pripocti sloupce input_row

input_row = array(5,6,7,8)
klic = input_row[0]
kdyz neexistuje output[klic], pak ho vyrvor
a pokud existuje, tak k jeho sloupcum pripocti sloupce input_row

...

uloz kazdy radek z outputu do databaze
Nahlásit jako SPAM
IP: 2001:718:2601:258:240d:fb2:5b1:9837...–
paja
~ Anonymní uživatel
25 příspěvků
11. 2. 2022   #5
-
0
-

Na jinem foru jsi dostal docela vycerpavajici odpovedi, proc ses podle toho neridil?

Nahlásit jako SPAM
IP: 2a02:8308:c002:6a00:d822:3cad:8ad3:3637...–
Pepe425454
~ Anonymní uživatel
4 příspěvky
11. 2. 2022   #6
-
0
-

#4 peter
Díky za odpověď. Vyřešil jsem to pomocnou tabulkou a funkci sum() v databazi. Nejsem si ale jisty, ze se to tak ma delat, protoze mi to prijde jako plytvani prostredky a casem databaze.

Nahlásit jako SPAM
IP: 185.200.108.–
Pepe425454
~ Anonymní uživatel
4 příspěvky
11. 2. 2022   #7
-
0
-

#5 paja
Jo? A na jakem jinem? :-)

Nahlásit jako SPAM
IP: 185.200.108.–
paja
~ Anonymní uživatel
25 příspěvků
14. 2. 2022   #8
-
0
-
Nahlásit jako SPAM
IP: 2a02:8308:c002:6a00:259:5a65:2f43:5c94...–
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, 40 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ý