• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

PHP/html/css Problem !

Status
Für weitere Antworten geschlossen.

Martin279

Neues Mitglied
Hallo !
Ich habe mir per PHP ein Newsscript geschrieben und möchte jetzt das bei jeder neuen NEWS ein neuer DIV Container kommt der jeweils ca. 20 px. unter der vorigen ist ...

Es klappt aber nicht ! Wie muss der CSS code dazu lauten ? Ich habe es schon mit margin und padding versucht aber irgenwie klappts nich ...

Hier der PHP code:
PHP:
<?php
    // news.php
    $sql = "SELECT
                Titel,
                Inhalt,
                Datum,
                autor

            FROM
                news
            ORDER BY
                id DESC";
    $result = mysql_query($sql) OR die(mysql_error());
    if(mysql_num_rows($result)) {
        while($row = mysql_fetch_assoc($result)) {

        ?>

<div class="news_script">
<p style="color:white;padding-right:10px;padding-left:220px;font-weight:bold;font-size:2em;text-decoration:underline;"><?php echo $row["Titel"]; ?></p>

  <p style="color:white;padding-left:10px;font-weight:bold;">
    Datum:<?php echo $row["Datum"]; ?>
  </p>
    <p style="color:white;padding-left:10px;font-weight:bold;">
    Autor:<?php echo $row["autor"]; ?>
  </p>
  <p style="color:white;padding-left:10px;">
    <?php echo $row["Inhalt"]; ?>
  </p>

  </div>


<?php
}









        }

     else {
        echo"<p>Keine News vorhanden</p>\n";
    }
?>

Css Code:
Code:
.news_script
{
background:white;
border:1px solid black;
width:600px;
margin-left:206px;
margin-top:200px;
margin-bottom:20px;
padding:10px;


background-image:url(news.jpg);
}

Ich habe schon gehört das ich dann für jede nächste news ein neuen container machen muss aber wie klappt das automatisch??


MFG Martin
 
Durch deine while Schleife im PHP Bereich, gibst du jede News in einem DIV Container aus.

Diesem solltest du über margin-top: 20px den abstand nach oben mitgeben können.

Momentan hat jeder Container nach oben einen Abstand von 200px, was bei mehreren News sehr hoch wird ;)
 
Hallo Martin297!

Das automatische hast du völlig korrekt erledigt! Nämlich mit der while-Schleife.. Für jede News, die in deiner Datenbank vorhanden ist erstellt er nun ein neuen Container.. Allerdings immer mit margin-top:200px.. Das heißt, die einzelnen Container sind 200px voneinander entfernt.
Warscheinlich wird das jedoch nicht dein Fehler sein.. Beschriebe dein problem genauer! Zeigt er überhaupt einen Container an? Könntest du vielleicht einen Screenshot machen?

Gruß, Fredmonster
 
PHP:
<?php
    // news.php
    $i = true;
    $sql = "SELECT
                Titel,
                Inhalt,
                Datum,
                autor

            FROM
                news
            ORDER BY
                id DESC";
    $result = mysql_query($sql) OR die(mysql_error());
    if(mysql_num_rows($result)) {
        while($row = mysql_fetch_assoc($result)) {

        ?>

<div class="<?php if($i){print "news_script";}else{print "news_f_script";}?>">
<p style="color:white;padding-right:10px;padding-left:220px;font-weight:bold;font-size:2em;text-decoration:underline;"><?php echo $row["Titel"]; ?></p>

  <p style="color:white;padding-left:10px;font-weight:bold;">
    Datum:<?php echo $row["Datum"]; ?>
  </p>
    <p style="color:white;padding-left:10px;font-weight:bold;">
    Autor:<?php echo $row["autor"]; ?>
  </p>
  <p style="color:white;padding-left:10px;">
    <?php echo $row["Inhalt"]; ?>
  </p>

  </div>


<?php
$i=false;}
        }

     else {
        echo"<p>Keine News vorhanden</p>\n";
    }
?>
HTML:
.news_script
{
background:white;
border:1px solid black;
width:600px;
margin-left:206px;
margin-top:200px;
margin-bottom:20px;
padding:10px;


background-image:url(news.jpg);
}
.news_f_script
{
background:white;
border:1px solid black;
width:600px;
margin-left:206px;
margin-top:20px;
margin-bottom:20px;
padding:10px;
background-image:url(news.jpg);
}
 
PHP:
<?php
    // news.php
    $i = true;
    $sql = "SELECT
                Titel,
                Inhalt,
                Datum,
                autor

            FROM
                news
            ORDER BY
                id DESC";
    $result = mysql_query($sql) OR die(mysql_error());
    if(mysql_num_rows($result)) {
        while($row = mysql_fetch_assoc($result)) {

        ?>

<div class="<?php if(!$i){print "news_script";}else{print "news_f_script";}?>">
<p style="color:white;padding-right:10px;padding-left:220px;font-weight:bold;font-size:2em;text-decoration:underline;"><?php echo $row["Titel"]; ?></p>

  <p style="color:white;padding-left:10px;font-weight:bold;">
    Datum:<?php echo $row["Datum"]; ?>
  </p>
    <p style="color:white;padding-left:10px;font-weight:bold;">
    Autor:<?php echo $row["autor"]; ?>
  </p>
  <p style="color:white;padding-left:10px;">
    <?php echo $row["Inhalt"]; ?>
  </p>

  </div>


<?php
$i=false;}
        }

     else {
        echo"<p>Keine News vorhanden</p>\n";
    }
?>
HTML:
.news_script
{
background:white;
border:1px solid black;
width:600px;
margin-left:206px;
margin-top:200px;
margin-bottom:20px;
padding:10px;


background-image:url(news.jpg);
}
.news_f_script{
background:white;
border:1px solid black;
 width:600px;
 margin-left:206px;
 margin-top:20px;
 margin-bottom:20px;
 padding:10px;
 background-image:url(news.jpg);
 }
So müsste es klappen!
PS: Du musst in deinem CSS-Code deine news_script-klasse durch den Code, den ich die gegeben habe (den CSS-Code) ersetzten!
 
LOL jetzt ist es genau andersrum !
Die 1. hat keinen aber die 2. siehe my Page ...

Ich habe keine Erklärung ...
 
bei mir ist es korrekt, nur dass jetzt die beiden margins vertauscht sind.. du musts also im news_f_script margin-top:200px schrieben und bei news_script margin-top:20px; dann sollte alles klappen
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben