Avatar billede tvbrandt Nybegynder
29. april 2004 - 11:32 Der er 7 kommentarer og
1 løsning

Overskuelige data med PHP

Hvordan laver man en tabel med oplysninger fra en DB som denne: http://www.danskebank.dk/Link/Prisliste

Altså hvor hveranden line skifter farve.
Avatar billede riversen Nybegynder
29. april 2004 - 11:36 #1
lav en forlykke... og så sæt farven hvis tæller % 2 == 0 fx...
Avatar billede tvbrandt Nybegynder
29. april 2004 - 11:53 #2
Jeg har dette kode:
----
$pr_side = 10;
$antal = mysql_result(mysql_query("SELECT COUNT(*) FROM tabel"),0) or die(mysql_error());

/* Hvis visfra-variablen ikke findes i URL-feltet og den ikke er et nummer og den er større end antallet i databasen, så sættes den til 0, ellers sættes den til værdien fra URL feltet */
$vis_fra = (isset($_GET["visfra"]) && is_numeric($_GET["visfra"]) && $_GET["visfra"] < $antal) ? $_GET["visfra"] : 0;

/* Vi laver et database udtræk med limit, så den kun hiver det rigtige antal ud fra tabellen, husk at ændre ‘table’ til dit eget tabelnavn */
$query = mysql_query ("SELECT * FROM tabel ORDER BY kolonne1 ASC, kolonne2 ASC limit $vis_fra, $pr_side") or die(mysql_error());
/* Vi kører en while og udskriver data, det jeg har sat på er blot et eksempel */
while ($row = mysql_fetch_array($query)) {
echo $row['kolonne1']." ".$row['kolonne2']."<br>";

}
echo "<hr />";

/* Der undersøges om der skal udskrives et ”forrige side”-link, er dette tilfældet udskrives linket */
if ($vis_fra > 0) {
$back= $vis_fra - $pr_side;
echo "<a href='$_SERVER[PHP_SELF]?visfra=$back'>Forrige</a> ";
}
$page = 1;

/* Alle siderne udskrives så man med et klik kan få resultaterne fra fx 90-100 */
for ($start = 0; $antal > $start; $start = $start + $pr_side) {
if($vis_fra != $page * $pr_side - $pr_side) {
echo "<a href='$_SERVER[PHP_SELF]?visfra=$start'>$page</a> ";
} else {
echo $page." ";
}
$page++;
}

/* Der undersøges om der skal udskrives et ”næste side”-link, er dette tilfældet udskrives linket */
if ($vis_fra < $antal - $pr_side) {
$next = $vis_fra + $pr_side;
echo " <a href='$_SERVER[PHP_SELF]?visfra=$next'>Næste</a>";
}
?>
----

Kan du uddybe det lidt mere heri
Avatar billede dennismp Nybegynder
29. april 2004 - 14:58 #3
prøv:

<?php
$color = array();
$color[0] = '#aaaaaa';
$color[1] = '#555555';

$pr_side = 10;
$antal = mysql_result(mysql_query("SELECT COUNT(*) FROM tabel"),0) or die(mysql_error());

/* Hvis visfra-variablen ikke findes i URL-feltet og den ikke er et nummer og den er større end antallet i databasen, så sættes den til 0, ellers sættes den til værdien fra URL feltet */
$vis_fra = (isset($_GET["visfra"]) && is_numeric($_GET["visfra"]) && $_GET["visfra"] < $antal) ? $_GET["visfra"] : 0;

/* Vi laver et database udtræk med limit, så den kun hiver det rigtige antal ud fra tabellen, husk at ændre ?table? til dit eget tabelnavn */
$query = mysql_query ("SELECT * FROM tabel ORDER BY kolonne1 ASC, kolonne2 ASC limit $vis_fra, $pr_side") or die(mysql_error());
/* Vi kører en while og udskriver data, det jeg har sat på er blot et eksempel */

$i = 0;
print "<table>";
while ($row = mysql_fetch_array($query)) {
echo '<tr bgcolor="' . $color[$i++ % 2] . '\"><td>' . $row['kolonne1']." ".$row['kolonne2']."</td></tr>";

}
print "</table>";
echo "<hr />";

/* Der undersøges om der skal udskrives et ?forrige side?-link, er dette tilfældet udskrives linket */
if ($vis_fra > 0) {
$back= $vis_fra - $pr_side;
echo "<a href='$_SERVER[PHP_SELF]?visfra=$back'>Forrige</a> ";
}
$page = 1;

/* Alle siderne udskrives så man med et klik kan få resultaterne fra fx 90-100 */
for ($start = 0; $antal > $start; $start = $start + $pr_side) {
if($vis_fra != $page * $pr_side - $pr_side) {
echo "<a href='$_SERVER[PHP_SELF]?visfra=$start'>$page</a> ";
} else {
echo $page." ";
}
$page++;
}

/* Der undersøges om der skal udskrives et ?næste side?-link, er dette tilfældet udskrives linket */
if ($vis_fra < $antal - $pr_side) {
$next = $vis_fra + $pr_side;
echo " <a href='$_SERVER[PHP_SELF]?visfra=$next'>Næste</a>";
}
?>
Avatar billede tvbrandt Nybegynder
29. april 2004 - 15:13 #4
Kanon. 1000 gange tak for hjælpen
Avatar billede tvbrandt Nybegynder
29. april 2004 - 15:34 #5
Det virker, men lige et spm: Hvilekn kode har hvid og lysegrå? Ikke "#FFFFFF" og "#999999". Det forstår jeg ikke helt.
Avatar billede dennismp Nybegynder
29. april 2004 - 15:42 #6
#ffffff er hvid.
Avatar billede dennismp Nybegynder
29. april 2004 - 15:42 #7
du kan sige en hvilkensomhelst html farve ind..

$color[0] = 'white';

er også en mulighed
Avatar billede tvbrandt Nybegynder
29. april 2004 - 15:47 #8
Når jeg skriver
$color[0] = 'white';
får jeg en blå farve.

Når jeg skriver
$color[1] = '#FFFFFF';
får jeg en gul.

Jeg spurgte nemlig fordi jeg undrede mig over det. Har du en idé om hvorfor den gør det?
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