[ Príspevkov: 71 ] 1, 2, 3
AutorSpráva
Offline

Užívateľ
Užívateľ
php HTML parser

Registrovaný: 22.11.05
Prihlásený: 29.01.23
Príspevky: 712
Témy: 25 | 25
Bydlisko: SK-Martin
Napísal autor témyOffline : 23.01.2017 20:03 | php HTML parser

tak po niekoľkých pokusoch som dospel k prijateľnému výsledku, použitý zápis:
Kód:
foreach($xml->channel->item as $row) {
        $idserver = $row->idserver;
        $image    = $row->image;
         
          foreach($image as $img) {
            $result = dbquery("INSERT INTO xml_img (idserver,image) VALUES ('$idserver','$img')");
          }
  }   

obrázky ukladám do samostatnej DB tabuľky
je vhodnejšie ak sú obrázky od jedného vozidla v jednom DB poli alebo ak je každý obrázok na samostatnom riadku s vlastným ID? toto ID nemôžem použiť na nič, na synchronizáciu použijem $idserver, ktorý je vlastne ID vozidla
môže mi niektorý z tých variant spôsobiť problém pri výpise?
ďakujem


Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
php HTML parser

Registrovaný: 01.05.05
Príspevky: 13557
Témy: 1483 | 1483
Bydlisko: Bratislava
NapísalOffline : 23.01.2017 20:07 | php HTML parser

nepotrebujes aby mal obrazok vlastne id, k nicomu ti to nebude, staci ti len stlpce idserver, cize tam budes mat 10 riadkov s id 15 a kazdy riadok bude mat nejaky obrazok, pri vypise len vypises url obrazku na zaklade idserver cize id daneho inzeratu, nic viac, len idserver musis nastavit index samozrejme


_________________
Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 11 Enterprise | APC Back-UPS BE-850 VA | Lenovo ThinkPad X1 Carbon | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA & Samsung SSD 860 1 TB | Ubuntu 24.04 LTS | Dell Wyse 3040 | Intel Atom x5-Z8350 | 2 GB DDR3 1600 MHz | 16 GB eMMC | 24" EIZO FlexScan EV2451 | Alpine Linux + XFCE4
Offline

Užívateľ
Užívateľ
php HTML parser

Registrovaný: 22.11.05
Prihlásený: 29.01.23
Príspevky: 712
Témy: 25 | 25
Bydlisko: SK-Martin
Napísal autor témyOffline : 23.01.2017 21:52 | php HTML parser

ďakujem Janof, to som už pochopil, že nepotrebujem to ID,
ale som asi špatne položil otázku,
momentálne sa mi každý obrázok ukladá na samostatný riadok aj s idserver, takže ten idserver je tam rovnaký toľkokrát koľko je obrázkov v tej skupine (1vozidlo), v podstate mi to vyhovuje,
druhý variant by mohol byť, ak na jednom riadku bude jeden idserver a všetky obrázky(s nejakým oddelovačom) v jednej bunke

iba som chcel vedieť, či je niektorý z tých spôsobov vhodnejší,


Offline

Správca fóra
Správca fóra
php HTML parser

Registrovaný: 08.08.09
Príspevky: 12446
Témy: 38 | 38
NapísalOffline : 23.01.2017 22:05 | php HTML parser

Prvý spôsob je správny, keby si to riešil tým druhým, nepotrebuješ predsa samostatnú tabuľku.
Niekedy sa využíva aj druhý spôsob, ale len v prípadoch keď sa tomu nedá vyhnúť. Ty by si si to ním len skomplikoval a nenapadá mi žiadna jasná výhoda.
Napríklad si predstav, že chceš vedieť takú jednoduchú vec, koľko obrázkov máš uložených pri vozidle so serverid = 12321:
  • S dvoma tabuľkami vystačíš s týmto: [c]SELECT COUNT(*) AS pocet FROM xml_img WHERE serverid = 12321[/c] - na výstupe z databázy dostaneš rovno číslo.
  • S jednou tabuľkou by si musel najprv vybrať vozidlo, resp. stĺpec s obrázkami [c]SELECT image FROM xml_item WHERE serverid = 12321[/c] a potom ešte v PHP výstup rozdeliť s [c]explode()[/c] cez oddeľovač do poľa a spočítať prvky [c]count()[/c]om
Alebo budeš chcieť vedieť, koľko obrázkov máš pri všetkých vozidlách, rozdelené podľa serverid (teda počet pre každé vozidlo), čo potom? Dá sa to aj v kombinácií s PHP, netvrdím že nie, ale je to tak trochu "cez košice".
V prípade že by si chcel riadky s vozidlami zoradiť podľa počtu obrázkov a vypísať len desať s najvyšším počtom, tak sa v PHP zapotíš a nevyhneš sa výberu všetkých záznamov. Databáza = jeden dotaz, hotovo. A to nie sú žiadne špeciality, obyčajné veci, ktoré raz môžeš potrebovať vedieť.

Ktorá varianta sa ti zdá na prvý pohľad jednoduchšia? Vôbec nehovorím o tom, že niektoré stĺpce majú dosť obmedzenú dĺžku, pri desiatkach, stovkách obrázkov by si mohol naraziť aj na tento limit.
Ďalšia vec je možná rozšíriteľnosť (neviem aké máš plány) do budúcna, môžeš pre každý obrázok ukladať ďalšie doplňujúce informácie, od dátumov, cez názvy, rozmery a neviemčovšetko.
Premysli ešte tie názvy tabuliek, nech to aspoň trochu popisuje čo v nich ukladáš.

A mimochodom, obrázky by mali mať unikátny identifikátor, ale to riešiť nejak zvlášť nemusíš, stačí keď pridáš celočíselný (int) stĺpec a nastavíš mu AUTO_INCREMENT príznak, databáza ti riadky sama očísluje. Máš to tak? Do budúcna sa to môže hodiť, budeš chcieť vymazať obrázok cez aplikáciu, ako to urobíš, keď nebudeš mať možnosť databáze povedať, ktorý obrázok konkrétne chceš zmazať?


_________________
always is always wrong
Offline

Užívateľ
Užívateľ
php HTML parser

Registrovaný: 22.11.05
Prihlásený: 29.01.23
Príspevky: 712
Témy: 25 | 25
Bydlisko: SK-Martin
Napísal autor témyOffline : 23.01.2017 23:13 | php HTML parser

killer asi máš pravdu, iba tie príklady, ktoré si uviedol tak v tomto prípade nie sú potrebné, lebo celkový počet obrázkov mám v item->pics
a je pravda, že ten druhý spôsob by bol komplikovanejší, aj na ukladanie, aj pri zobrazení
unikátnym identifikátorom pre skupinu obrázkov je idserver, a zrejme ani v budúcnosti nebudem potrebovať unikátne ID pre každý obrázok

ďakujem za dobré tipy, aj za ochotu venovať sa môjmu problému


Offline

Správca fóra
Správca fóra
php HTML parser

Registrovaný: 08.08.09
Príspevky: 12446
Témy: 38 | 38
NapísalOffline : 23.01.2017 23:21 | php HTML parser

Nehovorím o identifikátore skupiny, to je v poriadku a máš to tak správne.
Písal som o identifikátore globálnom, v rámci celej aplikácie, celej tabuľky. Niečo ako poradové číslo každého obrázka, ktoré sa v rámci tabuľky vyskytuje len raz naprieč všetkými skupinami. Ešte si to rozmysli, nie je úplne triviálne to tam potom dorábať a takto ako to máš skutočne nemôžeš presne určiť o ktorý obrázok sa má jednať. Tvrdím že nikdy nevieš čo s tým budeš chcieť ďalej robiť, ale nútiť ťa samozrejme nebudem. Ak to tam budeš mať a nevyužiješ to, je to ešte stále v poriadku. Ak to však raz budeš potrebovať a mať to nebudeš, si nahraný.


_________________
always is always wrong
Offline

Prevádzkovateľ fóra
Prevádzkovateľ fóra
php HTML parser

Registrovaný: 01.05.05
Príspevky: 13557
Témy: 1483 | 1483
Bydlisko: Bratislava
NapísalOffline : 23.01.2017 23:27 | php HTML parser

No ak ma feed aktualnych aut pod svojim kontom, tak by som to ani neriesil, pred kazdym nacitanim toho feedu, alebo po nom zmazal predchadzajuce, alebo doplnal vzdy nove a neaktualne mazal, zbytocne smazit v tabulkach data inzeratov ktore su uz neaktualne a nema s nimi nic v plane uz viac robit, a unikatny identifikator sa da predsa jednoducho dorobit pridanim dalsie stlpca a nastavis mu pri vytvarani aj AUTO_INCREMENT a je to nie?


_________________
Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 11 Enterprise | APC Back-UPS BE-850 VA | Lenovo ThinkPad X1 Carbon | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA & Samsung SSD 860 1 TB | Ubuntu 24.04 LTS | Dell Wyse 3040 | Intel Atom x5-Z8350 | 2 GB DDR3 1600 MHz | 16 GB eMMC | 24" EIZO FlexScan EV2451 | Alpine Linux + XFCE4
Offline

Užívateľ
Užívateľ
php HTML parser

Registrovaný: 22.11.05
Prihlásený: 29.01.23
Príspevky: 712
Témy: 25 | 25
Bydlisko: SK-Martin
Napísal autor témyOffline : 27.01.2017 2:42 | php HTML parser

chvíľku som tu nebol, maródil som, tak som nemohol hneď reagovať

chlapci ja chápem o čo vám ide, ale v podstate bude mať asi pravdu JanoF, vozidlá sa aktualizujú pomerne často, a už pri aktualizácií xml dát po predaji jedného jediného vozidla by sa celé UID zmenilo, okrem toho obrázky sa nahrávajú viac menej v náhodnom poradí, takže naozaj neviem, na čo by som také UID využil,
ale ďakujem vám, že sa mi snažíte pomôcť aj do budúcna


Offline

Užívateľ
Užívateľ
php HTML parser

Registrovaný: 22.11.05
Prihlásený: 29.01.23
Príspevky: 712
Témy: 25 | 25
Bydlisko: SK-Martin
Napísal autor témyOffline : 29.01.2017 20:34 | php HTML parser

neviem, či sa tu ešte nájde niekto, kto by mi poradil, momentálne riešim zložitejší výpis z DB, keď v jednej tabuľke mám napríklad takéto údaje: |1|3|4|7|10|11|12|, a podľa týchto čísiel by som mal vypísať z druhej tabuľky obsah kde ID súhlasí s tými číslami, akosi neviem ako na to, explodovať nie je problém, ani výpis jedného záznamu, ale vypísať všetky položky podľa daných ID mi akosi nenapadá správny zápis, a bohužiaľ nenašiel som ani vhodný návod na nete, mohol by mi niekto poradiť?


Offline

Skúsený užívateľ
Skúsený užívateľ
php HTML parser

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14571
Témy: 66 | 66
Bydlisko: Žilina
NapísalOffline : 29.01.2017 20:55 | php HTML parser

http://www.w3schools.com/sql/sql_in.asp


_________________
C#, PHP, ...
Offline

Užívateľ
Užívateľ
php HTML parser

Registrovaný: 22.11.05
Prihlásený: 29.01.23
Príspevky: 712
Témy: 25 | 25
Bydlisko: SK-Martin
Napísal autor témyOffline : 29.01.2017 21:04 | php HTML parser

vďaka walther, presne toto som potreboval


 [ Príspevkov: 71 ] 1, 2, 3


php HTML parser



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

PHP simle html DOM parser

v Backend

3

445

09.04.2013 21:22

Ďuri

V tomto fóre nie sú ďalšie neprečítané témy.

HTML parser web stranok

v Backend

4

657

16.11.2007 15:41

chrono

V tomto fóre nie sú ďalšie neprečítané témy.

PHP programátor - PHP, MySQL, jQuery,X)Html/CSS

v Ponuka a dopyt práce

0

1434

02.05.2011 12:08

magicmedia

V tomto fóre nie sú ďalšie neprečítané témy.

HTML+PHP

v Frontend

12

1242

21.02.2008 20:20

jablko05

V tomto fóre nie sú ďalšie neprečítané témy.

CSS- php,html

v Frontend

3

772

15.09.2009 21:08

1daemon1

V tomto fóre nie sú ďalšie neprečítané témy.

PHP alebo HTML

v Frontend

16

972

07.01.2011 10:21

Ando

V tomto fóre nie sú ďalšie neprečítané témy.

z PHP do HTML

v Backend

2

530

12.07.2010 12:04

vama

V tomto fóre nie sú ďalšie neprečítané témy.

Kliknutie PHP alebo HTML

v Frontend

25

1070

23.03.2009 21:33

7diwad7

V tomto fóre nie sú ďalšie neprečítané témy.

s HTML do PhP

v Backend

12

930

22.10.2009 15:19

BYNGY

V tomto fóre nie sú ďalšie neprečítané témy.

Hladam programatora HTML + PHP - brigada

v Ponuka a dopyt práce

0

885

02.06.2024 15:03

spd

V tomto fóre nie sú ďalšie neprečítané témy.

Tvorba webstranok HTML alebo PHP?

v Diskusia

9

774

18.12.2013 11:28

walther

V tomto fóre nie sú ďalšie neprečítané témy.

Praha - PHP, MySQL, HTML, Joomla

v Ponuka a dopyt práce

0

1344

31.07.2007 17:01

Blue Media

V tomto fóre nie sú ďalšie neprečítané témy.

prepojenie php html a css

v Backend

4

1391

28.01.2009 22:18

mybirthday1403

V tomto fóre nie sú ďalšie neprečítané témy.

Dual combobox v HTML/PHP

v Frontend

5

908

14.04.2015 17:47

void

V tomto fóre nie sú ďalšie neprečítané témy.

Vytiahnutie PHP kódu z HTML

v Backend

3

476

07.08.2016 12:09

chrono

V tomto fóre nie sú ďalšie neprečítané témy.

Ponuka práce html, css, php

v Ponuka a dopyt práce

1

1421

10.11.2007 22:19

Ivuso



© 2005 - 2026 PCforum, edited by JanoF