Flashhilfe.de - Flash Community

Tabelle 2 fach generieren

 


AntwortenRegistrieren Seite1  

schlampe#1
Benutzerbild von schlampe
Beiträge: 143
Wohnort: Steinfurt
Registriert: Oct 2004

11.04.2007, 20:53

Hallo zusammen!

Ich komm einfach nicht drauf.. unter http://www.indict.de/fotografen/overview.php einmal die "Testparty" auswählen..

Dann spuck php wie gewollt die Bilder aus und brich nach 4 Bildern um..
alles toll und gut.. aber ich möchte nun unter jedes bild eine weitere reihe generieren (für eine gleichmäßige bildunterschrift etc.)

Ums kurz zu machen ich will von:
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<table width="102" border="1" cellspacing="2" cellpadding="0">

<tr>
   <td>Bild</td>
      <td>Bild</td>
      <td>Bild</td>
      <td>Bild</td>
   </tr>
<tr>
   <td>Bild</td>
      <td></td>
      <td></td>
      <td></td>
   </tr>

</table>


"ganz einfach" nach:
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<table width="102" border="1" cellspacing="2" cellpadding="0">

<tr>
   <td>Bild</td>
      <td>Bild</td>
      <td>Bild</td>
      <td>Bild</td>
   </tr>
   <tr>
      <td>Unterschrift</td>
      <td>Unterschrift</td>
      <td>Unterschrift</td>
      <td>Unterschrift</td>
   </tr>
   <tr>
   <td>Bild</td>
      <td></td>
      <td></td>
      <td></td>
   </tr>
   <tr>
      <td>Unterschrift</td>
      <td></td>
      <td></td>
      <td></td>
   </tr>
</table>


Mein verwendetes Script:
//Tabelle aufmachen
echo"<table border='0' cellspacing='2'><tr height='150'>";

//Ausgabe
foreach ($language_files as $language_file) {
$ausgabe[$x]="<img src='thumbs.php?pfad=$pfad&file=$language_file&groesse=thumb' border='0'>";
echo"<td class='table_1' width='145' height='150' align='center' valign='middle'>
<a href='thumbs.php?pfad=$pfad&file=$language_file&groesse=big'>
$ausgabe[$x]
</a>
</td>";
$x++;
if($x%4 == 0) { echo "</tr><tr>";}
}

//Tabelle zumachen
echo"</tr></table>";

Wer kann mir helfen ?
Geändert von schlampe am 11.04.07 um 20:55 Uhr
burnZ#2
Benutzerbild von burnZ
Beiträge: 2827
Wohnort: Bayern
Registriert: Aug 2005

12.04.2007, 12:01

Da ich nich wusste ob PHP4 oder 5 war ich mal extrem 4 freundlich:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
<?
/**
 * Erzeugt einen Attribut
 * String aus einem Array.
 *
 * @param     array $attributes
 * @param     array $exclude
 * @return     string
 * 
 */
function createAttrStr($attributes null$exclude null){
   
// attribute pr&uuml;fen
   
if(is_array($attributes)){
        foreach(
$attributes as $attr => $value){
            if(!
is_array($exclude) || !in_array($attr$exclude)){
               
$attrStr .= " $attr=\"$value\"";
            }
        }
        return 
$attrStr;
    }
    else return 
'';
}

/**
 * Erzeugt einen HTML Link
 * mit dem Inhalt $content.
 *
 * @param     string $url
 * @param     string $content
 * @param     string $target
 * @param     array  $attributes
 * @return     string
 * 
 */
function createLink($url$content$target '_self'$attributes null){
   
// attribute parsen
   
$attrStr createAttrStr($attributes, array('href''target'));
   
   
// string wiedergeben
   
return "<a href=\"$url\" target=\"$target\"$attrStr>$content</a>";
}

/**
 * Erzeugt ein Image Tag
 * das auf $url zeigt
 *
 * @param     string $url
 * @param     array  $attributes
 * @return     string
 * 
 */
function createImage($url$attributes null){
   
// attribute parsen
   
$attrStr createAttrStr($attributes, array('src'));
   
   
// string wiedergeben
   
return "<img src=\"$url\"$attrStr/>";
}

/**
 * Erzeugt eine Tabellen
 * Zeile.
 *
 * @param     string $content
 * @param     array $attributes
 * @return     string
 * 
 */
function createTR($content$attributes null){
   
// attribute parsen
   
$attrStr createAttrStr($attributes);
   
    return 
"<tr$attrStr>$content</tr>";
}

/**
 * Erzeugt eine Tabellen Spalte.
 *
 * @param     string $content
 * @param     array $attributes
 * @return     string
 * 
 */
function createTD($content$attributes null){
   
// attribute parsen
   
$attrStr createAttrStr($attributes);
   
    return 
"<td$attrStr>$content</td>";
}

/**
 * Erzeugt eine Tabelle
 *
 * @param     string $content
 * @param     array $attributes
 * @return     string
 * 
 */
function createTable($content$attributes null){
   
// attribute parsen
   
$attrStr createAttrStr($attributes);
   
    return 
"<table$attrStr>$content</table>";   
}

// vordefinieren
$x 0;

foreach(
$language_files as $language_file){
   
// wenn 4 in einer zeile...
   
if($x === 0){
       
// zeile erzeugen
       
$output .= createTR($buffer);
       
       
// buffer leeren
       
$buffer '';
       
       
// $x auf 0
       
$x 0;
    }
   
   
// bild erzeugen
   
$image createImage("thumbs.php?pfad=$pfad&file=$language_file&groesse=thumb");
   
   
// link darum erzeugen
   
$link createLink("thumbs.php?pfad=$pfad&file=$language_file&groesse=big"$image);
   
   
// table mit link und unterschrift
   
$innerTable createTable(createTR(createTD($link)) . createTR(createTD('unterschrift')), array('border' => '0'));
   
   
// in buffer var legen
   
$buffer .= createTD($innerTable);
   
   
$x++;
}

// table ausgeben (inkl was noch im buffer h&auml;ngen k&ouml;nnte
echo createTable($output createTR($buffer));
?>


Nur paar Funktionen die es ein wenig übersichtlicher machen. Unter PHP5 hätte ich es mit DOMDocument gemacht :) Der Trick is halt nur in jede Spalte einen eigenen Table mit 2 Zeilen zu legen. Link (Bild) und Unterschrift.

Hoffe das hilft.

----------------------------------------------------------------------
Dies ist die Signatur von burnZ. Alle Rechte vorbehalten!
schlampe#3
Benutzerbild von schlampe
Beiträge: 143
Wohnort: Steinfurt
Registriert: Oct 2004

Themenautor/in

12.04.2007, 21:26

öhmm jein .. also hab nicht soviel verstanden auch das script sagt mir nix.. hab beides 4 oder 5 ..

burnZ#4
Benutzerbild von burnZ
Beiträge: 2827
Wohnort: Bayern
Registriert: Aug 2005

13.04.2007, 03:58

Ach was soll ich jetzt erklären ...ich bin so müde *auf uhr guck*...immerhin funktioniert das skript ja..

----------------------------------------------------------------------
Dies ist die Signatur von burnZ. Alle Rechte vorbehalten!
schlampe#5
Benutzerbild von schlampe
Beiträge: 143
Wohnort: Steinfurt
Registriert: Oct 2004

Themenautor/in

13.04.2007, 12:17

ja hi nochmal!

Danke erstmal für das Script aber ist leider nicht genau das was ich meinte..
schau dir das beispiel von mir nochmal an.. ich brauche unter jeder zeile eine zusätzliche.. nicht in jeder zeile eine tabelle mit 2 zeilen.. :)

so wie du es gemacht hast hätte ich ja auch einfach ein "<br>" hinter jedem bild machen können wollte ich aber nicht da die bildunterschrift ja jetzt mal unten mal oben ist .. je nach dem ob hochkant oder quergestelltem bild ist..

die unterschrift unter jedem bild sollen auf einer linie laufen.. deswegen die zusätzliche zeile immer drunter..

voltan2#6
Benutzerbild von voltan2
Beiträge: 4
Registriert: Apr 2006

13.04.2007, 12:49

Dann mache es mal so:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?
//Tabelle aufmachen
echo"<table border='0' cellspacing='2'><tr height='*'>";

//Ausgabe
foreach ($language_files as $language_file) {
$ausgabe[$x]="<img src='thumbs.php?pfad=$pfad&file=$language_file&groesse=thumb' border='0'>";
echo
"<td class='table_1' width='145' height='150' align='center' valign='middle'>
<a href='thumbs.php?pfad=$pfad&file=$language_file&groesse=big'>
$ausgabe[$x]
</a>
</td>
</tr><tr>
<td class='table_1' width='145' height='20' align='center' valign='middle'>
Hier meine Unterschrift</td>
$x++;
if($x%4 == 0) { echo "
</tr><tr>";}
}

//Tabelle zumachen
echo"
</tr></table>";
?>


Das setzt eine Tabelle unter Deinem Bild aber bleibt aufgrund der Größe des Bildes immer auf der Linie. Ich konnte es jetzt nicht richtig testen, weil mir die thumb.php fehlt.
Geändert von voltan2 am 13.04.07 um 12:51 Uhr
schlampe#7
Benutzerbild von schlampe
Beiträge: 143
Wohnort: Steinfurt
Registriert: Oct 2004

Themenautor/in

13.04.2007, 12:55

heheh .. ja sowas hatte ich auch schon.. schau mal auf:
http://www.indict.de/fotografen/overview.php

so sieht das jetzt aus.. sowas hatte ich auch schon.. bin dann aber an verzweifellung gescheitet...

voltan2#8
Benutzerbild von voltan2
Beiträge: 4
Registriert: Apr 2006

13.04.2007, 13:00

Kannst du mir die thumb.php geben?

Dann kann ich schnell was machen

schlampe#9
Benutzerbild von schlampe
Beiträge: 143
Wohnort: Steinfurt
Registriert: Oct 2004

Themenautor/in

13.04.2007, 13:08

ja die thumb.php ist eher unwichtig.. mir gehts in erster linie ja nur um die tabellen generierung..

voltan2#10
Benutzerbild von voltan2
Beiträge: 4
Registriert: Apr 2006

13.04.2007, 13:17

Naja ich habe was getestet.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?
//Tabelle aufmachen
echo"<table border='0' cellspacing='2'><tr height='*'>";

//Ausgabe
foreach ($language_files as $language_file) {
$ausgabe[$x]="<img src='thumbs.php?pfad=$pfad&file=$language_file&groesse=thumb' border='0'>";
echo
"<td class='table_1' width='145' height='150' align='center' valign='middle'>
<a href='thumbs.php?pfad=$pfad&file=$language_file&groesse=big'>
$ausgabe[$x]
</a>
</td>
$x++;
if($x%4 == 0) { echo "
</tr><tr>
<
td class='table_1' width='145' height='*' align='center' valign='middle'>
Hier meine Unterschrift</td></tr><tr>";}
}

//Tabelle zumachen
echo"
</tr></table>";
?>


schlampe#11
Benutzerbild von schlampe
Beiträge: 143
Wohnort: Steinfurt
Registriert: Oct 2004

Themenautor/in

13.04.2007, 17:47

Soweit bin ich jetzt... ich hab den aufbau schonmal so wie der sein soll.. aber leider bricht der nicht nach "4" um..

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<head>
<style type="text/css" media="screen"><!--
.text { color: black; font-size: 11px; font-family: Arial }
.link  { color: black; font-size: 11px; font-family: Arial; font-weight: bold; text-decoration: none }
.table_1  { background-image: url(hintergrund.jpg) }
-->
</style>
</head>
<form id="wahl" action="overview.php" method="post" name="wahl" enctype="multipart/form-data">
<select name="pfad" size="1">
<option value=".">..Party w&auml;hlen!</option>
<option value="test">Testparty (Pentagon)</option>
<option value="ficken">Sexplosiv! (Disco)</option>
<option value="kasi">Kasi (Transfer)</option>
</select>&nbsp;<input type="submit" name="submitButtonName" value="Go!">
</form>
<br>
<?

$untergrund = "bilder/";
$pfad = "$pfad";
$mix = $untergrund.$pfad;
if($pfad==false) { $language_file == "nix"; echo"<span class='text'>Keine Fotos gewählt!</span>"; } else {

//Ordner einlesen
$language_dir = dir($mix);
$language_files = array();
$x=0;
$count = 0;
while ($language_file = $language_dir -> read()) {
  if ($language_file != "." and $language_file != ".." and $language_file != "nix" and filetype($pfad)!="dir") {
  $language_files[] = $language_file;
  $count++;
  }
}
$language_dir -> close();
natcasesort ($language_files);

foreach($language_files as $language_file) {
$ausgabe[$x]="<img src='thumbs.php?pfad=$pfad&file=$language_file&groesse=thumb' border='0'>";
$unterschrift[$x]="$language_file";
$x++;
}
echo"<span class='text'>Im Ordner $pfad sind $x Bilder.</span>";
echo"
<table border='0' cellspacing='2' class='text'>"
;
echo"<tr>";

for($a=1;$a<=$count;$a++) {
echo"<td bgcolor='#efefef'>Vorschau</td>";
}

echo"</tr><tr>";

$f=0;
for($a=1;$a<=$count;$a++) {
echo"<td class='table_1'>$ausgabe[$f]</td>";
$f++;
$x++;
}

echo"</tr><tr>";

$f=0;
for($a=1;$a<=$count;$a++) {
echo"<td>$unterschrift[$f]</td>";
$f++;
}
echo"</tr>";
}

?>



AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2020 Sebastian Wichmann - Flashhilfe.de