Avatar billede teck Nybegynder
04. december 2003 - 11:08 Der er 15 kommentarer og
1 løsning

Opsætning af tekst + billede

Hej,

jeg har et script der henter billeder og tekst fra en database, lige nu bliver tekst + billede hentet, så det står neden under hinanden. Men ideen er at det skal komme til at stå ved siden af hindanden, altså:

1 2
3 4

Er der en der kan rette følgende stykke kode til?:

<?php
include("connect.php");
   
$query = mysql_query("SELECT ID, news, Navn, dato, type, CONCAT(LEFT(news, 300), '...') AS short FROM gw_artikel ORDER BY RAND() LIMIT 6");
while ($row = mysql_fetch_array($query)) {
    echo "<font size='1' face='Verdana' align='left'><p><br></font>";

$query2 = mysql_query("Select * from gw_billede where artikelid = '$row[ID]'");

while($r = mysql_fetch_array($query2)) {

$billede1 = $r["billede1"];

if ( $billede1 != "" ) {

    echo "<img src='$billede1' style='float: right;' width='75' height='75'"; // vis billede hvis der er et

} else {

echo "<img src='$billede1' style='float: right;' width='75' height='75'";

}
}
    echo "<font size='1' face='Verdana' align='left'>";
    echo "<b>$row[Navn]</b> - $row[dato]<br>$row[short]<BR><B><a href='forside.php?page=artikel$row[type]&id=$row[ID]'>Læs mere...</a></b>";
    echo "</font></p>";


}

?>
Avatar billede fsconsult.dk Nybegynder
04. december 2003 - 14:03 #1
Det ser ud til at du viser x antal billeder for hver tekst .. eller?
Avatar billede teck Nybegynder
04. december 2003 - 14:57 #2
til hver tekst er der et billede!
Avatar billede detox Nybegynder
06. december 2003 - 01:36 #3
Du kan indsætte det i en tabel.
Avatar billede teck Nybegynder
06. december 2003 - 09:37 #4
det ved jeg godt, men det skal jo være sådan at det bliver indsat i to koloner, og derefter skifter ned i en ny række og her sker det samme igen... Nu når jeg tilbyder så mange point vil jeg helst have et stykke kode der virker! Jeg har nemlig brugt rigtig lang tid på at lege med tabeller!
Avatar billede detox Nybegynder
06. december 2003 - 12:26 #5
Ok, her er en stump. Så kan du selv indsætte dine egne data. Spørg hvis du får problemer:

<?
$out = "<table style='border: solid 2px;'>\n";
$i = 0;
while ($i<11) {
    $i++;
    if ($i & 1) $out .= "<tr>\n<td style='border: solid 2px;'>$i<br />$i</td>\n";
    else $out .= "<td style='border: solid 2px;'>$i<br />$i</td>\n</tr>\n";
}
if ($i & 1) $out .= "</tr>\n";
$out .= "</table>";
echo $out;
?>
Avatar billede teck Nybegynder
06. december 2003 - 18:44 #6
Nu er jeg ikke den største haj til sådan noget kode, du kunne vel ikke vise mig hvordan jeg får min kode ind i det?
Avatar billede detox Nybegynder
07. december 2003 - 01:37 #7
Prøv i den her stil:

<?php
include("connect.php");
$out = "<table style='border: solid 2px;'>\n";
$res = mysql_query("SELECT a.ID, a.Navn, a.dato, a.type, b.billede1,
    CONCAT(LEFT(a.news, 300), '...') AS short
    FROM gw_artikel a
    LEFT  JOIN gw_billede b ON a.ID = b.artikelid
    ORDER  BY RAND()
    LIMIT 6 ") or die(mysql_query());
$i = 0;
while ($row = mysql_fetch_array($res)) {
    $i++;

    $billede1 = $row["billede1"];
    if ( $billede1 != "" ) {
            if ($i & 1) $out .= "<tr>\n<td style='border: solid 2px;'><img src='$billede1' style='float: right; width: 75; height: 75;'><br />
                <b>$row[Navn]</b> - $row[dato]<br>$row[short]<br /><b><a href='forside.php?page=artikel$row[type]&id=$row[ID]'>Læs mere...</a></b></td>\n";
    else $out .= "<td style='border: solid 2px;'><img src='$billede1' style='float: right; width: 75; height: 75;'><br />
                <b>$row[Navn]</b> - $row[dato]<br>$row[short]<br /><b><a href='forside.php?page=artikel$row[type]&id=$row[ID]'>Læs mere...</a></b></td></tr>\n";
    } else {
        echo "<img src='$billede1' style='float: right;' width='75' height='75'";
    }
}
$out .= "</table>";
echo $out;
?>
Avatar billede teck Nybegynder
07. december 2003 - 19:36 #8
Det virkede skam, tusind tak for hjælpen :)
Avatar billede detox Nybegynder
07. december 2003 - 19:38 #9
Velbekommen da c",)
Avatar billede detox Nybegynder
07. december 2003 - 19:42 #10
Det vil være smart et styre opsætningen med css. Her er et eksempel:

<style type="text/css">
<!--
table {
    border: solid 0px;
}
td {
    border: solid 2px #0033cc;
    width: 50%;
}
.myimg {
    float: right;
    width: 75;
    height: 75;
}
-->
</style>
<?php
include("db.php");
$out = "<table>\n";
$res = mysql_query("SELECT a.ID, a.Navn, a.dato, a.type, b.billede1,
    CONCAT(LEFT(news, 300), SUBSTRING_INDEX( SUBSTRING( news, 301 ), ' ', 1),
    IF (LENGTH(news)>300, '...', '')) AS short
    FROM gw_artikel a
    LEFT  JOIN gw_billede b ON a.ID = b.artikelid
    ORDER  BY RAND()
    LIMIT 6 ") or die(mysql_query());
$i = 0;
while ($row = mysql_fetch_array($res)) {
    $i++;

    $billede1 = $row["billede1"];
    if ($billede1 != "") {
        if ($i & 1) $out .= "<tr>\n<td><img src='$billede1' class='myimg'>
            <b>$row[Navn]</b> - $row[dato]<br>$row[short]<br /><b><a href='forside.php?page=artikel$row[type]&id=$row[ID]'>Læs mere...</a></b></td>\n";
        else $out .= "<td><img src='$billede1'  class='myimg'>
                <b>$row[Navn]</b> - $row[dato]<br />$row[short]<br /><b><a href='forside.php?page=artikel$row[type]&id=$row[ID]'>Læs mere...</a></b></td></tr>\n";
    } else {
        if ($i & 1) $out .= "<tr>\n<td>
            <b>$row[Navn]</b> - $row[dato]<br>$row[short]<br /><b><a href='forside.php?page=artikel$row[type]&id=$row[ID]'>Læs mere...</a></b></td>\n";
        else $out .= "<td>
                <b>$row[Navn]</b> - $row[dato]<br />$row[short]<br /><b><a href='forside.php?page=artikel$row[type]&id=$row[ID]'>Læs mere...</a></b></td></tr>\n";
    }
}
$out .= "</table>";
echo $out;
?>
Avatar billede teck Nybegynder
07. december 2003 - 19:45 #11
Ja, det er da egentligt ret fiks :)
Avatar billede detox Nybegynder
07. december 2003 - 19:51 #12
Ja, så er al formatering samlet centralt.
Avatar billede detox Nybegynder
07. december 2003 - 19:53 #13
Nå ja, så har jeg osse ændret lidt på query'en, så den skiller ved hele ord og kun sætter '...' på hvis teksten er længere end 300 tegn.
Avatar billede teck Nybegynder
07. december 2003 - 19:57 #14
OK, det holder da alt for vildt :).. Det er lige de sidste detaljer jeg mange gange lige sidder og mangler når jeg koder!
Avatar billede teck Nybegynder
07. december 2003 - 21:17 #15
Detox >> Jeg tænkte forresten på om du ved hvordan man gør sådan at et billede bliver minimeret, så alle proposioner stemmer overens, som jeg gør det lige nu kommer nogle af billederne nemlig til at se sjove ud... Jeg kan sagtens oprette et nyt spm, hvis det er noget du ved noget om!
Avatar billede detox Nybegynder
07. december 2003 - 21:36 #16
Så skal du nok ud i en lille funktion som denne (med inline css istedet):

<style type="text/css">
<!--
table {
    border: solid 0px;
}
td {
    border: solid 2px #0033cc;
    width: 50%;
}
.myimg {
    float: right;
}
-->
</style>
<?php
include("db.php");
$out = "<table>\n";
$res = mysql_query("SELECT a.ID, a.Navn, a.dato, a.type, b.billede1,
    CONCAT(LEFT(news, 300), SUBSTRING_INDEX( SUBSTRING( news, 301 ), ' ', 1),
    IF (LENGTH(news)>300, '...', '')) AS short
    FROM gw_artikel a
    LEFT  JOIN gw_billede b ON a.ID = b.artikelid
    ORDER  BY RAND()
    LIMIT 6 ") or die(mysql_query());
$i = 0;
while ($row = mysql_fetch_array($res)) {
    $i++;
    $billede1 = $row["billede1"];
    $size = resize($billede1);
    if ($billede1 != "") {
        if ($i & 1) $out .= "<tr>\n<td><img src='$billede1' class='myimg' style='width: ".$size[0]."; height: ".$size[1].";'>
            <b>$row[Navn]</b> - $row[dato]<br>$row[short]<br /><b><a href='forside.php?page=artikel$row[type]&id=$row[ID]'>Læs mere...</a></b></td>\n";
        else $out .= "<td><img src='$billede1'  class='myimg' style='width: ".$size[0]."; height: ".$size[1].";'>
                <b>$row[Navn]</b> - $row[dato]<br />$row[short]<br /><b><a href='forside.php?page=artikel$row[type]&id=$row[ID]'>Læs mere...</a></b></td></tr>\n";
    } else {
        if ($i & 1) $out .= "<tr>\n<td>
            <b>$row[Navn]</b> - $row[dato]<br>$row[short]<br /><b><a href='forside.php?page=artikel$row[type]&id=$row[ID]'>Læs mere...</a></b></td>\n";
        else $out .= "<td>
                <b>$row[Navn]</b> - $row[dato]<br />$row[short]<br /><b><a href='forside.php?page=artikel$row[type]&id=$row[ID]'>Læs mere...</a></b></td></tr>\n";
    }
}
$out .= "</table>";
echo $out;

function resize($pic) {
    $size = getimagesize($pic);
    $max = 75;// Maximum bredde/højde
    $m = max($size[0], $size[1]);
    if ($m > $max) {
        $delta = $max/$m;
        $size[0] = $size[0]*$delta;
        $size[1] = $size[1]*$delta;
    }
    return $size;
}
?>
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