Rondom Picture
DarziaC - 15/03/2006 10:59
Nieuw lid
Heey,
ik zoek al een tijdje naar een script die meerdere plaatjes kan roteren.
Voorbeeld:
[url=http://] http://templates.surreal-media.com/GT6blue / [/url]
zie de rechtekant ( Team Roster ).
stel ik heb nu 13 Members. Hoe roteer ik die dan?
( de andere 3 moeten ook in beeld komen.. )
Alvast bedankt.
Gr. Wesley
62 antwoorden
Gesponsorde links
timo - 15/03/2006 11:24
PHP ver gevorderde
hier een scriptje:
<?php
$image[] = "urlnaarimage1";
$image[] = "urlnaarimage2"; // array met de images, dit kan ook een array zijn die je uit de db haalt...
$aantal = count($image); // tellen hoeveel het er zijn
$rand = rand(0,$image); // random tussen de 0 (start array) en eind aantal van de array kiezen
echo '<img src="$image[$rand]" alt="" />';
?>
<?php
$image [ ] = "urlnaarimage1" ;
$image [ ] = "urlnaarimage2" ; // array met de images, dit kan ook een array zijn die je uit de db haalt...
$aantal = count ( $image ) ; // tellen hoeveel het er zijn $rand = rand ( 0 , $image ) ; // random tussen de 0 (start array) en eind aantal van de array kiezen echo '<img src="$image[$rand]" alt="" />' ; ?>
niet getest... zou vlgns mij moete werke
DarziaC - 15/03/2006 11:27 (laatste wijziging 15/03/2006 11:27)
Nieuw lid
ja oke, maar dan wil ik meerdere plaatjes..
dus:
echo '<img src="$image[$rand]" alt="" />';
echo '<img src="$image[$rand]" alt="" />';<br>
echo '<img src="$image[$rand]" alt="" />';
echo '<img src="$image[$rand]" alt="" />';<br>
echo '<img src="$image[$rand]" alt="" />';
echo '<img src="$image[$rand]" alt="" />';<br>
echo '<img src="$image[$rand]" alt="" />' ; echo '<img src="$image[$rand]" alt="" />' ;< br
> echo '<img src="$image[$rand]" alt="" />' ; echo '<img src="$image[$rand]" alt="" />' ;< br
> echo '<img src="$image[$rand]" alt="" />' ; echo '<img src="$image[$rand]" alt="" />' ;< br
>
om dan de andere te laten roteren..
timo - 15/03/2006 11:30
PHP ver gevorderde
dan moet je steeds een andere rand aanmaken.. dus $rand1 = (0,$aantal);
$rand2 = (0,$aantal); ....
als je veel images hebt is de kans klein dat je er een dubbel krijgt... anders moet je een aparte functie schrijve....
DarziaC - 15/03/2006 12:35
Nieuw lid
<?php
$image[] = "1.jpg";
$image[] = "2.jpg";
$image[] = "3.jpg";
$image[] = "4.jpg";
$image[] = "5.jpg";
$image[] = "6.jpg";
$image[] = "7.jpg";
$image[] = "8.jpg";
$image[] = "9.jpg";
$image[] = "10.jpg";
$image[] = "11.jpg";
$image[] = "12.jpg";
$image[] = "13.jpg";
$image[] = "14.jpg";
$image[] = "15.jpg";
$image[] = "16.jpg";
$image[] = "17.jpg";
$image[] = "18.jpg";
$image[] = "19.jpg";
$image[] = "20.jpg";
$aantal = count($image);
$rand1 = (0,$aantal);
$rand2 = (0,$aantal);
$rand3 = (0,$aantal);
$rand4 = (0,$aantal);
$rand5 = (0,$aantal);
$rand6 = (0,$aantal);
$rand1 = (0,$aantal);
$rand7 = (0,$aantal);
$rand8 = (0,$aantal);
$rand9 = (0,$aantal);
$rand10 = (0,$aantal);
$rand11 = (0,$aantal);
$rand12 = (0,$aantal);
$rand13 = (0,$aantal);
$rand14 = (0,$aantal);
$rand15 = (0,$aantal);
$rand16 = (0,$aantal);
$rand17 = (0,$aantal);
$rand18 = (0,$aantal);
$rand19 = (0,$aantal);
$rand20 = (0,$aantal);
echo '<img src="$image[$rand]" alt="" />';echo '<img src="$image[$rand]" alt="" /><br>';
echo '<img src="$image[$rand]" alt="" />';echo '<img src="$image[$rand]" alt="" /><br>';
echo '<img src="$image[$rand]" alt="" />';echo '<img src="$image[$rand]" alt="" /><br>';
?>
<?php
$image [ ] = "1.jpg" ;
$image [ ] = "2.jpg" ;
$image [ ] = "3.jpg" ;
$image [ ] = "4.jpg" ;
$image [ ] = "5.jpg" ;
$image [ ] = "6.jpg" ;
$image [ ] = "7.jpg" ;
$image [ ] = "8.jpg" ;
$image [ ] = "9.jpg" ;
$image [ ] = "10.jpg" ;
$image [ ] = "11.jpg" ;
$image [ ] = "12.jpg" ;
$image [ ] = "13.jpg" ;
$image [ ] = "14.jpg" ;
$image [ ] = "15.jpg" ;
$image [ ] = "16.jpg" ;
$image [ ] = "17.jpg" ;
$image [ ] = "18.jpg" ;
$image [ ] = "19.jpg" ;
$image [ ] = "20.jpg" ;
$rand1 = ( 0 , $aantal ) ;
$rand2 = ( 0 , $aantal ) ;
$rand3 = ( 0 , $aantal ) ;
$rand4 = ( 0 , $aantal ) ;
$rand5 = ( 0 , $aantal ) ;
$rand6 = ( 0 , $aantal ) ;
$rand1 = ( 0 , $aantal ) ;
$rand7 = ( 0 , $aantal ) ;
$rand8 = ( 0 , $aantal ) ;
$rand9 = ( 0 , $aantal ) ;
$rand10 = ( 0 , $aantal ) ;
$rand11 = ( 0 , $aantal ) ;
$rand12 = ( 0 , $aantal ) ;
$rand13 = ( 0 , $aantal ) ;
$rand14 = ( 0 , $aantal ) ;
$rand15 = ( 0 , $aantal ) ;
$rand16 = ( 0 , $aantal ) ;
$rand17 = ( 0 , $aantal ) ;
$rand18 = ( 0 , $aantal ) ;
$rand19 = ( 0 , $aantal ) ;
$rand20 = ( 0 , $aantal ) ;
echo '<img src="$image[$rand]" alt="" />' ; echo
'<img src="$image[$rand]" alt="" /><br>' ; echo '<img src="$image[$rand]" alt="" />' ; echo
'<img src="$image[$rand]" alt="" /><br>' ; echo '<img src="$image[$rand]" alt="" />' ; echo
'<img src="$image[$rand]" alt="" /><br>' ;
?>
smoos - 15/03/2006 12:38
PHP gevorderde
<?php
$aantal = (count($image) - 1);
?>
<?php
$aantal = ( count ( $image ) - 1 ) ; ?>
Je telt hier wel 20 plaatjes maar je moet random 0, 19 hebben
dit aangezien je array begin bij 0 wat je zelf ook al aangaf.
en van 0 tot 20 zijn 21 plaatjes. en je hebt er maar 20.
dus 0 tot 19 lijkt me hier beter op zijn plaats
DarziaC - 15/03/2006 12:41
Nieuw lid
hoe doe ik dat?
Gerard - 15/03/2006 12:41
Ouwe rakker
DarziaC:
Denk daar nog eens een keer goed over na, want dit kan zeker beter!
Je voert de hele tijd dezelfde actie uit.... dat moet anders kunnen.
marten - 15/03/2006 12:43
Beheerder
for lus
while lus ;)
denk daar maar eens aan
DarziaC - 15/03/2006 12:44
Nieuw lid
ik weet het niet meer :S damn
marten - 15/03/2006 12:49
Beheerder
niet zo snel opgeven!
zet op een rijtje wat je wilt!
vervolgens ga je kijken hoe je dat gaat doen....
DarziaC - 15/03/2006 12:50
Nieuw lid
tot hoerver is het script nu goed?
marten - 15/03/2006 12:52
Beheerder
is op zich goed
maar je kan het korter schrijven en je moet nog controle inbouwen voor de plaatjes die al geweest zijn
marten - 15/03/2006 13:01
Beheerder
onderzoek eerst eens de termen
for lus
while lus ;)
dan zul je hopelijk zien dat je het korter kan schrijven ;) als je dan beetje gaat prutsen dan wil het wel ;)
enne spijker je niet vast op 13 members !
kunnen namelijk members bij komen en members af gaan ;)
Simon - 15/03/2006 13:14
PHP expert
ik zou ook wel es graag willen weten hoe je kan checken of een prentje al geweest is, een for lus is simpel, maar hoe kun je dan checken?
<?php
$image[0] = "1.jpg";
$image[1] = "2.jpg";
$image[2] = "3.jpg";
$image[3] = "4.jpg";
$image[4] = "5.jpg";
$image[5] = "6.jpg";
$image[6] = "7.jpg";
$image[7] = "8.jpg";
$image[8] = "9.jpg";
$image[9] = "10.jpg";
$image[10] = "11.jpg";
$image[11] = "12.jpg";
$image[12] = "13.jpg";
$image[13] = "14.jpg";
$image[14] = "15.jpg";
$image[15] = "16.jpg";
$image[16] = "17.jpg";
$image[17] = "18.jpg";
$image[18] = "19.jpg";
$image[19] = "20.jpg";
for($i=0;$i<$aantal;$i++) {
?>
<img src="<?= echo $image[rand(0,$aantal)]; ?>">
<?php
}
?>
<?php
$image [ 0 ] = "1.jpg" ;
$image [ 1 ] = "2.jpg" ;
$image [ 2 ] = "3.jpg" ;
$image [ 3 ] = "4.jpg" ;
$image [ 4 ] = "5.jpg" ;
$image [ 5 ] = "6.jpg" ;
$image [ 6 ] = "7.jpg" ;
$image [ 7 ] = "8.jpg" ;
$image [ 8 ] = "9.jpg" ;
$image [ 9 ] = "10.jpg" ;
$image [ 10 ] = "11.jpg" ;
$image [ 11 ] = "12.jpg" ;
$image [ 12 ] = "13.jpg" ;
$image [ 13 ] = "14.jpg" ;
$image [ 14 ] = "15.jpg" ;
$image [ 15 ] = "16.jpg" ;
$image [ 16 ] = "17.jpg" ;
$image [ 17 ] = "18.jpg" ;
$image [ 18 ] = "19.jpg" ;
$image [ 19 ] = "20.jpg" ;
for ( $i = 0 ; $i < $aantal ; $i ++ ) {
?>
<img src="
<?= echo $image [ rand ( 0 , $aantal ) ] ; ?> ">
<?php
}
?>
ik denk dat ie zo mss werkt, maar hoe kun je dan een check erin bouwen?
Gerard - 15/03/2006 13:18
Ouwe rakker
bijhouden in een aparte array of een bepaald plaatje al is geweest (in_array())
smoos - 15/03/2006 13:31 (laatste wijziging 15/03/2006 13:33)
PHP gevorderde
<?php
// al je plaatjes :-)
$image[0] = "1.jpg";
$image[1] = "2.jpg";
$image[2] = "3.jpg";
$image[3] = "4.jpg";
$image[4] = "5.jpg";
$image[5] = "6.jpg";
$image[6] = "7.jpg";
$image[7] = "8.jpg";
$image[8] = "9.jpg";
$image[9] = "10.jpg";
$image[10] = "11.jpg";
$image[11] = "12.jpg";
$image[12] = "13.jpg";
$image[13] = "14.jpg";
$image[14] = "15.jpg";
$image[15] = "16.jpg";
$image[16] = "17.jpg";
$image[17] = "18.jpg";
$image[18] = "19.jpg";
$image[19] = "20.jpg";
// Aantal die je wilt zien
$s[0] = "";
$s[1] = "";
$s[2] = "";
// Zolang ze alle 3 niet hetzelfde zijn
while ($s[0] == $s[1] || $s[0] == $s[2] || $s[1] == $s[2])
{
// random plaatjes
$s[0] = $image[(rand(0, (count($image) - 1)))];
$s[1] = $image[(rand(0, (count($image) - 1)))];
$s[2] = $image[(rand(0, (count($image) - 1)))];
}
// laten zien.
print_r($s);
?>
<?php
// al je plaatjes :-)
$image [ 0 ] = "1.jpg" ;
$image [ 1 ] = "2.jpg" ;
$image [ 2 ] = "3.jpg" ;
$image [ 3 ] = "4.jpg" ;
$image [ 4 ] = "5.jpg" ;
$image [ 5 ] = "6.jpg" ;
$image [ 6 ] = "7.jpg" ;
$image [ 7 ] = "8.jpg" ;
$image [ 8 ] = "9.jpg" ;
$image [ 9 ] = "10.jpg" ;
$image [ 10 ] = "11.jpg" ;
$image [ 11 ] = "12.jpg" ;
$image [ 12 ] = "13.jpg" ;
$image [ 13 ] = "14.jpg" ;
$image [ 14 ] = "15.jpg" ;
$image [ 15 ] = "16.jpg" ;
$image [ 16 ] = "17.jpg" ;
$image [ 17 ] = "18.jpg" ;
$image [ 18 ] = "19.jpg" ;
$image [ 19 ] = "20.jpg" ;
// Aantal die je wilt zien
$s [ 0 ] = "" ;
$s [ 1 ] = "" ;
$s [ 2 ] = "" ;
// Zolang ze alle 3 niet hetzelfde zijn
while ( $s [ 0 ] == $s [ 1 ] || $s [ 0 ] == $s [ 2 ] || $s [ 1 ] == $s [ 2 ] )
{
// random plaatjes
$s [ 0 ] = $image [ ( rand ( 0 , ( count ( $image ) - 1 ) ) ) ] ; $s [ 1 ] = $image [ ( rand ( 0 , ( count ( $image ) - 1 ) ) ) ] ; $s [ 2 ] = $image [ ( rand ( 0 , ( count ( $image ) - 1 ) ) ) ] ; }
// laten zien.
?>
Edit:
dit werkt alleen als je meer dan 3 plaatjes hebt. Je kan met de functie count() controleren hoeveel plaatjes je in je Array hebt
kokx - 15/03/2006 13:33 (laatste wijziging 15/03/2006 13:33)
Onbekend
Je kunt die count van $image beter in een variabele zetten. Dat is veel sneller.
DarziaC - 15/03/2006 13:34
Nieuw lid
ziet er goed uit, maar hoe laat ik de afbeelding zelf zien?
Rens - 15/03/2006 13:35 (laatste wijziging 15/03/2006 13:35)
Crew algemeen
http://www.site...&id=57
<img src="<?=$s[0];?>" />
<img src="<?=$s[1];?>" />
<img src="<?=$s[2];?>" />
<img src="<?= $s [ 0 ] ; ?> " />
<img src="<?= $s [ 1 ] ; ?> " />
<img src="<?= $s [ 2 ] ; ?> " />
kokx - 15/03/2006 13:36 (laatste wijziging 15/03/2006 13:39)
Onbekend
<?php
// al je plaatjes :-)
$image[0] = "1.jpg";
$image[1] = "2.jpg";
$image[2] = "3.jpg";
$image[3] = "4.jpg";
$image[4] = "5.jpg";
$image[5] = "6.jpg";
$image[6] = "7.jpg";
$image[7] = "8.jpg";
$image[8] = "9.jpg";
$image[9] = "10.jpg";
$image[10] = "11.jpg";
$image[11] = "12.jpg";
$image[12] = "13.jpg";
$image[13] = "14.jpg";
$image[14] = "15.jpg";
$image[15] = "16.jpg";
$image[16] = "17.jpg";
$image[17] = "18.jpg";
$image[18] = "19.jpg";
$image[19] = "20.jpg";
// Aantal die je wilt zien
$s[0] = "";
$s[1] = "";
$s[2] = "";
// Zolang ze alle 3 niet hetzelfde zijn
$count = count($image);
while ($s[0] == $s[1] || $s[0] == $s[2] || $s[1] == $s[2])
{
// random plaatjes
$s[0] = $image[(rand(0, ($count - 1)))];
$s[1] = $image[(rand(0, ($count - 1)))];
$s[2] = $image[(rand(0, ($count - 1)))];
}
echo "<img src=\"{$s[0]}\" alt=\"plaatje1\" /><br />\n";
echo "<img src=\"{$s[1]}\" alt=\"plaatje2\" /><br />\n";
echo "<img src=\"{$s[2]}\" alt=\"plaatje3\" /><br />\n";
?>
<?php
// al je plaatjes :-)
$image [ 0 ] = "1.jpg" ;
$image [ 1 ] = "2.jpg" ;
$image [ 2 ] = "3.jpg" ;
$image [ 3 ] = "4.jpg" ;
$image [ 4 ] = "5.jpg" ;
$image [ 5 ] = "6.jpg" ;
$image [ 6 ] = "7.jpg" ;
$image [ 7 ] = "8.jpg" ;
$image [ 8 ] = "9.jpg" ;
$image [ 9 ] = "10.jpg" ;
$image [ 10 ] = "11.jpg" ;
$image [ 11 ] = "12.jpg" ;
$image [ 12 ] = "13.jpg" ;
$image [ 13 ] = "14.jpg" ;
$image [ 14 ] = "15.jpg" ;
$image [ 15 ] = "16.jpg" ;
$image [ 16 ] = "17.jpg" ;
$image [ 17 ] = "18.jpg" ;
$image [ 18 ] = "19.jpg" ;
$image [ 19 ] = "20.jpg" ;
// Aantal die je wilt zien
$s [ 0 ] = "" ;
$s [ 1 ] = "" ;
$s [ 2 ] = "" ;
// Zolang ze alle 3 niet hetzelfde zijn
while ( $s [ 0 ] == $s [ 1 ] || $s [ 0 ] == $s [ 2 ] || $s [ 1 ] == $s [ 2 ] )
{
// random plaatjes
$s [ 0 ] = $image [ ( rand ( 0 , ( $count - 1 ) ) ) ] ; $s [ 1 ] = $image [ ( rand ( 0 , ( $count - 1 ) ) ) ] ; $s [ 2 ] = $image [ ( rand ( 0 , ( $count - 1 ) ) ) ] ; }
echo "<img src=\" {$s[0]} \" alt=\" plaatje1\" /><br />\n " ; echo "<img src=\" {$s[1]} \" alt=\" plaatje2\" /><br />\n " ; echo "<img src=\" {$s[2]} \" alt=\" plaatje3\" /><br />\n " ; ?>
Edit: Heb er ook even voor gezorgd dat count niet de hele tijd opnieuw wordt gebruikt.
smoos - 15/03/2006 13:36 (laatste wijziging 15/03/2006 13:39)
PHP gevorderde
Dit
vervangen door
<?php
foreach($s as $a)
echo "<img src=\"". $a . "\" /><br />";
?>
<?php
foreach ( $s as $a )
echo "<img src=\" " . $a . "\" /><br />" ;
?>
Niet getest maar moet kunnen :-)
DarziaC - 15/03/2006 13:41
Nieuw lid
nog iets.. hoe kan ik 2 plaatjes naast elkaar krijgen?
<imc src=""> <imc src=""> <br>
<imc src=""> <imc src=""> <br>
<imc src=""> <imc src="">
< imc src= "" > < imc src= "" > < br>
< imc src= "" > < imc src= "" > < br>
< imc src= "" > < imc src= "" >
kokx - 15/03/2006 13:42 (laatste wijziging 15/03/2006 13:43)
Onbekend
Welke bedoel je. Die van mij, smoos of rensjuh?
Edit: Zoals je het zegt ja. Als je die c door een g vervangt.
Thomas - 15/03/2006 13:47 (laatste wijziging 15/03/2006 13:51)
Moderator
Gebruik geen while constructie (i.i.g. niet zoeen als hierboven ), maar doe een controle met in_array ofzo. Stel dat je dadelijk het aantal random plaatjes wilt veranderen, moet je je code weer gaan veranderen, terwijl het stukken handiger zou zijn als je dan alleen de waarde van een variabele (zeg $aantal) hoeft te veranderen, niet?
<?php
$image = array();
$image[] = "1.jpg";
$image[] = "2.jpg";
$image[] = "3.jpg";
$image[] = "4.jpg";
$image[] = "5.jpg";
$image[] = "6.jpg";
$image[] = "7.jpg";
$image[] = "8.jpg";
$image[] = "9.jpg";
$image[] = "10.jpg";
$image[] = "11.jpg";
$image[] = "12.jpg";
$image[] = "13.jpg";
$image[] = "14.jpg";
$image[] = "15.jpg";
$image[] = "16.jpg";
$image[] = "17.jpg";
$image[] = "18.jpg";
$image[] = "19.jpg";
$image[] = "20.jpg";
// hier kun je gewoon plaatjes aan toevoegen met $image[] = "whatever.jpg"
$gehad = array(); // de plaatjes die je al random hebt geselecteerd
$aantal = 5; // het aantal random plaatjes
// bouwen
while(sizeof($gehad) < min(sizeof($image), $aantal))
{
$rand = rand(0, sizeof($image)-1);
if(!in_array($rand, $gehad))
{
$gehad[] = $rand;
}
}
// afdrukken
foreach($gehad as $v)
{
echo "<img src=\"".$image[$v]."\" /><br />";
}
?>
<?php
$image [ ] = "1.jpg" ;
$image [ ] = "2.jpg" ;
$image [ ] = "3.jpg" ;
$image [ ] = "4.jpg" ;
$image [ ] = "5.jpg" ;
$image [ ] = "6.jpg" ;
$image [ ] = "7.jpg" ;
$image [ ] = "8.jpg" ;
$image [ ] = "9.jpg" ;
$image [ ] = "10.jpg" ;
$image [ ] = "11.jpg" ;
$image [ ] = "12.jpg" ;
$image [ ] = "13.jpg" ;
$image [ ] = "14.jpg" ;
$image [ ] = "15.jpg" ;
$image [ ] = "16.jpg" ;
$image [ ] = "17.jpg" ;
$image [ ] = "18.jpg" ;
$image [ ] = "19.jpg" ;
$image [ ] = "20.jpg" ;
// hier kun je gewoon plaatjes aan toevoegen met $image[] = "whatever.jpg"
$gehad = array ( ) ; // de plaatjes die je al random hebt geselecteerd $aantal = 5 ; // het aantal random plaatjes
// bouwen
{
{
$gehad [ ] = $rand ;
}
}
// afdrukken
foreach ( $gehad as $v )
{
echo "<img src=\" " . $image [ $v ] . "\" /><br />" ; }
?>
Gesponsorde links
Dit onderwerp is gesloten .