Avatar billede nicolailissau Nybegynder
05. maj 2009 - 15:20 Der er 8 kommentarer og
1 løsning

Underlig spacing

Hej Eksperter.

Jeg har et problem med noget spacing der opstår. Jeg kan ikke gennemsku hvad det er, men det må være en fejl jeg har lavet i mit while() tag.

Håber i kan hjælpe.

Mvh Nicolai Lissau.

Problemet kan ses her: http://www.rtgkom.dk/~nicolails07/index.php?site=work

Koden ser således ud:
<?php
include("mysqlconnection.php");

//Omdanner koden for visual til visning eller ej
function showId($b) {
    if($b == 1) {
    $b = "visible;";
    return $b;
    }
    else {
    $b = "none;";
    return $b;
    }
}

//$a er den aktuelle i array'et og $b er den efterfølgende (dem der er blevet sendt fra funktionen som $arr[]
//ShowMiddleman() viser mellem rummet mellem fanerne " - " eller ej.
function showMiddleman($a, $b)
{
    if($a == "1")
    {
        if($a >= $b) ///Hvis $a er større end eller lige med $b
        {
        echo " - ";
        }
    }
    else {
        if($a > $b) {
        echo " - ";
        }
    }
}
?>
<h2 class="bigger">Opgaver i IT</h2>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<?php
$connect = mysql_query("SELECT * FROM filebase ORDER BY fileid DESC");
while($row = mysql_fetch_array($connect))
    {
        $visuals = $row['published'];
        $arr = str_split($visuals);
?>
<div style="display:<?php echo showId($arr[0]); ?>">
<!-- Header & Oprettet -->
    <tr>
        <td><?php echo "<p><h2>".$row['filename']."<br></h2><h3>Oprettet ".$row['date']."</h3></p>"?></td>
    </tr>
<!-- Visuals -->
    <tr>
        <td>
        <!-- Vis opgave -->
              <a class="list" style="display:<?php echo showId($arr[1]); ?>" href="preview.php?site=work_viewer&id=<?php echo $row['fileid']; ?>">Vis opgaven</a>
        <!-- Dokumentation -->
            <a class="list" style="display:<?php echo showId($arr[2]); ?>" href="java script:void(0);" onClick="perf('dokumentation_<?php echo $row['fileid']; ?>')"> Dokumentation</a>
        <!-- Download -->
              <a class="list" style="display:<?php echo showId($arr[3]); ?>" href="java script:void(0);" onClick="perf('download_<?php echo $row['fileid']; ?>')"> Download</a>
        <!-- Vis beskrivelse -->
            <a class="list" style="display:<?php echo showId($arr[4]); ?>"  href="java script:void(0);" onClick="perf('beskrivelse_<?php echo $row['fileid']; ?>')"> Vis beskrivelse</a>
      </td>
  </tr>
  <!-- ***************** INDHOLD AF WORK MENU ********************* -->
<!-- Beskrivele -->
              <tr class="message"  name="hideShow" id="beskrivelse_<?php echo $row['fileid']; ?>" style="display:none;">
                <td>
                    <?php
                    $res = $row['filemessage'];
                    if(strlen($res) > 0)
                    {
                    echo "<p><div class='indent'>".$row['filemessage']."</div></p>";
                    }
                    else
                    {
                    echo "<p>Der er ikke nogen beskrivelse til filen.</p>";
                    }
                    ?>
                </td>
            </tr>
<!-- Åben -->
            <tr name="hideShow" id="aaben_<?php echo $row['fileid']; ?>" style="display: none;">
                <td>
                <?php
                echo $row['filedocumentation'];
                ?>
                </td><br />
            </tr>
<!-- Download -->
            <tr class="message" name="hideShow" id="download_<?php echo $row['fileid']; ?>" style="display: none;">
                <td>
                    <?php
                    $res = $row['download'];
                    if(strlen($res) > 0){
                    echo "<p><div class='indent'>Klik <a href='it_work/animation.rar'>HER</a> for at downloade hele opgaven</div></p>";
                    }
                    else{
                    echo "<p>Der er ikke nogen download til filen.</p>";
                    }
                    ?>
                </td>
              </tr>
<!-- Dokumentation -->
            <tr class="message" name="hideShow" id="dokumentation_<?php echo $row['fileid']; ?>" style="display: none;">
                <td>
                    <?php
                    $res = $row['fileread'];
                    if(strlen($res) > "0"){
                    echo "<p><div class='indent'>Klik <a href='".$row['fileread']."'>her</a> for at læse opgaven. Opgaven vises i pdf-format.</div></p>";
                    }
                    else{
                    echo "<p>Der er ikke nogen dokumentation til filen.</p>";
                    }
                    ?>
                </td>
            </tr>
<!-- ***************** INDHOLD AF WORK MENU END ********************* --> 
<!-- Spacer -->
  <tr style="display:<?php echo showId($arr[0]); ?>">
    <td><hr class="hr1" /></td>
  </tr>
  </div>
  <?php
  //End while() tag
      }
    ?>
</table>
Avatar billede mcb2001 Nybegynder
05. maj 2009 - 15:35 #1
jeg tror du skal være lidt mere skarp på HVOR det er rent visuelt din side laver underlig spacing?
Avatar billede zips Juniormester
05. maj 2009 - 15:59 #2
Jeg kan heller ikke lige se hvad fejlen er, men jeg kan se du har mange fejl i koden.

Der er div som her <table><div><tr> samt br </td><br></tr> som ikke er valid kode og derfor skal rettes.
Avatar billede nicolailissau Nybegynder
05. maj 2009 - 16:28 #3
#2 - ja det kan jeg godt se.. Det må jeg lige få rettet :)

Men hvis i klikker på det link jeg har skrevet, burde i kunne se fejlen -> der er laaang mellem "Opgaver i IT" og den første opgave..
Avatar billede anitavizdk Nybegynder
05. maj 2009 - 20:05 #4
<div style="display:<?php echo showId($arr[0]); ?>">
<!-- Header & Oprettet -->

Skal nok uden for din while løkke

idet din kode ser således ud:

<h2 class="bigger">Opgaver i IT</h2>

<div style="">
<!-- Header & Oprettet -->
    </div><br>
            <div style="">
<!-- Header & Oprettet -->
    </div><br>
            <div style="">

<!-- Header & Oprettet -->
    </div><br>
            <div style="">
<!-- Header & Oprettet -->
    </div><br>
            <table border="0" cellpadding="0" cellspacing="0" width="100%">
Avatar billede nicolailissau Nybegynder
12. maj 2009 - 14:54 #5
#4
Det er ikke muligt, da while() holder $row. Så vil showId($arr[0]); kun blive vist een gang.

Jeg løste det i stedet ved at rykke <table> ind i while tagget, således at den oprettet et helt table hver gang, i stedet for at lave en row <tr>

Det virkede.

Tak for inputs

Mvh
Avatar billede mcb2001 Nybegynder
12. maj 2009 - 16:16 #6
jeg tror der er mange der bliver glade for at hjælpe og så se at du tildeler points til dig selv... flot!
Avatar billede nicolailissau Nybegynder
12. maj 2009 - 19:32 #7
Point skal jo gives for svar der løser det problem der er blevet stillet. Der var ikke nogen der kom med svar der kunne løse problemet og jeg fandt selv - en hel del senere - ud af en løsning. Ergo løste jeg selv problemet.

Det var ikke ment for at træde nogen over tæerne. Hvis du føler det mch2001 må jeg undskylde og hvis du mener pointene er forkert afgivet vil jeg gerne høre en begrundelse.

Mvh
Nicolai Lissau
Avatar billede mcb2001 Nybegynder
13. maj 2009 - 10:20 #8
Zips burde få eksempelvis 5 point, da han gør opmærksom på problemer i din kode, og anitavizdk kommer reelt set med en løsning, som du så bruger og finder en endelig løsning, så det er vel ham der er berettiget til pointene?
Avatar billede nicolailissau Nybegynder
13. maj 2009 - 16:46 #9
anitavizdk's løsning virkede ikke.
Det er som sådan ikke fordi jeg vil være nærig med pointene. Jeg mener bare det er sådan de skal uddeles til løsning og ikke kommentarer.

Men for fredens skyld må i gerne smide et svar Zips, anitavizdk og mcb2001 hvis i vil have point.

Mvh
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