Meddelande

Minska
No announcement yet.

Ändra i väldigt många poster

Minska
X
 
  • Filter
  • Klockan
  • Show
Clear All
new posts

  • Ändra i väldigt många poster

    Jag har en databas full med länkar. Nu behöver jag få bort en bit av dess URL på sina ställen.

    Kan någon tipsa mig hur jag bäst går till väga?

    Antingen ändra i själva sökningen eller ändra i posterna?
    Problemet är att det finns flera olika länkar, det är bara en av sidorna som länkas som jag behöver ändra.

    Exempel:

    www.a.com/index.php?id=2323232323 (ska vara som den är)

    www.b.com/index.php?id=121212 ska bli till www.b.com/?id=121212
    (samt alla länkar med www.b.com/?id=någotvärde)

    Så här kollar jag om länkarna finns i databasen innan jag lägger in dem;
    [kod]
    SQL = "SELECT * FROM lankar WHERE Lank = '"& Request.form("lank") &"' "
    Set Rs = Connection.Execute(SQL)
    [/kod]

    Vilket sätt är bäst att gå?

  • #2
    Kör en update.

    Fast det beror ju kanske på vilken dbms du använder.

    [kod]UPDATE lankar SET Lank = Replace(Lank, "/index.php?", "/?")
    WHERE Lank LIKE '%www.b.com/index.php?%'[/kod]mvh
    @aviddevguy

    Kommentera


    • #3
      Kör mySQL, ska testa.

      Kommentera


      • #4
        För att kolla resultatet innan du kör frågan kan du ju alltid göra motsvarande SELECT:[kod]SELECT Replace(Lank, "/index.php?", "/?") AS Lank FROM lankar
        WHERE Lank LIKE '%www.b.com/index.php?%'[/kod]
        @aviddevguy

        Kommentera


        • #5
          Fick följande fel:

          Microsoft VBScript compilation error '800a0408'

          Invalid character

          /uppdateradb.asp, line 6

          SQL = "UPDATE lankar SET Lank = Replace(Lank, "/index.php?", "/?")
          ---------------------------------------------------------^

          Kommentera


          • #6
            Förlåt. Det ska ju vara apostrofer. Vet inte riktigt hur det blev så där.[kod]UPDATE lankar SET Lank = Replace(Lank, '/index.php?', '/?')
            WHERE Lank LIKE '%www.b.com/index.php?%'[/kod]
            @aviddevguy

            Kommentera


            • #7
              Snabel-anders har rätt att det ska vara apostrofer i SQL. Men jag kan tillägga att om du någon sin behöver stoppa ett citattecken i en sträng i VB.net så finns det sätt att göra det. Normalt sett så slutar ju strängen där det står ett citattecken, men du kan avbryta detta genom att sätta in dubbla citattecken.
              [kod]str = "Denna sträng innehåller såna där ""citattecken"" mitt i strängen."[/kod]
              Gameboy Genius - Foto: Gatukonst och elektronikporr
              Internklippning:
              1) Snaggning av fångar.
              2) Klippning frisörer emellan.

              Kommentera


              • #8
                Det fungerade perfekt!

                Tack för hjälpen!
                Last edited by Inferis; 2012-11-26, 14:22. Anledning: Jag skrev lite fel. Nu fungerade det.

                Kommentera


                • #9
                  [citat]Men jag kan tillägga att om du någon sin behöver stoppa ett citattecken i en sträng i VB.net så finns det sätt att göra det. [/citat]Samma sak i VB-Script för gamla ASP, eftersom det verkar vara det du använder.

                  mvh
                  @aviddevguy

                  Kommentera

                  Working...
                  X