Avatar billede hav0k Nybegynder
30. november 2003 - 20:12 Der er 14 kommentarer og
1 løsning

Nyhedsside som GameReactor!

Hvordan laver jeg en nyhedsside på samme måde, hvor billederne skifter side mellem højre og venstre, som på bl.a. www.gamereactor.net ? Jeg har forsøgt mig på flg. måde.. men det ser virker ikke.. Billederne bliver bare ude i venstre side:

$align = "left"; //bestemmer den side hvor billedet skal starte. Skifter derefter mellem venstre/højre
   
    echo "<center>";
   
    $offset = (isset($_GET['offset'])) ? $_GET['offset'] : 0; // Hvis ikke $offset er sat, sættes den til 0
    $pr_side = 5; // Antal resultater pr. side

    $query = mysql_query("SELECT id, header, author, date, text, email FROM news ORDER BY id DESC LIMIT $offset,$pr_side") or die(mysql_error());;
    while($data = mysql_fetch_row($query)){
        echo "<table width=\"98%\" class=\"standard\"><tr><td colspan=\"2\"><b><a href=\"?show=$data[0]" . "\" title=\"L&aelig;s nyheden\">$data[1]" . "</a></b></td></tr>
        <tr>";
       
        if($align = "left"){
            echo "<td><a href=\"?show=$data[0]" . "\" title=\"L&aelig;s nyheden\"><img src=\"include/img.php?id=$data[0]" . "&page=news\" width=\"100\" height=\"100\"
            style=\"filter: alpha(opacity=60); border:1px solid black;\" onmouseover=\"style.filter='alpha(opacity=100)';\" onmouseout=\"style.filter='alpha(opacity=60)';\"></a></td><td width=\"100%\">";
       
            if (strlen($data[4]) > 300) {
                  $data[4] = substr($data[4], 0, 300) . "... <a href=\"?show=$data[0]" . "\">[l&aelig;s mere]</a>";   
            }
       
            echo $data[4] . "</td></tr><tr><td align=\"left\">";
            $align = "right";
        }elseif($align = "right"){
            echo "<td width=\"100%\">";
           
            if (strlen($data[4]) > 300) {
                  $data[4] = substr($data[4], 0, 300) . "... <a href=\"?show=$data[0]" . "\">[l&aelig;s mere]</a>";   
            }
       
            echo $data[4] . "</td><td><a href=\"?show=$data[0]" . "\" title=\"L&aelig;s nyheden\"><img src=\"include/img.php?id=$data[0]" . "&page=news\" width=\"100\" height=\"100\"
            style=\"filter: alpha(opacity=60); border:1px solid black;\" onmouseover=\"style.filter='alpha(opacity=100)';\" onmouseout=\"style.filter='alpha(opacity=60)';\"></a>
            </td></tr><tr><td align=\"left\">";
            $align = "left";
        }
osv..

HVad skal jeg gøre for at det virker?
Avatar billede detox Nybegynder
30. november 2003 - 20:37 #1
Hmm, du kunne prøve at ændre den sidste align:

(opacity=60)';\"></a>
            </td></tr><tr><td align=\"right\">";
            $align = "left";
        }
osv..
Avatar billede detox Nybegynder
30. november 2003 - 20:40 #2
Men du burde kunne gøre det enklere og genbruge den samme kode. Forøvrigt mener jeg ikke du skal bruge 'align' i <td>, i nyere versioner af html. Der skal du derimod benytte css styles.
Avatar billede detox Nybegynder
30. november 2003 - 20:43 #3
I den her stil:

<td style='text-align: {$align};'>

eller med en class:

<td class='{$align}'>
Avatar billede hav0k Nybegynder
30. november 2003 - 20:45 #4
align bruges ikke til at placere selve cellen.. men jeg bruger den til at placere noget tekst der kommer senere.. der hvor der står osv.. så det er i og for sig irrelevant.

Mht. en enklere måde.. Så vil jeg da gerne have at vide hvordan det skulle foregå`? For jeg kan ikke lige selv finde en løsning på det..
Avatar billede hav0k Nybegynder
30. november 2003 - 20:46 #5
Css løsningen vil jo ikke bytte rundt på cellen med billede og cellen med tekst.. OG det er jo det jeg har brug for..
Avatar billede detox Nybegynder
30. november 2003 - 21:01 #6
Ok, jeg var ikke helt med på hvad du mente. Det vil sige at: }elseif($align = "right"){
aldrig bliver udført?
Avatar billede hav0k Nybegynder
30. november 2003 - 21:22 #7
ja.. præcis.. men hvordan får jeg gjort så den bliver udført?
Avatar billede detox Nybegynder
30. november 2003 - 21:30 #8
Måske du bare kunne lave det om til:
} else {
Avatar billede detox Nybegynder
30. november 2003 - 21:32 #9
Jeg mener, hvis der kun er 2 muligheder og det ikke er 'left', så må det jo være 'right'.
Avatar billede detox Nybegynder
30. november 2003 - 21:44 #10
Rent faktisk skal du bruge to = når du sammenligner:
if($align == "left"){
Avatar billede mjall0w Nybegynder
30. november 2003 - 23:11 #11
kigger lige med :)
Avatar billede rune.osterdal.com Nybegynder
01. december 2003 - 00:00 #12
du skal altså først have en celle med tekst til højre og billede til venstre og derefter omvendt, så vidt jeg forstår... du løser det med en kontakt ($switch) :

$switch = 0;
while ($row = mysql_fetch_row($result)){
if ($switch == 0){
print "<tr><td>$row[tekst]</td><td>$row[billede]</td></tr>";
$switch = 1;
} else {
print "<tr><td>$row[billede]</td><td>$row[tekst]</td></tr>";
$switch = 0;
}
}
Forstår du?
Avatar billede rune.osterdal.com Nybegynder
01. december 2003 - 00:02 #13
whoups! hehe
Jeg var vidst lidt for hurtig.. ;-)
kigger lige en ekstra gang
Avatar billede detox Nybegynder
01. december 2003 - 00:04 #14
Tror faktisk bare problemet er at du har brugt en = i stedet for to ==

if($align = "left"){
i stedet for:
if($align == "left"){
Avatar billede hav0k Nybegynder
01. december 2003 - 00:28 #15
Du havde self. ret detox.. Det var bare det der == .. den klassiske fejl.. og alligevel hoppede jeg i den.. hmm er nok lidt træt..
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