Avatar billede jjdk Nybegynder
05. august 2005 - 15:00 Der er 6 kommentarer og
1 løsning

Liste sorteret - avanceret

Jeg har tidligere stillet det spørgsmål:
http://www.eksperten.dk/spm/636660
Restultatet ser sådan her ud indtil nu:
www.fdf.dk/esbjerg1/ledertest.php
Hvis I lægger mærke til, så har jeg indsat nogle tomme rækker, for at adskille "Patrulje-grupperingerne".
Det er vel lidt uautoriseret. Med udgangspunkt i spørgsmål 636660, findes der så en nem løsning på, hvordan man indsætter lidt ekstra afstand, når "patruljenavn" (kaldet "afdeling" i spørgsmålet) ændres i listen.
Avatar billede jaw Nybegynder
05. august 2005 - 15:07 #1
Jeg ville f.eks. gøre a'la:

$afstand = "";
while($row = mysql_fetcht_array($query)) {
  if($row['patruljenavn'] != $afstand) {
    $afstand = $row['patruljenavn'];
    echo "<br />"; //eller hvordan du nu laver nye afsnit
  }
  -- resten af indholdet --
}

Forståeligt :) ?
Avatar billede jjdk Nybegynder
05. august 2005 - 15:33 #2
Hvis du har set koden i 636660, har jeg også et afsnit med, hvor den skifter mellem grå og hvide baggrunde i listen. Jeg har prøvet at skrive dit forslag umiddelbart efter "Select" funktioner.
Jeg får fejl. Er "fetcht_array" i linje 2 i øvrigt stavet korrekt. Jeg har fjernet "t".
Avatar billede jaw Nybegynder
05. august 2005 - 15:37 #3
Nej, det var selvfølgelig ikke stavet korrekt.

<table border="1">
<tr>
<th>@</th>
<th>Afdeling</th>
<th>Navn</th>
<th>Tlf.</th>
<th>Mere info</th>
</tr>
<?php
$con = mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("Test", $con) or die(mysql_error());
$rs = mysql_query("SELECT email,afdeling,navn,tlf FROM firma ORDER BY afdeling,navn", $con) or die(mysql_error());
$gray = true;
$afstand = "";
while ($row = mysql_fetch_array($rs)) {
    if($row['patruljenavn'] != $afstand) {
      $afstand = $row['patruljenavn'];
      echo "<br />"; //eller hvordan du nu laver nye afsnit
    }
    if($gray) {
        print "<tr bgcolor='#AAAAAA'>\n";
    } else {
        print "<tr>\n";
    }
    $gray = !$gray;
    if($row["email"] != "") {
        print "<td><a href='mailto:" . $row["email"] . "'><img src='email.jpg'></a></td>\n";
    } else {
        print "<td></td>\n";
    }
    print "<td>" . $row["afdeling"] . "</td>\n";
    print "<td>" . $row["navn"] . "</td>\n";
    print "<td>" . $row["tlf"] . "</td>\n";
    $popup = $row["navn"] . "\\n" . $row["tlf"] . "\\n" .$row["email"];
    print "<td><img src='extra.jpg' onclick='alert(\"" . $popup . "\")'></td>\n";
    print "</tr>\n";
}
mysql_free_result($rs);
print "</table>\n";
mysql_close($con);
?>

Vil så være mit bud...
Avatar billede jjdk Nybegynder
05. august 2005 - 15:54 #4
Ok - nu kommer der ingen fejl, men linjeafstandene står lige under hinanden øverst i listen. www.fdf.dk/esbjerg1/ledertest1.php
Avatar billede jaw Nybegynder
05. august 2005 - 15:58 #5
Både og. For jeg har jo bare lavet en <br /> hvilket failer når du kører tables. Derfor jeg skrev, at du selv kunne tilpasse det helt til det "format" du kører med.

skift:
echo "<br />"; //eller hvordan du nu laver nye afsnit

ud med:
echo"<tr><td colspan=5>&nbsp;</td></tr>";

Så bliver det vist lidt bedre...
Avatar billede jjdk Nybegynder
05. august 2005 - 16:10 #6
Du er en tålmodig person. Nu virker det - tak for hjælpen.
Hvis jeg nu vil have den ekstra linjeafstand mindre, kan jeg så nemt gøre det.
Sender du et svar, så jeg kan give point.
Avatar billede jaw Nybegynder
05. august 2005 - 16:11 #7
Nah, det er ikke heeeelt lige til. Selvfølgelig kan det lade sig gøre, men så skal du vist have fat i stlyes og derved ændre højden på din række. Måske <tr height='4'>... vil virke, men mener at height er udgået fra HTML på den måde jeg lige brugte det.

Og et stk. svar :)
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