Avatar billede -maverick- Nybegynder
25. oktober 2008 - 15:21 Der er 10 kommentarer og
1 løsning

Hvordan trækkes tilfældigt to FORSKELLIGE billeder

Jeg har lavet to recordsets, rs_randomimg_highend og rs_randomimg_highend2, der begge trækker et tilfældigt billede fra databasen med titlet highend:
SELECT img
FROM highend
ORDER BY RAND() LIMIT 1

Hvordan sikrer jeg, at de to recordset ikke trækker det samme billede?

Jeg har prøvet at bruge det samme recordset, hvor jeg trækker to tilfældige billeder, dvs. jeg angiver LIMIT 2, men resultatet er, at det samme billede gengives to gange, når jeg to gange skriver:

<p><a href="<?php echo $row_rs_randomimg_highend['url']; ?>"><img src="<?php echo $row_rs_randomimg_highend['img']; ?>"</a></p


På forhånd tak.

Mvh,
Christian
Avatar billede erikjacobsen Ekspert
25. oktober 2008 - 15:36 #1
Du skal bruge

SELECT img
FROM highend
ORDER BY RAND() LIMIT 2

og trække to rækker ud.
Avatar billede -maverick- Nybegynder
25. oktober 2008 - 18:45 #2
Hvordan trækker jeg to rækker ud?
Avatar billede leif Seniormester
25. oktober 2008 - 18:52 #3
Den SQL sætning giver dig da to tilfældige rækker
Avatar billede leif Seniormester
25. oktober 2008 - 18:53 #4
Lav din query og smid resultatet ind i en løkke
Avatar billede -maverick- Nybegynder
25. oktober 2008 - 18:58 #5
De to billeder ligger i to celler sådan her:
<td width="360" align="center" valign="top"><a href="<?php echo $row_rs_randomimg_highend['url']; ?>"><img src="<?php echo $row_rs_randomimg_highend['img']; ?>" border="0" /></a></p>
</td>
<td width="360" align="center" valign="top"><a href="<?php echo $row_rs_randomimg_highend['url']; ?>"><img src="<?php echo $row_rs_randomimg_highend['img']; ?>" border="0" /></a></td>

Hvordan laver man en løkken, når de to billeder ligger i to celler?

Takker.
Avatar billede -maverick- Nybegynder
25. oktober 2008 - 18:59 #6
Og billederne fungerer som links.
Avatar billede leif Seniormester
25. oktober 2008 - 19:01 #7
while ($row_rs_randomimg_highend = mysql_fetch_array($result)) {
echo '<td width="360" align="center" valign="top"><a href="'.$row_rs_randomimg_highend['url'].'"><img src="'.$row_rs_randomimg_highend['img'].'" border="0" /></a></td>';
}
Avatar billede leif Seniormester
25. oktober 2008 - 19:02 #8
Så laver den det antal celler om der er rows
Avatar billede -maverick- Nybegynder
25. oktober 2008 - 20:20 #9
Jeg er begynder, og jeg ved ikke, hvor jeg skal placere:
while ($row_rs_randomimg_highend = mysql_fetch_array($result))

I stedet fik jeg dette til at virke ved at bruge repeat region i Dremweaver:
  <?php do { ?> 
<td width="360" align="center" valign="top"><a href="<?php echo $row_rs_randomimg_highend['url']; ?>">
    <img src="<?php echo $row_rs_randomimg_highend['img']; ?>" border="0" />
    <?php } while ($row_rs_randomimg_highend = mysql_fetch_assoc($rs_randomimg_highend)); ?></a></p>
</td>

Men jeg vil gerne lære, hvor jeg skal sætte:
while ($row_rs_randomimg_highend = mysql_fetch_array($result))
ind i nedenstående for at få samme resultat:
$query_rs_randomimg_highend = "SELECT img, url FROM highend ORDER BY RAND() LIMIT 2";
$rs_randomimg_highend = mysql_query($query_rs_randomimg_highend, $looksinvogue) or die(mysql_error());
$row_rs_randomimg_highend = mysql_fetch_assoc($rs_randomimg_highend);
$totalRows_rs_randomimg_highend = mysql_num_rows($rs_randomimg_highend);

Hvis det er blevet for forvirrende, forstår jeg det godt.

Smid et svar, så jeg kan give point.

Takker.

Mvh,
Christian
Avatar billede erikjacobsen Ekspert
25. oktober 2008 - 21:04 #10
Ingen point til mig, tak. Og du kunne godt have nævnt Dreamweaver ;) Det jeg ved jeg ingenting om.
Avatar billede -maverick- Nybegynder
07. oktober 2010 - 12:58 #11
Svar.
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
Computerworld tilbyder specialiserede kurser i database-management

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