Ikke rand() men en anden?

Tags:    php

<< < 12 > >>
Hej,
På min side hvor mine nyheder vises, vises et bestemt billede til venstre for teksten. - faktisk ligesom forsiden her på udv.dk - men jeg vil have det til at være sådan at hver andet billede vises i venstre side, og hver andet (giver jo sig selv) vises i højreside.
Til det, kan jeg jo bruge rand(,) men det bliver jo ikke rigtigt hver gang, men ren tilfældigt.


Nogle der ved hvad den funktion hedder?



13 svar postet i denne tråd vises herunder
4 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
hmm jeg vile nok i det tilfælde bruge en switch funktion.
Fold kodeboks ind/udKode 


prøv det :)

Link: http://dk2.php.net/switch



Indlæg senest redigeret d. 04.01.2007 02:03 af Bruger #6528
Jeg ville også bruge modulus. Det ville i hvert fald være smart hvis du giver alle dine nyheder et ID.

Fold kodeboks ind/udKode 




Tror også modulus er sagen.

rand() Finder nemlig bare et tilfældigt tal udfra dine parametre.

fx:

rand(0, 10)

vil udskrive et tilfældigt tal mellem 0 og 10 :)



så hele scriptet er noget i retning af det her:
Fold kodeboks ind/udKode 


Der er nogle småfejl, men sådan her:

Fold kodeboks ind/udKode 


Der er måske stadig nogle fejl i, men dem kan du selv finde :)
Desuden kan jeg ikke helt se hvordan det ene billede har en anden justering, alstå mht. venstre/højre :)



så jeg skal bare skrive min mysql query osv der hvor du har skrevet "her udskriver du di..." , right?



Du kan bruge modulus (%)

Og tjekke om der er en rest ved division.



Tror også modulus er sagen.

rand() Finder nemlig bare et tilfældigt tal udfra dine parametre.

fx:

rand(0, 10)

vil udskrive et tilfældigt tal mellem 0 og 10 :)


Umiddelbart er der et problem med modulus på den rene ID fra databasen, idet denne ID ikke vil være en kontinuerlig talrække (eftersom du jo kan slette fra den).

Derfor ville jeg nok gøre noget ala:

$ALIGN_FLAG = false;
while (fetch_bla) {


if ($ALIGN_FLAG === false) {
$ALIGN_FLAG = true;
//left
} else {
$ALIGN_FLAG = false;
//right
}
}

Eller noget i den retning



Indlæg senest redigeret d. 04.01.2007 14:15 af Bruger #4683
hm okay..
hvi jeg så bruger JT's metode, skal jeg så skrive mysql query'en og connect osv ved begge steder hvor der står //left og //right ??



hm okay..
hvi jeg så bruger JT's metode, skal jeg så skrive mysql query'en og connect osv ved begge steder hvor der står //left og //right ??


Nej, det skal du ikke...

Du skal lave én connect og en query. Det gør du over "while".

Din while bør se ud i retning af dette:

while ($data = mysql_fetch_row($query_result)) {
//Loop-body
}

Dvs. der skal kun være tekst-formatering inde i if-sætningen :)



så hele scriptet er noget i retning af det her:
Fold kodeboks ind/udKode 




<< < 12 > >>
t