Avatar billede bigtime Nybegynder
16. august 2008 - 16:54 Der er 19 kommentarer og
1 løsning

hente fra db og sætte ind i 2 rekker

Hvordan får jeg det her til kun at hente 8 film og sætte dem så der kun er 2 ved siden af hinanden hele vejen ned, det skal self. heller ikke være så den viser den samme film 2 gange på samme side.

<center>
<?php


include("db.php");



$sum = 6; // Antal billeder ved siden af hinanden


$query = mysql_query("SELECT * FROM film ORDER BY RAND() LIMIT 6 ") or die(mysql_error());

print "<table><tr>";

while($row = mysql_fetch_array($query)) {

    echo "<td width=450 height='375'><iframe src=\"$row[http]\" style='height: 375px; width: 450px;' frameborder='0' scrolling='no'></iframe></td>";

    if ($sumcount == $sum) {

        $sumcount = 0;

        echo "</tr><tr>";

    }

    $sumcount++;
}



echo "</td></tr></table>";

?>
</center>
Avatar billede w13 Novice
16. august 2008 - 17:04 #1
Bliver det ikke gjort med denne kode:

<div style="margin:auto;text-align:center">
<?php
include("db.php");

$sum = 2; // Antal billeder ved siden af hinanden

$query = mysql_query("SELECT * FROM film ORDER BY RAND() LIMIT 8") or die(mysql_error());

print "<table><tr>";

while($row = mysql_fetch_array($query)) {

    echo "<td width=\"450\" height=\"375\"><iframe src=\"$row[http]\" style=\"height: 375px; width: 450px;\" frameborder=\"0\" scrolling=\"no\"></iframe></td>";

    if ($sumcount == $sum) {

        $sumcount = 0;

        echo "</tr><tr>";

    }

    $sumcount++;
}



echo "</td></tr></table>";

?>
</div>

Bemærk også, at jeg har erstattet dit <center>-tag, da det er forældet.
Avatar billede w13 Novice
16. august 2008 - 17:04 #2
print "<table><tr>";
kunne nok være:
echo "<table><tr>";
for god ordens skyld.
Avatar billede w13 Novice
16. august 2008 - 17:05 #3
Og så forbedrer du performance, hvis du retter:
$query = mysql_query("SELECT http FROM film ORDER BY RAND() LIMIT 6 ") or die(mysql_error());
til:
$query = mysql_query("SELECT http FROM film ORDER BY RAND() LIMIT 6 ") or die(mysql_error());

Dvs.:

<div style="margin:auto;text-align:center">
<?php
include("db.php");

$sum = 2; // Antal billeder ved siden af hinanden

$query = mysql_query("SELECT http FROM film ORDER BY RAND() LIMIT 6 ") or die(mysql_error());

echo "<table><tr>";

while($row = mysql_fetch_array($query)) {

    echo "<td width=\"450\" height=\"375\"><iframe src=\"$row[http]\" style=\"height: 375px; width: 450px;\" frameborder=\"0\" scrolling=\"no\"></iframe></td>";

    if ($sumcount == $sum) {

        $sumcount = 0;

        echo "</tr><tr>";

    }

    $sumcount++;
}

echo "</td></tr></table>";
?>
</div>
Avatar billede bigtime Nybegynder
16. august 2008 - 17:10 #4
joo nesten men den første rekke der henter den 3 og sætter ved siden af hinanden men resten er god nok
Avatar billede w13 Novice
16. august 2008 - 17:11 #5
Så prøv at rette:

$sum = 2; // Antal billeder ved siden af hinanden

til:

$sum = 2; // Antal billeder ved siden af hinanden

$sumcount = 1;

Så burde den være der!
Avatar billede bigtime Nybegynder
16. august 2008 - 17:14 #6
nope så henter den 2 i den første og resten bliver der hentet 1
Avatar billede w13 Novice
16. august 2008 - 17:17 #7
Det lyder mærkeligt. Vis mig lige din kode, som den ser ud nu.
Avatar billede bigtime Nybegynder
16. august 2008 - 17:23 #8
Sorry det var mig der ikke helt forstod hvad du skrev først men ja nu virker det
Avatar billede w13 Novice
16. august 2008 - 17:25 #9
Super! Og tak for point! :)
Avatar billede bigtime Nybegynder
17. august 2008 - 00:25 #10
nu når jeg har dig
hvordan skal jeg klare det her det er fra 2 forskællieg i databasen
$query = mysql_query("SELECT * FROM film and tekstreklame ORDER BY RAND() LIMIT 6 ") or die(mysql_error());
Avatar billede w13 Novice
17. august 2008 - 00:41 #11
Det forstår jeg ikke helt?
Avatar billede bigtime Nybegynder
17. august 2008 - 00:46 #12
jeg skal hente data fra tabellen film og fra tabellen tekstreklame så tænkte jeg at jeg kunne gøre sådan men naa den duttede ikke
Avatar billede w13 Novice
17. august 2008 - 00:47 #13
Nåå. Hm. Er felterne i de 2 tabeller de samme? Ellers vil der jo være lidt problemer.
Avatar billede bigtime Nybegynder
17. august 2008 - 00:47 #14
det er fordi jeg vil have en tilfældig tekst reklame nede under filmne
Avatar billede bigtime Nybegynder
17. august 2008 - 00:48 #15
nej de hedder ikke det samme
Avatar billede w13 Novice
17. august 2008 - 00:51 #16
Jeg er ikke så stærk i SQL, men de kan måske gøres nogenlunde sådan her:

$query = mysql_query("SELECT felt1.table1 AS felt1, felt1.table2 AS felt2 FROM film AS table1, tekstreklame AS table2 ORDER BY RAND() LIMIT 6 ") or die(mysql_error());

Noget i den stil, tror jeg.

Eller måske noget UNION ALL, men stadig kun, hvis felterne hedder det samme i de 2 tabeller.
Avatar billede w13 Novice
17. august 2008 - 00:51 #17
Ellers må du nok bare lave én til SQL-query til tekstreklamerne.
Avatar billede w13 Novice
17. august 2008 - 10:01 #18
Hov, det hedder i hvert fald:

$query = mysql_query("SELECT table1.felt1 AS felt1, table2.felt1 AS felt2 FROM film AS table1, tekstreklame AS table2 ORDER BY RAND() LIMIT 6 ") or die(mysql_error());

Altså bare byttet om på table1.felt1
Avatar billede bigtime Nybegynder
24. august 2008 - 13:48 #19
kan du droppe et svar så du kan få dine point :D
Avatar billede w13 Novice
24. august 2008 - 13:53 #20
Jeg har modtaget point nu! Takker! ;)
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