re: MySQL UPDATE segítség
Senki?
Nem probléma, ha ez már nem fér bele a szívesség kategóriába, fizetek is a segítségért, ha csak ennyin múlik. :)
re: MySQL UPDATE segítség
Van az a plugin (ha kell, előkeresem) amelyik az adatbázisban "ezt a szüveget" lecseréli "erre a szövegre".
A két helyre beírod, amit fentebb említettél, és az kicseréli neked az adatbázisban.
Ez nem jó?
re: MySQL UPDATE segítség
Idézet:
dolcsi eredeti hozzászólása
Az összes ilyen részt, ahol a h2 címsor előtt egy kép van, ott szeretném megcserélni ezek sorrendjét:
Idézet:
Freedom eredeti hozzászólása
Van az a plugin (ha kell, előkeresem) amelyik az adatbázisban "ezt a szüveget" lecseréli "erre a szövegre".
A két helyre beírod, amit fentebb említettél, és az kicseréli neked az adatbázisban.
Ez nem jó?
Ez ennel picit bonyolultabb es SQL-ben nem is feltetlenul megoldhato(legalabbis nem megbizhatoan)
re: MySQL UPDATE segítség
Idézet:
Geri eredeti hozzászólása
Ez ennel picit bonyolultabb es SQL-ben nem is feltetlenul megoldhato(legalabbis nem megbizhatoan)
Igazad van. Az én megoldásom csak a bejegyzés tartalmára vonatkozik.
re: MySQL UPDATE segítség
Ha csak ennyi lenne minden sorban, akkor a POSITION(), SUBSTRING(), REPLACE(), CONCAT() függvényekkel meg lehetne oldani.
Vegyük ezt példának:
Első lépés:
<img src="kep.jpg" title="Kép" alt="Kép" width="696" height="466" class="aligncenter size-medium_large wp-image-841" /><h2>Címsor</h2>
Keressük meg a kijelölt részeket. Erre a POSITION() függvény használható.
- Ha a "<h2>" -re keresünk, akkor megkapjuk a nyitó "<"-jel pozícióját.
- Hasonló módon keressük meg a "</h2>"-t, itt is a "<"-pozíciót kapjuk, ehhez adunk +4 -et, akkor megkapjuk a ">"-pozíciót
Második lépés:
Másoljuk a megtalált részt a sor elejére.
Erre jó a SUBSTRING() és a CONCAT() függvények.
Össze kell fűzni őket logikailag így: kivágott rész + (eredeti - kivágott rész)
A "- kivágott részhez" pedig a REPLACE() függvényt kell használni, gyakorlatilag "" üres stringgel felülírod a kivágott részt az eredeti helyén.
Ez így megoldható, viszont nem tudjuk pl, hogy van-e még más szöveg is ezekben a rekordokban (feltehetőleg igen), így azokat is hasonló módon elé és mögé kéne másolni. Itt az a nehéz, hogyha nem csak egy <img> és <h2> -tag van, akkor hogyan találod meg azt, amelyiket módosítani kell.
Erre célszerűbb lenne egy tárolt ejlárást vagy valamilyen scriptet írni, ami a rekodokon végigmenve kikeresi az összes <img> tag-et rekordonként és megnézi, hogy azt követőleg <h2> következik-e. Ha igen, akkor az előbb leírt módon felcseréli a sorrenjüket. Ez viszont már nem egy SQL update.
Egyébként még az talán működhet, hogyha a kérdéses rész mindig mondjuk a bejegyzés (rekord) elején van (vagy meghatározható start és end pozíció között). Akkor a SUBSTRING() -el kivágod az első 100 karaktert mondjuk, amibe biztosan csak 1db <img> és az azt követő <h2> esik, és arra alkalmazod a fenn leírt műveletet. Úgy meg lehetne csinálni egy update-el.
re: MySQL UPDATE segítség
Es mi van ha az egyik h2-nek van class, vagy barmilyen mas attributuma? En inkabb egy scriptet irnek, ami beolvassa a html-t egy DOM-ba, es ugy keresnek meg minden h2 tag-et amit kovet egy img tag es megcserelnem oket.
re: MySQL UPDATE segítség
Idézet:
Geri eredeti hozzászólása
Es mi van ha az egyik h2-nek van class, vagy barmilyen mas attributuma? En inkabb egy scriptet irnek, ami beolvassa a html-t egy DOM-ba, es ugy keresnek meg minden h2 tag-et amit kovet egy img tag es megcserelnem oket.
<h2 class="akarmi">Címsor</h2>
Szerintem ez nem zavarná, mert a POSITION a "<h2" -re keresve így is jól adná vissza a kezdő "<" jelet.
Egyetértek egyébként, ebben így sok a buktató, a külön script a biztos megoldás.
Csak az agytorna kedvéért játszottam végig, hogyan lehetne ezt egy utasítással megcsinálni.
re: MySQL UPDATE segítség
Mielőtt elkezdesz rá scriptet írni. Hány ilyen belyegyzésről lenne szó?
re: MySQL UPDATE segítség
Idézet:
Freedom eredeti hozzászólása
Van az a plugin (ha kell, előkeresem) amelyik az adatbázisban "ezt a szüveget" lecseréli "erre a szövegre".
A két helyre beírod, amit fentebb említettél, és az kicseréli neked az adatbázisban.
Ez nem jó?
Igen, ismerem, de most ez kevés ehhez. Azért köszi!
Idézet:
Geri eredeti hozzászólása
Ez ennel picit bonyolultabb es SQL-ben nem is feltetlenul megoldhato(legalabbis nem megbizhatoan)
Valahol sejtettem, hogy így lesz. :)
Idézet:
Sanyi49 eredeti hozzászólása
Mielőtt elkezdesz rá scriptet írni. Hány ilyen belyegyzésről lenne szó?
1315 bejegyzés. Nincs kedvem kézzel felcserélgetni. :)