/ 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
Trunkering af databasefelter efter skift a~
Fra : Jens


Dato : 28-02-05 10:39

Hejsan,

Jeg er ved at lave en hjemmeside med et primitivt CMS. Jeg bruger b-one som
webhotel, og siden er lavet i de versioner af PHP/mySQL, som b-one tilbyder
(4.3.10 og 4.0.23). Alt kører, jeg er glad.

Som et hyggeprojekt er jeg ved at sætte min egen debian-server op, jeg kører
woody, hvor PHP og mySQL versionerne er 4.1.2 og 3.23.49, altså nogen ældre
versioner. Nu ville jeg gerne have hjemmesiden til at køre på min
debian-box, men her opfører siden sig underligt.

Jeg har et script, som bytter om på rækkefølgen af nogen filnavne i
databasen, og når jeg kører det på debian-boxen, bliver alle navne trunkeret
til en karakter. Kan dette evt. skyldes, at mySQL eller PHP er en for gammel
version? Uddrag af scriptet nedenfor. Jeg er ikke nogen haj til debian, så
jeg ville gerne være mere sikker på, at det kan hjælpe at opgradere, før jeg
kaster mig ud i det...

/Jens

/* Hent alle billeder */
$query = "SELECT * FROM foto_billeder WHERE sideID = ".$side." ORDER BY
ID";
$result = mysql_query($query) or die("Forespørgslen lykkedes ikke : " .
mysql_error());
$billedantal = mysql_num_rows($result);
for($i=0; $i < $billedantal; $i++) {
$billedID[$i] = mysql_result($result, $i, 'ID');
$billede[$i] = mysql_result($result, $i, 'filnavn');
}

/* Byt rundt */
if($retning == 'ned')
for($i=0; $i < ($billedantal-1); $i++)
if($billedID[$i] == $bID) {
$temp_billede = $billede[$i+1];
$billede[$i+1] = $billede[$i];
$billede[$i] = $temp_billede;
}

/* Læg ind i databasen igen */
for($i=0; $i < $billedantal; $i++) {
$query = "UPDATE foto_billeder SET filnavn = '".$billede[$i]."' WHERE ID
= '".$billedID[$i]."'";
$result = mysql_query($query) or die("Forespørgslen lykkedes ikke : " .
mysql_error());
}



 
 
Jens (28-02-2005)
Kommentar
Fra : Jens


Dato : 28-02-05 21:09

Hej igen

Opgraderede til sarge, men det hjalp ikke (ved nærmere eftertanke troede jeg
heller ikke rigtigt at det ville...)

Fandt dog problemet: I toppen af scriptet henter jeg en variabel fra URL'en:
$bID = $_GET['billede']; Længere nede erklærer jeg en _anden_ variabel ved
navn $billede => konflikt. Det må være pga. forskellig PHP-opsætning på min
maskine, at det giver problemer på min maskine og ikke på b-ones server.

Sååeh... undskyld forstyrrelsen :)

/Jens

"Jens" <ny@tornoe.net> skrev i en meddelelse
news:4222e6ca$0$967$edfadb0f@dread16.news.tele.dk...
> Hejsan,
>
> Jeg er ved at lave en hjemmeside med et primitivt CMS. Jeg bruger b-one
> som webhotel, og siden er lavet i de versioner af PHP/mySQL, som b-one
> tilbyder (4.3.10 og 4.0.23). Alt kører, jeg er glad.
>
> Som et hyggeprojekt er jeg ved at sætte min egen debian-server op, jeg
> kører woody, hvor PHP og mySQL versionerne er 4.1.2 og 3.23.49, altså
> nogen ældre versioner. Nu ville jeg gerne have hjemmesiden til at køre på
> min debian-box, men her opfører siden sig underligt.
>
> Jeg har et script, som bytter om på rækkefølgen af nogen filnavne i
> databasen, og når jeg kører det på debian-boxen, bliver alle navne
> trunkeret til en karakter. Kan dette evt. skyldes, at mySQL eller PHP er
> en for gammel version? Uddrag af scriptet nedenfor. Jeg er ikke nogen haj
> til debian, så jeg ville gerne være mere sikker på, at det kan hjælpe at
> opgradere, før jeg kaster mig ud i det...
>
> /Jens
>
> /* Hent alle billeder */
> $query = "SELECT * FROM foto_billeder WHERE sideID = ".$side." ORDER BY
> ID";
> $result = mysql_query($query) or die("Forespørgslen lykkedes ikke : " .
> mysql_error());
> $billedantal = mysql_num_rows($result);
> for($i=0; $i < $billedantal; $i++) {
> $billedID[$i] = mysql_result($result, $i, 'ID');
> $billede[$i] = mysql_result($result, $i, 'filnavn');
> }
>
> /* Byt rundt */
> if($retning == 'ned')
> for($i=0; $i < ($billedantal-1); $i++)
> if($billedID[$i] == $bID) {
> $temp_billede = $billede[$i+1];
> $billede[$i+1] = $billede[$i];
> $billede[$i] = $temp_billede;
> }
>
> /* Læg ind i databasen igen */
> for($i=0; $i < $billedantal; $i++) {
> $query = "UPDATE foto_billeder SET filnavn = '".$billede[$i]."' WHERE
> ID = '".$billedID[$i]."'";
> $result = mysql_query($query) or die("Forespørgslen lykkedes ikke : " .
> mysql_error());
> }
>
>



Kim Emax (28-02-2005)
Kommentar
Fra : Kim Emax


Dato : 28-02-05 23:39

Jens wrote:
> Hej igen
>
> Opgraderede til sarge, men det hjalp ikke (ved nærmere eftertanke troede jeg
> heller ikke rigtigt at det ville...)
>
> Fandt dog problemet: I toppen af scriptet henter jeg en variabel fra URL'en:
> $bID = $_GET['billede']; Længere nede erklærer jeg en _anden_ variabel ved
> navn $billede => konflikt. Det må være pga. forskellig PHP-opsætning på min
> maskine, at det giver problemer på min maskine og ikke på b-ones server.

Prøv at printe phpinfo() på begge servere, måske finder du en forskel i
register_globals


--
Take Care
Kim Emax - master|minds - Vi tænker IT for dig...
Konsulentbistand, programmering, design & hosting.
http://www.masterminds.dk

Jens (01-03-2005)
Kommentar
Fra : Jens


Dato : 01-03-05 10:57


"Kim Emax" <newsgroups@emax.dk> skrev i en meddelelse
news:M3NUd.102336$Vf.3949179@news000.worldonline.dk...
> Prøv at printe phpinfo() på begge servere, måske finder du en forskel i
> register_globals

Jeps, lige præcis. Tak for hjælpen.

/Jens



Søg
Reklame
Statistik
Spørgsmål : 177517
Tips : 31968
Nyheder : 719565
Indlæg : 6408636
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste