Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

HTML opmaak probleem

R@deviL
10 antwoorden
  • Hoi luitjes,

    Ik heb een probleem met de opmaak in html. Ik weet dat dat eigenlijk in een andere topic plaats hoort, maar ik heb alles op php echo wijze gescreven, vandaar dat ik hem maar hier neer zet. Misschien dat de mensen die php niet kennen dan rare dingen zien. De php master op dit forum zijn natyyrlijk ook erg goed thuis in HTML.

    In ieder geval. Mijn probleem. Ik heb een nieuws content managment moduletje geschreven. Een admin sektie waar je nieuws door middel van wat text velden in de database stopt en dan ergens op de site leest hij die database uit en zet alles op het scherm (standaard dus). Als ik nu in het admin gedeelte een bericht typ, maar ik gebruik hele lange regels zonder return dan zet hij deze in het nieuws bericht ook zo lang op 1 regel. Dat wil ik niet. Ik wil gewoon dat hij hem herschaald naar de breedte die ik hem opgegeven heb. Het volgende is het stukje code van de opmaak van het nieuws bericht.

    [code:1:5655fe7739]
    $content .= '
    <table width="800">
    <tr>
    <td width="800" align="left" bgcolor="#3a337c" height="20"><font class="blockheader">&' . $title . '&</font></td>
    </tr>
    <tr>
    <td width="800"><table cellpadding="10" width="100%"><tr>
    <td align="left"><font class="content">' . $text . '</font></td>
    </tr></table></td>
    </tr>
    <tr>
    <td width="800" height="1" bgcolor="#000000"></td>
    </tr>';
    [/code:1:5655fe7739]

    Zoals je ziet geef ik hem de vaste waarde van 800, toch als de regel langer is als die 800 dan zal hij de tabel verbreden.

    Om het 1 en ander misschien te verduidelijken hier de code van het gehele stuk

    [code:1:5655fe7739]
    <?php
    include("includes/config.php");
    /*****************************************************************************/
    /* Below put all the block links in the variables. Just copy the lines down */
    /* and change the link. */
    /* Example: */
    /* */
    /* $blocktitle = "Example block"; */
    /* */
    /* $blocklink=array();
    /* $blocklink[] = "<a href=\"link1.php\">Link 1</a>"; */
    /* $blocklink[] = "<a href=\"link2.php\">Link 2</a>"; */
    /* $blocklink[] = "<a href=\"link3.php\">Link 3</a>"; */
    /* */
    /*****************************************************************************/
    $blocktitle="<font class='blocktitle'>Latest News</font>";

    $blocklink=array();
    $blocklink[]="<a href=\"link1.php\">Link 1</a>";
    $blocklink[]="<a href=\"link2.php\">Link 2</a>";
    $blocklink[]="<a href=\"link3.php\">Link 3</a>";
    $blocklink[]="<a href=\"link4.php\">Link 4</a>";
    $blocklink[]="<a href=\"link5.php\">Link 5</a>";

    /*****************************************************************************/
    /* Below put all the HTML content of the main-page. Note: Only use the HTML */
    /* code between the <body> tags. */
    /* */
    /*****************************************************************************/
    $maindata = '
    <!– Copy the HTML-code between this line –>


    <!– and this line –>
    ';
    /*****************************************************************************/
    /* Don't edit anything below this lines, page will be proccessed with the */
    /* data given above. */
    /*****************************************************************************/
    include("includes/header.php");
    include("includes/functions.php");
    ?>
    <tr>
    <td height="100%" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td width="159" height="100%" valign="top" background="images/blockfill_blue.gif"><table width="100%" border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td width="159" height="22" align="center" valign="top" background="images/blockfill_blue.gif"><font class="blocktitle"><?php echo $blocktitle; ?></font></td>
    </tr>
    <tr>
    <td height="10" valign="top"><img src="images/blockheader.gif" width="159" height="10"></td>
    </tr>

    <?php
    foreach ($blocklink as $item){

    $blockcontent .= "<tr><td height=\"22\" valign=\"top\" align=\"center\" background=\"images/blockfill_grey.gif\">";
    $blockcontent .= $item;
    $blockcontent .= "</td></tr>";

    }
    echo $blockcontent;
    ?>

    <tr>
    <td height="10" valign="top"><img src="images/blockfooter.gif" width="159" height="10"></td>
    </tr>
    <tr>
    <td height="100%" valign="top"><img src="images/blockfill_blue.gif" width="159" height="100%"></td>
    </tr>
    <tr>
    <td height="12"></td>
    </tr>
    </table></td>
    <td width="21">&</td>
    <td width="100%" align="center" valign="top"><center><table width="100%" align="center" border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td width="100%" height="100%" align="center">
    <center>
    <?php /* Start of the mainpage */

    $content = '<table width="100%" border="0" cellpadding="0" cellspacing="0">
    <!–DWLayoutTable–>
    <tr>
    <td width="100%" height="28" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
    <!–DWLayoutTable–>
    <tr>
    <td width="100%" height="28">&</td>
    </tr>
    </table></td>
    </tr>
    <tr>
    <td height="31" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
    <!–DWLayoutTable–>
    <tr>
    <td width="324" height="30" align="center" valign="middle" background="../images/titlebar_large_01.gif"><font class="pagetitle">Latest News</font>
    </td>
    <td width="100%" valign="top"><img src="../images/titlebar_large_02.gif" width="100%" height="30"></td>
    </tr>
    <tr>
    <td height="0"></td>
    <td></td>
    </tr>
    <tr>
    <td height="1"><img src="../images/spacer.gif" alt="" width="324" height="1"></td>
    <td></td>
    </tr>
    </table></td>
    </tr>
    <tr>
    <td height="20">&</td>
    </tr>
    <tr>
    <td>';
    //start coding
    $start = $_GET['start'];

    $sql = mysql_query("SELECT * FROM news_config WHERE id='1'");
    while($row = mysql_fetch_array($sql)){
    $amount = $row["amount"];
    }

    $sql = mysql_query("SELECT id FROM news WHERE active=1");
    $total = mysql_num_rows($sql);

    if (!isset($start))
    $start = 0;

    $sql = mysql_query("SELECT * FROM news WHERE active=1 ORDER BY id DESC LIMIT $start, $amount");
    while ($row = mysql_fetch_array($sql))
    {//start of output
    $title = $row["title"];
    $text = nl2br (strip_tags ($row["text"], '<a><b><i><u>'));
    $date = $row["date"];
    $extended = $row["extended"];
    $newsid = $row["id"];

    $content .= '<table width="800">
    <tr>
    <td width="800" align="left" bgcolor="#3a337c" height="20"><font class="blockheader">&' . $title . '&</font></td>
    </tr>
    <tr>
    <td width="800"><table cellpadding="10" width="100%"><tr>
    <td align="left"><font class="content">' . $text . '</font></td>
    </tr></table></td>
    </tr>
    <tr>
    <td width="800" height="1" bgcolor="#000000"></td>
    </tr>';

    if ($extended) {
    $content .= '<tr>
    <td width="800" align="center" height="20"><a href="shownews?more=' . $newsid . '">Read more about this article</a>&&Posted at: ' . $date . '</td>
    </tr>';
    } else {
    $content .= '<tr>
    <td width="800" align="center" height="20">Posted at: ' . $date . '</td>
    </tr>';
    }

    $content .= '<tr>
    <td width="800" height="1" bgcolor="#000000"></td>
    </tr>
    <tr>
    <td width="800" align="center" height="40">&</td>
    </tr>';

    }

    $content .= '<tr>
    <td width="800" align="center" height="20">';

    if ($start - $amount >= 0) {
    $prev_start = $start - $amount;
    $content .= "<a href=\"shownews.php?start=" . $prev_start . "\">Previous</a>";
    } else {
    $content .= "&&&&&&&&";
    }

    $page = intval($total / $amount);
    if ($total%$amount)
    $page ++;

    for ($i = 1; $i <= $page; $i++)
    {
    $current_start = $amount * ($i - 1);
    if ($start != $current_start)
    {
    $content .= "&<a href=\"shownews.php?start=" . $current_start . "\">" . $i . "</a>";
    } else {
    if ($total <= $amount) {
    $content .= "&";
    } else {
    $content .= "&" . $i;
    }
    }
    }

    if ($start + 1 + $amount <= $total) {
    $next_start = $start + $amount;
    $content .= "&<a href=\"shownews.php?start=" . $next_start . "\">Next</a>";
    } else {
    $content .= "&&&&";
    }

    $content .= '</td>
    </tr>
    </table>';

    //start footer
    $content .= '</td>
    </tr>
    </table>';

    echo $content;
    /*End of the mainpage*/?>
    </center>
    </td>
    </tr>
    </table></center></td>
    <td width="1"></td>
    </tr>
    <tr>
    <td height="0"></td>
    <td></td>
    <td></td>
    <td></td>
    </tr>
    <tr>
    <td height="1"><img src="../images/spacer.gif" alt="" width="160" height="1"></td>
    <td><img src="../images/spacer.gif" alt="" width="20" height="1"></td>
    <td></td>
    <td><img src="../images/spacer.gif" alt="" width="1" height="1"></td>
    </tr>
    </table></td>
    </tr>
    <?php
    // end of the index file
    include("includes/footer.php");
    ?>
    [/code:1:5655fe7739]

    Het is een beetje een rommeltje, maar daar moet je verder niet op letten.

    Weet iemand wat ik moet veranderen om de opmaak juist te houden.
    Bij Voorbaat dank,

    Peter
  • Ik heb mijn tables in het stylesheet hard op 600 px gezet en dat werkt prima.
  • Zou je dat snel en vluchtig kunnen uitleggen.
    Ik werkt over de gehel site in tabbellen dus alles zal ik niet over zetten, maar als dat voor die ene tabel wel werkt dan ben ik in ieder geval geholpen.

    Wat is overigens het HTML "WRAP" commando/tag?
  • [b:d9a25d138e]Css:[/b:d9a25d138e]
    table{
    width : 600px;
    }

    [b:d9a25d138e]en dan in je code:[/b:d9a25d138e]

    <table>


    Vluchtig genoeg?
  • Yep, dat vluchtig genoeg, maar helaas dat werkt ook niet. Hij blijft het boeltje verbreden.

    Wat kan dat toch zijn? Hij zou dat toch niet mogen doen?
  • En als je nou eens [b:cbe1217e19]width="800"[/b:cbe1217e19] vervangt door [b:cbe1217e19]width="800px"[/b:cbe1217e19] zodat de browser ook daadwerkelijk weet hoe breed de tabel moet zijn? :roll:

    - Bas
  • Ja, sorry had ik even moeten zeggen, maar dat heb ik direkt na het css getest. Zag dat het daar inderdaad met px aangegeven was, en heb dus toen dat niet werkte de 800 vervangen voor 800px, maar ook dat werkte niet?

    Ik begrijp er echt geen bal meer van. Maar dat wrap gedoe kan het misschien zijn, maar ik kan niet vinden wat de juiste syntax is. Jij misschien?
  • Ik zou 'm niet uit mijn hoofd weten, maar wat is het adres waar de pagina staat?

    - Bas
  • Sorry, hij staat nog lokaal. Ik kan het nog nergens plaatsen aangezien we pas de hosting afsluiten als alles af is.

    Ik kan eventueel wel een screensjotje plaatsen of de complete soerce zoals hij door explorer verwerkt wordt. Heb je daar wat aan?

    Anders kijk ik even of ik een gratis hostje kan afsluiten.
  • Op alle pagina's die ik er even op heb nageslagen staat dat een tabel automatisch "wrapt" als de tekst te lang is mits er spaties in die tekst zitten. Je kan wel voorkomen dat dit gebeurd, maar dwingen niet want het gebeurt al automatisch, snappie?

    W3schools; <td>

    Maw: gebruik je spaties of [b:9c5c15419f]& nbsp ;[/b:9c5c15419f] (aan elkaar)? Een andere reden kan ik op dit moment niet verzinnen…

    - Bas

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.