Avatar billede rzj Nybegynder
23. oktober 2003 - 10:44 Der er 12 kommentarer og
1 løsning

bladre script

Hej E's
Jeg er desperat ! Jeg er ved at lave et bladre script, der skal fungere så enkelt som overhovedet muligt. Min hjerne er gået fuldstændig i selvsving...

Her er det:
<?php
# START OF ARRAYS
$flowA = array("hvem.gif", "hvad.gif", "hvor.gif");

if(!isset($i) || $i == count($flowA)){
$i = 0;
}

?>                           
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>D E T  D I G I T A L E  B Y G G E R I</title>
</head>
<body>
<center>
<?php
echo '<a href="'.$_SERVER["PHPSELF"].'?i='.$i+1.'">';
echo '<img src="pics/'.$flowA[$i].'" alt="" border="0" />';
echo '<a>';
?>
</center>
</body>
</html>

Som I sikkert kan se er det evident at jeg kan lave denne:
echo '<a href="'.$_SERVER["PHPSELF"].'?i='.$i+1.'">';

altså at jeg kan tælle $i op ved et klik på billedet, da $i både bruges som index og som tæller !

Er der ikke nogle skarpe derude der lige kan kringle den ?

Læg mærke til at der skal bladres forfra når sidste billede vises.

/raz
Avatar billede rzj Nybegynder
23. oktober 2003 - 11:09 #1
jeg har løst det, men kan det (if/else) virkeligt ikke gøres smukkere / enklere:
<?php
# START OF ARRAYS
$flowA = array("hvem.gif", "hvad.gif", "hvor.gif");

if(!isset($id)){
$i = 0;
$id = $i + 1;
} else {
if($id < count($flowA)){
  $i = $id;
  $id++;   
} else {
  $i = 0;
    $id = $i +1;
}
}

?>                           
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>D E T  D I G I T A L E  B Y G G E R I</title>
</head>
<body>
<center>
<?php
echo '<a href="'.$_SERVER["PHPSELF"].'?id='.$id.'">';
echo '<img src="pics/'.$flowA[$i].'" alt="" border="0" />';
echo '<a>';
?>
</center>
</body>
</html>
Avatar billede detox Nybegynder
23. oktober 2003 - 11:17 #2
Måske sådan:

if(isset($id) && $id < count($flowA)){
    $i = $id;
    $id++;
} else {
    $i = 0;
    $id = $i +1;
}
Avatar billede detox Nybegynder
23. oktober 2003 - 11:34 #3
Eller måske endda:

if(isset($id) && $id < count($flowA)) $i = $id;
else $i = 0;
$id = $i +1;
Avatar billede rzj Nybegynder
23. oktober 2003 - 11:35 #4
of course !!
mange tak og smid et svar
Avatar billede detox Nybegynder
23. oktober 2003 - 11:40 #5
Velbekommen. Evt. sådan her:

$i = (isset($id) && $id < count($flowA)) ? $i = $id : $i = 0;
$id = $i +1;

PS: Du behøver altså ikke give 100p for så lidt! c",)
Avatar billede rzj Nybegynder
27. oktober 2003 - 12:28 #6
detox> Jeg vil gerne give 100 point, hvis du kan afklare en sidste ting:
Hvis jeg nu ønsker at have flere forskellige arrays a la flowA[] og gerne vil angive hvilket array der skal benyttes via URLen a la:
http:/min.side.dk/flow.php?use=flowA&id=0

hvordan kunne du så forestille dig at koden ser ud ?

Jeg kan godt se at man så kan arbejde med en switch eller if()på $use, men det er ikke så generisk da jeg så skal udvide switch hver gang jeg tilføjer et nyt array.
Har du en flot løsning...eller bare lidt inspiration jeg kan gå udfra ?
Hvis ikke, så får du bare de point der svarer til et middel spørgsmål (60 point)
/raz
Avatar billede detox Nybegynder
27. oktober 2003 - 13:45 #7
Måske du kan løse det sådan her:

http:/min.side.dk/flow.php?use=flowA&id=0

echo '<img src="pics/'.$$use[$i].'" alt="" border="0" />';
Avatar billede rzj Nybegynder
27. oktober 2003 - 14:14 #8
nope, det kunne jeg ikke. Den finder ikke noget på $i (der kommer tilgengæld heller ikke nogle fejlmeddelelser).
/raz
Avatar billede detox Nybegynder
27. oktober 2003 - 14:23 #9
Næ, jeg kunne heller ikke få det til at du. Prøv med et multidimensionelt array. Det fungerer vidst:

http:/min.side.dk/flow.php?use=flowA&id=0

<?
$picarr = array(
'flowA' => array('a','b','c'),
'flowB' => array('d','e','f')
);
$use = $_GET['use'];
$id = $_GET['id'];
echo $picarr[$use][$id];
?>
Avatar billede detox Nybegynder
27. oktober 2003 - 14:24 #10
Giver fx: 'a'.
Avatar billede detox Nybegynder
27. oktober 2003 - 14:29 #11
http:/min.side.dk/flow.php?use=flowB&id=1
giver: 'e'
så det ser ud til at kunne gøre det.
Avatar billede rzj Nybegynder
27. oktober 2003 - 15:16 #12
præcis ! Tak for hjælpen
Avatar billede detox Nybegynder
27. oktober 2003 - 15:20 #13
Velbekommen c",)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester