Javascript string probléma

Javascript string probléma
2002-07-04T11:22:20+02:00
2002-07-15T08:25:13+02:00
2022-11-02T11:15:36+01:00
  • Halihow!

    JavaScriptben esetleg írhatsz egy illesztőkifejezést, ami pl a \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" stringet lecseréli \\\\\\\\\\\\\\\\" stringre. Akkor megoldódna a probléma. De ennek a leírása fejből még nem megy, igen ritkán használtam -sajnos- eddig ezt a lehetőséget.

    PePPierre
    Mutasd a teljes hozzászólást!
  • "De mi lenne, ha ez így nézne ki:
    $sqlsor = str_replace($hatarolo,"\\\\\\\\\\\\\\\\"",$sql)"

    Ez nekem azért nem volt jó mert rengeteg \\\\\\\\\\\\\\\\ jelet tett egymás után. Ez egy olyan többszintű szűréshez, rendezéshez kell ami mindig hozzácsap valamilyen, felhasználó által választott szűrési, rendezési szempontot és szépen nő. Namost ahányszor elküldtem a feldolgozást anyiszor megduplázta a \\\\\\\\\\\\\\\\ jelek számát. Szerintem az összes variációt kipróbáltam ezzel a jellel és végül az a megoldás jött be amit leírtam. A szur()-be is beírtam de nem jött össze ezért kellett ezt az egész str_replace-es megoldást alkalmazni, de így nagyon faja.
    Mutasd a teljes hozzászólást!
  • Halihow!

    Van ez az utasításod, hogy:
    $sqlsor = str_replace($hatarolo,"'",$sql)

    De mi lenne, ha ez így nézne ki:
    $sqlsor = str_replace($hatarolo,"\\\\\\\\\\\\\\\\"",$sql)

    Vagy továbbmegyek, nem kellene str_replace sem, ha ezt írnád be közvetlenül a szur()-ben. Szerintem ez lehet a hiba. Én legalábbis még mindig el szoktam néha véteni az idézőjelezést, pedig már C/PHP/Java/JavaScript-ezek egy ideje.

    PePPierre
    Mutasd a teljes hozzászólást!
  • Igaziból nem értem hogy mit nem értettél a leírásomból amit a kódból meg fogsz, de tessék:

    // A képernyőn lévő mezőkböl összehoz egy stringet.
    // Ha a vessző helyére ' vagy / írsz nem lesz jó.

    function szur()
    {
    var c = ",";
    var s = document.form1.szures.value;
    s = s+" and "+document.form1.selekt.value+"="+c+document.form1.eztet.value+c+"\\\\\\\\\\\\\\\\n";
    document.form1.szures.value = s;
    }

    // itt jön a php
    ?>
    $sql = "select * from tabla where ".substr($szures,4)." order by ".$sorrend or die ("Nincs ilyen elem!!");
    // itt a csere
    $hatarolo=",";
    $sqlsor = str_replace($hatarolo,"'",$sql)
    // és jöhet az értelmezés
    $tabla = mySQL($bazis,$sqlsor);
    ?>

    Röviden ennyi.
    Mutasd a teljes hozzászólást!
  • Halihow!

    A fórumra gondoltam, bocs a félreérthetőségért. És a késői válaszért.

    PePPierre
    Mutasd a teljes hozzászólást!
  • Csáó!

    Hova küldjem a forráskódot? Az E-mail címedet nem adtad meg.
    Vagy arra gondoltál hogy a fórumba írjam le?
    Mutasd a teljes hozzászólást!
  • Halihow!

    El tudod küldeni a forráskódot? Mert érdekelne a dolog. Persze csak ha nem jogdíjköteles

    PePPierre
    Mutasd a teljes hozzászólást!
  • A megoldás: Valami "sima" karakterrel (ne ' és ne \\\\\\\\\\\\\\\\) elválasztani az SQL sort és utána mielött átadnánk feldolgozásra a mysql értelmezőnek, lecserélni a "sima" karaktert '-re.
    :) :( :D >( 8) :P ??? ::) :-[ :-X :-* :'( :-\\\\\\\\\\\\\\\\ ;)
    Mutasd a teljes hozzászólást!
  • Azt már tudom hogy mitől csak azt nem tudom hogy lehetne kiküszöbölni. Mert ha &#39-t írom be ' helyett akkor jól írja ki, de a mysql ugyanúgy nem értelmezi.
    Mutasd a teljes hozzászólást!
  • Halihó!

    Kérdésem lenne: Összeállítok egy stringet javascriptben ami egy mysql utasítás is lehetne egyben. Minden jó amíg nem használom a ' karaktert ahogy hozzáfűzöm ezt a nyomorult karaktert a string-hez és utána kiiratom, tele lesz \\\\\\\\\\\\\\\\ karakterrel.

    Mitől lehet ez?
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd