/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
PHP
Fra : Simon Jørgensen


Dato : 12-08-02 18:25

Jeg har en php side, der henter informationer fra mysql-database. Jeg har
en masse links i den database, der ligger på forskellige urls. Nu skal
alle de urls ændres. Kan man evt. hente et program der kan connecte til
sådanne en database, og så at man kan lave de mange urls ændringer på en
anden måde? Det drejer sig om over 6000 værdier. Så det er ikke lige sådan
at gå igang med via det nuværnde php web interface.



 
 
Johan Holst Nielsen (12-08-2002)
Kommentar
Fra : Johan Holst Nielsen


Dato : 12-08-02 19:22



Simon Jørgensen wrote:
> Jeg har en php side, der henter informationer fra mysql-database. Jeg har
> en masse links i den database, der ligger på forskellige urls. Nu skal
> alle de urls ændres. Kan man evt. hente et program der kan connecte til
> sådanne en database, og så at man kan lave de mange urls ændringer på en
> anden måde? Det drejer sig om over 6000 værdier. Så det er ikke lige sådan
> at gå igang med via det nuværnde php web interface.

Hva skal de ændres fra og til? Det burde være rimelig nemt at lave selv
:) Hmm giv eksempler på ænderingerne? :=

mvh
Johan


Simon Jørgensen (12-08-2002)
Kommentar
Fra : Simon Jørgensen


Dato : 12-08-02 21:19

>> Jeg har en php side, der henter informationer fra mysql-database.
>> Jeg har en masse links i den database, der ligger på forskellige urls


> Hva skal de ændres fra og til? Det burde være rimelig nemt at lave selv
> :) Hmm giv eksempler på ænderingerne? :=

Det er kun selve grund-url der ændres. Ikke filnavne. Fx :

http://blahblah.dk/billedetingnavn01.jpg

til

http://snaksnak.dk/billedetingnavn01.jpg

Men jeg tror at Anders Madsens forslag ikke er helt tosset. Men jeg mener
at have hørt om et Windows program engang med de funktioner jeg søger?



Tinky Winky (13-08-2002)
Kommentar
Fra : Tinky Winky


Dato : 13-08-02 11:53

> > Hva skal de ændres fra og til? Det burde være rimelig nemt at lave selv
> > :) Hmm giv eksempler på ænderingerne? :=
>
> Det er kun selve grund-url der ændres. Ikke filnavne. Fx :
>
> http://blahblah.dk/billedetingnavn01.jpg
>
> til
>
> http://snaksnak.dk/billedetingnavn01.jpg

Hvis jeg var dig, ville jeg ændre http://blahblah.dk/billedetingnavn01.jpg
til billedetingnavn01.jpg

Og så ændre i den funktion der returnere URL'en. sådan:

function getPictureUrl ($pictureId) {
$baseURL = 'http://blahblah.dk/';
sql = bla bla .... connect
.... disconnect ......
$url = $baseURL.$row['billede_filnavn'];
return $url;
}

Kan du se ideen? Det er meget godt hvis man ikke "hardcoder" url'er i
databasen på den måde.

Når du skal fjerne det første af URL'en kan du lave en PHP metode, der gør
det.
noget i retning af SELECT * FROM billedtabel WHERE url LIKE %http%
så gem alle id'erne og url'erne. Lav så en metode der finder ud af hvad de
skal hede i stedet for.
Kør så en løkke der updater ændringerne.



Anders Madsen (12-08-2002)
Kommentar
Fra : Anders Madsen


Dato : 12-08-02 20:39

Du kan lave en løkke hvori ændringerne eksekveres...

eks. for mySQL:

$result = mysql_query("SELECT * FROM database WHERE url = 'something'");
while($row = mysql_fetch_array($result)) {
if ($row['url'] == $something) {
$newurl = $somethingelse;
mysql_query("UPDATE database SET url = '".$newurl."' WHERE url =
'".$row['url']."'");
}
}

Du skal bare huske, at du ikke kan slette hele rækker på denne måde...


MVH Anders Madsen

"Simon Jørgensen" <mob51641@orangenet.dk> skrev i en meddelelse
news:aj8r1g$5ne$1@sunsite.dk...
> Jeg har en php side, der henter informationer fra mysql-database. Jeg har
> en masse links i den database, der ligger på forskellige urls. Nu skal
> alle de urls ændres. Kan man evt. hente et program der kan connecte til
> sådanne en database, og så at man kan lave de mange urls ændringer på en
> anden måde? Det drejer sig om over 6000 værdier. Så det er ikke lige sådan
> at gå igang med via det nuværnde php web interface.
>
>



Peter Brodersen (13-08-2002)
Kommentar
Fra : Peter Brodersen


Dato : 13-08-02 02:20

On Mon, 12 Aug 2002 19:24:51 +0200, "Simon Jørgensen"
<mob51641@orangenet.dk> wrote:

>Kan man evt. hente et program der kan connecte til
>sådanne en database, og så at man kan lave de mange urls ændringer på en
>anden måde?

Følgende MySQL-query burde kunne gøre det for samtlige entries i en
tabel, én gang for alle:

UPDATE tabelnavn SET url =
REPLACE(url,'http://blahblah.dk/','http://snaksnak.dk/');

Erstat "tabelnavn" med navnet på din tabel, og "url" (begge steder)
med feltnavnet, hvor linket står i.

--
- Peter Brodersen

Simon Jørgensen (18-08-2002)
Kommentar
Fra : Simon Jørgensen


Dato : 18-08-02 22:56

Hej Peter, jeg totalt grøn hvad angår SQL. Så håber du kan hjælpe.

>> og så at man kan lave de mange urls ændringer på en

> Følgende MySQL-query burde kunne gøre det for samtlige entries i en

Okay! Men du må lige uddybe det en sidste gang for mig :)

> UPDATE tabelnavn SET url =
> REPLACE(url,'http://blahblah.dk/','http://snaksnak.dk/');
>
> Erstat "tabelnavn" med navnet på din tabel, og "url" (begge steder)
> med feltnavnet, hvor linket står i.

Hvad skal jeg skrive helt præcist, hvis mit tabelnavn er:

"mrs_arkiv"

og url der skal ændres fra er :

http://www.blahblah.dk/

og nyt url er :

http://www.snaksnak.dk/

Kan jeg afvikle det i for eksempel PHP MyAdmin eller hvad det hedder.

Tak på forhånd.



Larz (18-08-2002)
Kommentar
Fra : Larz


Dato : 18-08-02 23:15

Simon Jørgensen wrote:
> Hej Peter, jeg totalt grøn hvad angår SQL. Så håber du kan hjælpe.

> Hvad skal jeg skrive helt præcist, hvis mit tabelnavn er:
>
> "mrs_arkiv"

http://google.com/search?q=sql+tutorial

> Tak på forhånd.

Selvtak

--
-
Lars
http://coder.dk/sohofaq.php - Uofficiel WOL SOHO 77 FAQ
http://wshlman.moons.dk/ - Say goodbye to GameSpy
- A Free Half Life Manager!
To mail me remove your-pants.


Larz (18-08-2002)
Kommentar
Fra : Larz


Dato : 18-08-02 23:17

Simon Jørgensen wrote:
>>UPDATE tabelnavn SET url =
>>REPLACE(url,'http://blahblah.dk/','http://snaksnak.dk/');
>>
>>Erstat "tabelnavn" med navnet på din tabel, og "url" (begge steder)
>>med feltnavnet, hvor linket står i.
>
> Hvad skal jeg skrive helt præcist, hvis mit tabelnavn er:
>
> "mrs_arkiv"
>
> og url der skal ændres fra er :
>
> http://www.blahblah.dk/
>
> og nyt url er :
>
> http://www.snaksnak.dk/

Kig liiige en ekstra gang på hvad Peter skrev igen. Jeg er HELT SIKKER
på at du ikke har læst hans indlæg...

--
-
Lars
http://coder.dk/sohofaq.php - Uofficiel WOL SOHO 77 FAQ
http://wshlman.moons.dk/ - Say goodbye to GameSpy
- A Free Half Life Manager!
To mail me remove your-pants.


Peter Brodersen (18-08-2002)
Kommentar
Fra : Peter Brodersen


Dato : 18-08-02 23:30

On Sun, 18 Aug 2002 23:55:30 +0200, "Simon Jørgensen"
<mob51641@orangenet.dk> wrote:

>> Følgende MySQL-query burde kunne gøre det for samtlige entries i en
>Okay! Men du må lige uddybe det en sidste gang for mig :)

Det kunne dog være rart at se hvad, du prøvede med.

>> UPDATE tabelnavn SET url =
>> REPLACE(url,'http://blahblah.dk/','http://snaksnak.dk/');
>>
>> Erstat "tabelnavn" med navnet på din tabel, og "url" (begge steder)
>> med feltnavnet, hvor linket står i.
>
>Hvad skal jeg skrive helt præcist, hvis mit tabelnavn er:
>
>"mrs_arkiv"

Erstat "tabelnavn" med navnet på din tabel. Da din tabel hedder
"mrs_arkiv", er det det, vi skal sætte ind.

Til gengæld nævner du ikke hvad url-feltet i din tabel hedder, så jeg
vil fortsætte med at gå ud fra at det felt hedder "url". Vi får
således:

UPDATE mrs_arkiv SET url =
REPLACE(url,'http://www.blahblah.dk/','http://www.snaksnak.dk/');

>Kan jeg afvikle det i for eksempel PHP MyAdmin eller hvad det hedder.

Ja, for eksempel. Vælg din database, vælg "SQL", og indsæt ovenstående
query.

--
- Peter Brodersen

Simon Jørgensen (18-08-2002)
Kommentar
Fra : Simon Jørgensen


Dato : 18-08-02 23:41

> Til gengæld nævner du ikke hvad url-feltet i din tabel hedder, så jeg
> vil fortsætte med at gå ud fra at det felt hedder "url". Vi får

Mit url hedder href (for stort billede) og href_sml (for thumbnail), så
det er vel noget i stil med :

UPDATE mrs_arkiv SET href_sml =
REPLACE(url,'http://www.blahblah.dk/','http://www.snaksnak.dk/');

Nu hedder hele værdien jo faktisk :

http://www.blahblah.dk/billednavn01.jpg

Men hvis jeg fyrer overstående kommando afsted. Så vil den så stadig
rette det korrekt?



Peter Brodersen (19-08-2002)
Kommentar
Fra : Peter Brodersen


Dato : 19-08-02 06:29

On Mon, 19 Aug 2002 00:41:19 +0200, "Simon Jørgensen"
<mob51641@orangenet.dk> wrote:

>Nu hedder hele værdien jo faktisk :
>
>http://www.blahblah.dk/billednavn01.jpg
>
>Men hvis jeg fyrer overstående kommando afsted. Så vil den så stadig
>rette det korrekt?

Med al respekt - har du prøvet én af følgende:

1. ... prøvet at kigge i MySQL-manualen og slå REPLACE-funktionen op?
Den er fint dokumenteret

2. ... prøvet at tage en kopi af din nuværende tabel, køre nærværende
query, og så se på resultatet? Jeg kan ikke se at der er noget i vejen
for selv at teste en gang.

--
- Peter Brodersen

Simon Jørgensen (19-08-2002)
Kommentar
Fra : Simon Jørgensen


Dato : 19-08-02 13:28

> 1. ... prøvet at kigge i MySQL-manualen og slå REPLACE-funktionen op?
> Den er fint dokumenteret

Ikke endnu :/

> 2. ... prøvet at tage en kopi af din nuværende tabel, køre nærværende
> query, og så se på resultatet? Jeg kan ikke se at der er noget i vejen
> for selv at teste en gang.

Jeg har bare være bange for ødelægge noget. Men jeg vil se om jeg ikke
selv kan løse det.



Peter Brodersen (19-08-2002)
Kommentar
Fra : Peter Brodersen


Dato : 19-08-02 14:12

On Mon, 19 Aug 2002 14:28:06 +0200, "Simon Jørgensen"
<mob51641@orangenet.dk> wrote:

>> 1. ... prøvet at kigge i MySQL-manualen og slå REPLACE-funktionen op?
>> Den er fint dokumenteret
>Ikke endnu :/

Så bør du gøre det :) REPLACE-funktionen laver netop en almindelig
søg&erstat, som du ønsker det. Så:

UPDATE mrs_arkiv SET href_sml =
REPLACE(url,'http://www.blahblah.dk/','http://www.snaksnak.dk/');

.... må være hvad, du ønsker.

>> 2. ... prøvet at tage en kopi af din nuværende tabel, køre nærværende
>> query, og så se på resultatet? Jeg kan ikke se at der er noget i vejen
>> for selv at teste en gang.
>Jeg har bare være bange for ødelægge noget. Men jeg vil se om jeg ikke
>selv kan løse det.

Derfor anbefalingen om at lave et dump af din tabel, som du så altid
kan lægge ind igen, hvis noget går galt.

Bruger du PHPMyAdmin, kan du fx vælge databasen, vælge "Export" i
menuen, og fx vælge at dump'e "Strukturen og data".

--
- Peter Brodersen

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste