Beitrag von Karl (19 Beiträge) am Samstag, 11.Oktober.2008, 19:49.
Bitte kleine Nachhilfe
Hallo Leute,
ich habe eine Datenbank, bei der die Einträge eins von 10 möglichen Labels bekommen können.
Ich möchte jetzt die Labels, die verwendet wurden auslesen und auflisten.
Das habe ich in 2 Varianten versucht. In der ersten klappt das Auslesen, aber ich kriege die Formatierung der Tabelle nicht richtig hin. In der zweiten stimmt die Formatierung exakt so wie ich sie möchte, aber das Auslesen klappt nicht.
Hier die URL:
http://de3.netpure.de/cgi-bin/baseportal.pl?htx=/eyecatcher/eyecatcher/index_test
Hier der Code:
<BODY bgcolor="#FFFFFF">
---------1. Variante (Auslesen richtig, Tabelle falsch)-----------------------------------------------
<loop db=News code=perl sort^=Label>
if ($OldLabel ne $Label) {
$cnt=$cnt+1;
$Temp=$cnt % 3;
$OldLabel=$Label;
out "<table width='350' border='0' cellspacing='0' cellpadding='0'>";
out "<tr bgcolor='#000000'>";
out "<td>";
out "<table border='0' width='100%'cellspacing='4' cellpadding='4' >";
out "<tr bgcolor=#FFFFFF>";
out "<td align='left'><font color=$farbe3 font size=1 font face=$schrift><a class=\'list\'href=\"http://de2.netpure.de/cgi-bin/baseportal.pl?htx=/eyecatcher/eyecatcher/projekte_aktuell_neu&Seite=0&Label==$Label&Suche=Label~=$Label\" target='aktuell'><b>$Label</b></a></font>";
}
out "</td>";
out "</tr>";
out "</table>";
out "</td>";
out "</tr>";
out "</table>";
</loop>
---------2. Variante(Auslesen falsch, Tabelle richtig)-----------------------------------------------
<perl>
if($Seite == 0)
{
# $farbe1 u. 2 für Tabellen, 3 für Schrift
$farbe1 = "#DDDDDD";
$farbe2 = "#FFFFFF";
$farbe3 = "#000000";
$schrift = "arial,helvetica,sans-serif";
$size = "4";
# $anzakt gibt an, wieviele bei aktuelles
$anzakt = 10;
# Seite 0 = Adminbereich
# Seite 1 = Übersicht Archiv
# Seite 2 = Achiv ausgewähltes Jahr
# Seite 3 = Aktuelles
# Tabelle
out "<table width='300' border='0' cellspacing='0' cellpadding='0'>";
out "<tr bgcolor='#000000'>";
out "<td>";
out "<table border='0' width='100%'cellspacing='4' cellpadding='4' >";
get "sort^=Label,$anzakt","News","neueNews";
while(get_next("neueNews"))
{
if ($OldLabel ne $Label) {
$cnt=$cnt+1;
$Temp=$cnt % 3;
$OldLabel=$Label;
}
out "<tr bgcolor=$farbe1>";
out "<td align='left'><font color=$farbe3 font size=1 font face=$schrift><a class=\'list\'href=\"http://de2.netpure.de/cgi-bin/baseportal.pl?htx=/eyecatcher/eyecatcher/projekte_aktuell_neu&Seite=0&Label==$Label&Suche=Label~=$Label\" target='aktuell'><b>$Label</b></a></font></td>";
out "</tr>";
}
out "</table>";
out "</td>";
out "</tr>";
out "</table>";
out "<p><font color=$farbe3><font face=$schrift><a class='head' href='baseportal.pl?htx=$htx&Seite=1&lastDat=$aktDat'>Projektarchiv</a></p>";
}
</perl>
Antworten
Beitrag von LastReplay (13 Beiträge) am Samstag, 11.Oktober.2008, 22:45.
Re: Bitte kleine Nachhilfe in HTML
probier es mal so ?!?!?!
<table border="0" width="350" bgcolor=#000000 align='left'>
<loop db=News code=perl sort^=Label>
if ($OldLabel ne $Label) {
$cnt=$cnt+1;
$Temp=$cnt % 3;
$OldLabel=$Label;
out "<tr bgcolor=#FFFFFF>";
out "<td align='left'><font color=$farbe3 font size=1 font face=$schrift><a class=\'list\'href=\"http://de2.netpure.de/cgi-bin/baseportal.pl?htx=/eyecatcher/eyecatcher/projekte_aktuell_neu&Seite=0&Label==$Label&Suche=Label~=$Label\" target='aktuell'><b>$Label</b></a></font>";
}
out "</td>";
out "</tr>";
</loop>
Antworten
Beitrag von Karl (19 Beiträge) am Samstag, 11.Oktober.2008, 22:59.
Re: Re: Bitte kleine Nachhilfe in HTML
Klasse, klappt.
Noch eine Frage:
Nicht jeder Eintrag hat auch einen Eintrag unter "Label".
Für die wird aber trotzdem ein (leeres) Tabellenfeld ausgelesen.
Wie schaffe ich es, dass leere Einträge ignoriert werden?
Antworten
Beitrag von Karl (19 Beiträge) am Samstag, 11.Oktober.2008, 23:09.
Re: Re: Re: Bitte kleine Nachhilfe in HTML
Wenn ich -wie gesagt- eine Ausgabe ohne leere Einträge und eine Rahmendicke von 4px hinkriege, ist alles perfekt...
Antworten
Beitrag von LastReplay (13 Beiträge) am Samstag, 11.Oktober.2008, 23:17.
Re: Re: Re: Re: Bitte kleine Nachhilfe in HTML
Antworten
Beitrag von LastReplay (13 Beiträge) am Samstag, 11.Oktober.2008, 23:09.
Re: Re: Re: Bitte kleine Nachhilfe in HTML als LOOP
<table border='0' width='350' bgcolor='000000' align='left'>
<loop db=News code=perl sort^=Label>
if ($OldLabel ne $Label)
{
$cnt=$cnt+1;
$Temp=$cnt % 3;
$OldLabel=$Label;
out "<tr bgcolor=#FFFFFF>";
out "<td align='left'><font color=$farbe3 font size=1 font face=$schrift><a class=\'list\'href=\"http://de2.netpure.de/cgi-bin/baseportal.pl?htx=/eyecatcher/eyecatcher/projekte_aktuell_neu&Seite=0&Label==$Label&Suche=Label~=$Label\" target='aktuell'><b>$Label</b></a></font>";
}
#### falls Lable leer
elsif ($Lable eq "")
{
out""; ### nix
}
#### ansonsten
else
{
out""; ## auch nix
}
out "</td>";
out "</tr>";
</loop>
</table>
Antworten
Beitrag von Karl (19 Beiträge) am Samstag, 11.Oktober.2008, 23:31.
gelöst!
Antworten
Beitrag von Pouraga (1396 Beiträge) am Samstag, 11.Oktober.2008, 22:50.
Re: Bitte kleine Nachhilfe
get "sort^=Label,$anzakt","News","neueNews";
$anzakt verstehe ich an dieser Stelle nicht
so:
get "sort^=Label","News","neueNews";
oder so:
get "sort^=Label range=0,$anzakt","News","neueNews";
Und am besten nicht das sortieren nach dieser Weise machen. Das bedeutet in Worten: "Hole alle Einträge in der Reihenfolge der Id's und sortiere dann nach Label." Sondern mach das gleich mit der Abfrage, das ist schneller:
get "Label==*","News","neueNews";
In Worten: "Hole alle Einträge in der Reihenfolge von Label"
Antworten
Beitrag von LastReplay (13 Beiträge) am Samstag, 11.Oktober.2008, 22:58.
Re: Bitte kleine Nachhilfe HTML Formatierung mit get
oder so ?!?!?
out "<table border='0' width='350' bgcolor='000000' align='left'>";
get "Id==* sort^=Label", "News";
while(get_next("News"))
{
if ($OldLabel ne $Label)
{
$cnt=$cnt+1;
$Temp=$cnt % 3;
$OldLabel=$Label;
out "<tr bgcolor=#FFFFFF>";
out "<td align='left'><font color=$farbe3 font size=1 font face=$schrift><a class=\'list\'href=\"http://de2.netpure.de/cgi-bin/baseportal.pl?htx=/eyecatcher/eyecatcher/projekte_aktuell_neu&Seite=0&Label==$Label&Suche=Label~=$Label\" target='aktuell'><b>$Label</b></a></font>";
out "</td>";
}
Antworten