PHP MYSQL-ben ezt hogy oldjam meg?
for ciklussal akarok frissíteni egy táblázatot, egy csv fájl sorait vizsgálja, sorbamegy rajta, és azzal az adattal kéne frissíteni a mysql táblát, de WHERE feltétel nélkül.
Az a gond, hogy így az összes tábla sort a for ciklus legutolsó elemével frissíti, azaz minden sor ugyanaz lesz.
Hogy kéne azt, hogy a sorba a adat kerüljön, b sorba b adat és így tovább, de where feltétel nélkül, tegyük fel nem tudjuk hogy mit vizsgáljon.
Hogy érthetőbb legyen:
csv fájl elemei:
product_code,product_name,product_price;
123,xy termék,1200;
321,yx termék,3210;
mysql táblában viszont ez lesz végig, az összes sorban:
321,yx termék,3210
321,yx termék,3210 és így tovább...
Where márpedig mindenképpen kelleni fog.
1) tranzakciót nyitsz
2) megnyitod a csv-t olvasásra
3) amíg nem éred el a fájl végét:
3a) frissíted a táblának a megfelelő sorát
4) ha minden jól ment, a tranzakciót commit-olod
5) ha hiba történt, rollback
És esetleg valami megoldás akkor erre? Kódrészlet valahonnan ilyesmi? Köszönöm...
CSV fájlból olvassa be a mezők neveit is, és ahhoz kell társítani sorban a megfelelő értéket, a megfelelő sorba és cellába írni.
Megoldódott a probléma.
INSERT és az ON DUPLICATE KEY UPDATE használatával, és kell a where, amit egy primary id vizsgálattal oldottam meg, annyi a gond, hogy akkor ahhoz nem szabad nyúlni a csv fájlban...
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!