Schrift
[thread]215[/thread]

eleganter



<< |< 1 2 >| >> 14 Einträge, 2 Seiten
Relais
 2004-03-30 19:08
#1752 #1752
User since
2003-08-06
2246 Artikel
ModeratorIn
[Homepage] [default_avatar]
Uhm, das ist vielleicht doch eher eine CGI-Frage, auf jedenfall ist die Lösung eine CGI-Lösung:

Code: (dl )
1
2
3
4
5
6
use CGI qw(:standard);

print Tr(
td( [ @result[ 0 .. 2 ] ] ) ,
td( [ @result[ 3 .. 5 ] ] )
)
\n\n

<!--EDIT|Relais|1080659356-->
Erst denken, dann posten --
27. Deutscher Perl- u. Raku -Workshop (Termin wird noch gesucht) 2025 in München.

Winter is Coming
misuzu
 2004-03-30 18:56
#1753 #1753
User since
2004-02-17
16 Artikel
BenutzerIn
[default_avatar]
tag zusammen,

wollte euch zu einer sache um rat bitten

habe eine db_query:

Code: (dl )
my $sql = " SELECT id,name FROM test ORDER BY RAND() LIMIT 0,6";


jetzt lese ich alle felder aus 'name' ( zufällig immer 6 stück )

mein problem ist nun das ich die werte aus 'name' formatiert ausgeben möchte - nach dem schema

Code: (dl )
1
2
3
4
5
6
Tabelle mit 2 zeilen und 3 spalten
-----------------------
| HUND | KATZE | MAUS | # zeile 1
-----------------------
| LÖWE | CAMEL | STIER| # zeile 2
-----------------------


desweilen hab ich das so gelöst:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
while(my ($id,$name) = $sth -> fetchrow_array){
push @result,$name;
}

print qq {

<tr>
   <td width="30"><div align="center">$result[0]</div></td>
   <td width="30"><div align="center">$result[1]</div></td>
   <td width="30"><div align="center">$result[2]</div></td>
 </tr>
 <tr>
   <td width="30"><div align="center">$result[3]</div></td>
   <td width="30"><div align="center">$result[4]</div></td>
   <td width="30"><div align="center">$result[5]</div></td>
 </tr>
};


die anzeige dauert etwas lang -

jetzt würde ich gerne von euch wissen ob man das auch mit einer "for" schleifenvariante lösen könnte ?

wünsch euch noch 'nen schönen nachmittag
Crian
 2004-03-31 11:41
#1754 #1754
User since
2003-08-04
5872 Artikel
ModeratorIn
[Homepage]
user image
Auf jeden Fall ist es eine Frage zur Webprogrammierung... wohin schieb ich es? Nach Relais Antwort wohl lieber Richtung CGI, auch wenn das in der Frage nicht vorkommt ;)
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
Taulmarill
 2004-03-31 13:02
#1755 #1755
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
Code: (dl )
1
2
3
4
5
6
7
for my $i (0..1) {
print "<tr>\n";
for my $j (0..2) {
print qq { <td width="30"><div align="center">$result[$i*3+$j]</div></td>\n};
}
print "</tr>\n";
}


oder

Code: (dl )
1
2
3
4
5
6
7
8
9
10
print "<tr>\n";
my $count = 0;
while ( my ($id,$name) = $sth -> fetchrow_array) {
if ( $count > 0 && $count % 3 == 0 ) {
print"</tr>\n<tr>\n";
}
print qq { <td width="30"><div align="center">$name</div></td>\n};
$count++;
}
print "</tr>\n";


--code untested--\n\n

<!--EDIT|Taulmarill|1080723939-->
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
format_c
 2004-03-31 13:20
#1756 #1756
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Ich würde es auch ähnlich wie Relais machen.
CGI HTML-Code generating rules ;)

Gruß ALex
Taulmarill
 2004-03-31 13:31
#1757 #1757
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
hm, wenn ich das CGI richtig vertanden habe würde es nicht
Code: (dl )
1
2
3
4
5
6
7
8
9
10
<tr>
<td width="30"><div align="center">Hund</div></td>
<td width="30"><div align="center">Katze</div></td>
<td width="30"><div align="center">Maus</div></td>
</tr>
<tr>
<td width="30"><div align="center">Kamel</div></td>
<td width="30"><div align="center">Dromedar</div></td>
<td width="30"><div align="center">Lama</div></td>
</tr>

ausspucken, sondern
Code: (dl )
1
2
3
4
5
6
7
8
9
10
<tr>
<td>Hund</td>
<td>Katze</td>
<td>Maus</td>
</tr>
<tr>
<td>Kamel</td>
<td>Dromedar</td>
<td>Lama</td>
</tr>

oder?

das würde schlicht die anforderungen nicht erfüllen.
gibt es bei CGI keine möglichkeit die ausgabe nen bischen zu tunen?
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
ptk
 2004-03-31 13:54
#1758 #1758
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Warum ein zusaetzliches <DIV>, wenn man das Alignment auch in <td style="..."> unterbringen kann? Man kann bei CGI.pm Attribute in einem Hash angeben. Siehe auch "PROVIDING ARGUMENTS TO HTML SHORTCUTS" in der CGI.pm-Dokumentation.
Taulmarill
 2004-03-31 15:05
#1759 #1759
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
jo recht hast du.
ob dann
Code: (dl )
1
2
   print a({-href=>'fred.html',-target=>'_new'},
"Open a new frame");

wirklich besser ist als
Code: (dl )
print qq {<a href="fred.html",target="_new">Open a new frame</a>\n}

ist dann wohl nur noch geschmacksfrage.
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
format_c
 2004-03-31 15:18
#1760 #1760
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Richtig. Ich halt einfach der Meinung dass mitten im HTML-Prog
HTML-Code nix zu suchen hat.
Ich find dass
Code: (dl )
1
2
3
print Tr(
td({-style=>'font-color:red;font-weight:bold;'},[@row])
);

viel Perlischer aussieht wie:
Code: (dl )
1
2
3
4
5
6
7
8
print qq~
<tr>
<td style="font-color:red;font-weight:bold;">$row[0]</td>
<td style="font-color:red;font-weight:bold;">$row[1]</td>
<td style="font-color:red;font-weight:bold;">$row[2]</td>
<td style="font-color:red;font-weight:bold;">$row[3]</td>
</tr>
~;

ist.

Aber wie schon gesagt. Ist Geschmakssache oder vielleicht Fleißbereitschaft.


Gruß ALex
Taulmarill
 2004-03-31 17:46
#1761 #1761
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
aber mit der aussage, dass html nix in perl code zu suchen hat kann ich mich durchaus anfreunden.
daher benutze ich seit kurzem tt2. da hab ich dann auch volle gestalereische freiheit.
ausserdem entfernt das CGI ja nicht wirklich das html aus dem perl script sondern ändert nur die schreibweise und bietet ein paar features. :)
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
<< |< 1 2 >| >> 14 Einträge, 2 Seiten



View all threads created 2004-03-30 19:08.