Avatar billede subit Nybegynder
10. maj 2003 - 16:12 Der er 6 kommentarer og
1 løsning

Denne her er indviklet !

Hej Allesammen !

Jeg har nu fået lavet mit nyheds-system og vil gerne have at hver nyhed, bliver lagt i en tabel for sig selv...
på den måde:

istedte for at jeg har mine nyheder sådan her:

Nyhed 1
Nyhed 2
Nyhed 3
Nyhed 4
Nyhed 5
Nyhed 6

Til det ser koden således ud:

echo "<a href=nyhed.php?id=$data[id]>";

echo "<img src=\"$data[billede]\" align=\"left\" border=\"0\"></a><br>";
  echo "<a href=nyhed.php?id=$data[id]><B>$data[1]</B></a> - ";
  echo date("j/n - Y", $data[0]);
echo "<br>$data[referat]<br><br><br><br><br>";


Så vil jeg gerne have dem til at se sådan ud:

1      4

2      5

3      6

Og der skal jo tables til på en eller anden måde ik?
Hvordan gør jeg det ?

mvh. Subit
Avatar billede jakoba Nybegynder
10. maj 2003 - 16:48 #1
vi starter lidt over der dit kodeeksempel begynder. der hvor du trækker nyhederne ud af din database:


$resultatset = mysql_query( ... ) or die( mysql_error() );

$alle = array();
while ( $alle[] = mysql_fetch_array( $resultatset ) ) ;
    // løkken gør intet. det hele sker i betingelsen
unset( $alle[count($alle)-1] );  // fjern det allersidste element

$antal_rekker = floor(count($alle)+1)/2;

echo "<table>\n";    // skriv selv styles og atribitter ind i kommandoern

for ( $i=0; $i<$antal_rekker; $i++ ) {

    echo "<tr><td>\n";      // forste celle i tabelrekken
    $data = alle[$i];   

    echo "<a href=nyhed.php?id=$data[id]>";
    echo "<img src=\"${data[billede]}\" align=\"left\" border=\"0\"></a><br>";
    echo "<a href=nyhed.php?id=${data[id]}><B>$data[1]</B></a> - ";
    echo date("j/n - Y", $data[0]);
    echo "<br>$data[referat]<br><br><br><br><br>";  // du behøver næppe alle de <br> kommandoer

    echo "</td><td>\n";    // anden celle i tabelrekken

    $j = $i+$antal_rekker;
    if ( isset( $alle[$j] ) {
        $data = alle[$j];   

        echo "<a href=nyhed.php?id=$data[id]>";
        echo "<img src=\"${data[billede]}\" align=\"left\" border=\"0\"></a><br>";
        echo "<a href=nyhed.php?id=${data[id]}><B>$data[1]</B></a> - ";
        echo date("j/n - Y", $data[0]);
        echo "<br>$data[referat]<br><br><br><br><br>";  // du behøver næppe alle de <br> kommandoer

    } else {
        // der er et ulige antal nyheder så vi slutter med en tom celle.
        echo "&nbsp;";
    }

}
echo "</table>\n";

mvh JakobA
Avatar billede jakoba Nybegynder
10. maj 2003 - 16:50 #2
Ups glemte en linie forneden i forløkken:
    }
    echo "</td></tr>\n";  // tilføjet linie (afslutter tabelrækken)
}
echo "</table>\n";
Avatar billede subit Nybegynder
10. maj 2003 - 17:07 #3
Hmm ka ikke rigtig få det til at virke.. måske jeg gør det forkert? kan du ikke sætte det ind hvor det skal være i hele koden, for har prøvet lidt men virker ik :(

Her er koden:

---------------------------------------------


<?

mysql_connect("localhost", "brugernavn", "kodeord");
mysql_select_db("database");
$foresp = mysql_query("SELECT dato, overskrift, tekst, billede, id, referat FROM nyheder ORDER BY dato") or die(mysql_error());


if ($_REQUEST["id"] != 0) {

//Koden som indsætter nyheden!
while($data = mysql_fetch_array($foresp)) {
if ($data[id] == $_REQUEST["id"]) {
echo "<img src=\"$data[billede]\" align=\"left\" border=\"0\"></a><br>";
  echo "<a href=nyhed.php?id=$data[id]><B>$data[1]</B></a> - ";
  echo date("j/n - Y", $data[0]);
echo "<br>$data[referat]<br><br>";
echo "<br>$data[tekst]<br>";
}
}

} else {


while($data = mysql_fetch_array($foresp)) {

//Indsætte link!
echo "<a href=vis.php?id=$data[id]>";

echo "<img src=\"$data[billede]\" align=\"left\" border=\"0\"></a><br>";
  echo "<a href=nyhed.php?id=$data[id]><B>$data[1]</B></a> - ";
  echo date("j/n - Y", $data[0]);
echo "<br>$data[referat]<br><br>";




echo "</a>";

}


}

?>




</body>
</html>
Avatar billede jakoba Nybegynder
10. maj 2003 - 17:21 #4
prøv denne:


<?

mysql_connect("localhost", "brugernavn", "kodeord");
mysql_select_db("database");
$foresp = mysql_query("SELECT dato, overskrift, tekst, billede, id, referat FROM nyheder ORDER BY dato") or die(mysql_error());


if ($_REQUEST["id"] != 0) {

    //Koden som indsætter nyheden!
    while($data = mysql_fetch_array($foresp)) { 
        if ($data[id] == $_REQUEST["id"]) {
            echo "<img src=\"$data[billede]\" align=\"left\" border=\"0\"></a><br>";
            echo "<a href=nyhed.php?id=$data[id]><B>$data[1]</B></a> - ";
            echo date("j/n - Y", $data[0]);
            echo "<br>$data[referat]<br><br>";
            echo "<br>$data[tekst]<br>";
        }
    }

} else {

    $alle = array();
    while ( $alle[] = mysql_fetch_array( $foresp ) ) { };
        // løkken ovenfor gør intet. det hele sker i betingelsen
    unset( $alle[count($alle)-1] );  // fjern det allersidste element

    $antal_rekker = floor(count($alle)+1)/2;

    echo "<table>\n";    // skriv selv styles og atribitter ind i kommandoern

    for ( $i=0; $i<$antal_rekker; $i++ ) {

        echo "<tr><td>\n";      // forste celle i tabelrekken
        $data = alle[$i]; 

        echo "<a href=nyhed.php?id=$data[id]>";
        echo "<img src=\"${data[billede]}\" align=\"left\" border=\"0\"></a><br>";
        echo "<a href=nyhed.php?id=${data[id]}><B>$data[1]</B></a> - ";
        echo date("j/n - Y", $data[0]);
        echo "<br>$data[referat]</a><br><br><br><br>";  // du behøver næppe alle de <br> kommandoer

        echo "</td><td>\n";    // anden celle i tabelrekken

        $j = $i+$antal_rekker;
        if ( isset( $alle[$j] ) {
            $data = alle[$j]; 

            echo "<a href=nyhed.php?id=$data[id]>";
            echo "<img src=\"${data[billede]}\" align=\"left\" border=\"0\"></a><br>";
            echo "<a href=nyhed.php?id=${data[id]}><B>$data[1]</B></a> - ";
            echo date("j/n - Y", $data[0]);
            echo "<br>$data[referat]</a><br><br><br><br>";  // du behøver næppe alle de <br> kommandoer

        } else {
            // der er et ulige antal nyheder så vi slutter med en tom celle.
            echo "&nbsp;";
        }
    } // her slutter for-løkken
    echo "</table>\n";

} // her slutter if sætning med betingelsen ($_REQUEST["id"] != 0)

?>

</body>
</html>

mvh JakobA
Avatar billede subit Nybegynder
10. maj 2003 - 18:25 #5
det virker ikke :(


Parse error: parse error in /vis.php on line 35
Avatar billede jakoba Nybegynder
10. maj 2003 - 18:32 #6
du har ret, jeg har glem et $ tegn i linien
        $data = alle[$i];
der skal stå:
        $data = $alle[$i];

Er du sikker på du ikke selv kan finde den slags simple fejl?
Avatar billede subit Nybegynder
10. maj 2003 - 20:10 #7
Virker stadigvæk ik :(
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