[GastForen Programmierung/Entwicklung PHP und MySQL Anordnung horizontal anstatt vertikal

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Anordnung horizontal anstatt vertikal

alois100
Beiträge gesamt: 18

28. Feb 2007, 06:20
Beitrag # 1 von 9
Bewertung:
(5173 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,
ich habe folgendes Skript geschrieben:

<?PHP
$readuserdata="SELECT * FROM team WHERE zusatz='transalp2007'";
$result=mysql_query($readuserdata);

while ($row=mysql_fetch_object($result)) {

//Ausgeben der Daten aus der Datenbank
//echo "<table>";
//echo "<tr><td>";
echo "<div align=left>";
echo "<b>". $row->Vorname ." ". $row->Nachname .'<p>';
echo "<img src=' ";
echo $row->image ;
echo " '> ";
//echo "</td></tr></table>";
}
mysql_free_result($result);

?>

Die ausgelesenen Daten werden immer untereinander angezeigt. Ich hätte aber lieber eine horizontale Darstellung und zwar begrenzt auf 4 Datensätze pro Zeile.

Derzeit sieht das ganze folgendermaßen aus:

http://www.mtb-frickhofen.de/index_transalp.htm

Kann mir jemand dabei helfen? Danke

Gruss Uwe
X

Anordnung horizontal anstatt vertikal

minou
Beiträge gesamt: 135

28. Feb 2007, 08:14
Beitrag # 2 von 9
Beitrag ID: #278847
Bewertung:
(5164 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

ich würde dass mal so versuchen:


Code
echo "<table style="align: left;">";  
(Table nicht in die Schleife nehmen!!)

echo "<tr><td>";
echo "<b>". $row->Vorname ." ".$row->Nachname .'<p></td>';
echo "<td><img src=' "</td>;
echo "<td>" . $row->image . "</td> ;
echo "</tr>";
}


echo "</table>";


ich hoffe, dass ich dich richtig verstanden habe. Getestet habe ich das Konstrukt nicht. Du musst einfach darauf achten, dass jede neue Zelle die in die gleiche Zeile kommen soll mit <td> vergeben wird, <tr> vergibt dagegen die neue Zeile.
Gruss

minou


als Antwort auf: [#278838]

Anordnung horizontal anstatt vertikal

alois100
Beiträge gesamt: 18

1. Mär 2007, 03:40
Beitrag # 3 von 9
Beitrag ID: #279127
Bewertung:
(5142 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo minou,

erstmal danke, hat aber nicht funktioniert. Jeder Datensatz wird in einer neue Zeile angezeigt. Vor den Variablen steht bei deinem Code doch auch ein <tr> für eine neue Zeile.

Gruss Uwe


als Antwort auf: [#278847]

Anordnung horizontal anstatt vertikal

darksky
Beiträge gesamt: 92

1. Mär 2007, 06:36
Beitrag # 4 von 9
Beitrag ID: #279129
Bewertung:
(5136 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hier ein beispiel, mit daten aus der db:

Code
 

<table width="574" border="0" cellpadding="5">
<tr>
<?php
$bilderProZeile = 4;
$counter = 1;
$result_query = mysql_query("select titel,bild1 from tabelle");
while(list($titel,$bild1)=mysql_fetch_row($result_query))
{
?>
<? echo '<td>$bild1<br>$titel</td>';
if($counter % $bilderProZeile == 0) {
echo '</tr><tr>';
}
$counter++;
}
?>
</tr>
</table>


vielleicht nutzt dir das etwas.


als Antwort auf: [#279127]

Anordnung horizontal anstatt vertikal

minou
Beiträge gesamt: 135

1. Mär 2007, 07:42
Beitrag # 5 von 9
Beitrag ID: #279131
Bewertung:
(5131 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

ich habe das völlig übersehen, dass du nur vier Datensätze pro Zeile haben möchtest.
Warum machst du das nicht mit zwei Schleifen.
Die äussere öffnet mit <tr> eine neue Zeile und sollte am Schluss wieder mit </tr> schliessen. In der äusseren Schleife müsstest du abfragen können, ob in der inneren Schleife noch Datensätze kommen.

jetzt machst du innendrin eine for Schleife, die vier Datensätze ausgibt, danach läuft die äussere Schleife wieder einmal mit </tr> und <tr>. Hast du das so gemeint??

Hast du schon mal daran gedacht der ganzen Sache auch noch Titel zu verpassen?

Sorry, ich muss leider weg, habe nur deine Antwort noch schnell angesehen. Ich bin auch noch eher ein blutiger Anfänger.

Nur wer eisern lernt und immer wieder Neues einbeziehen kann, wird schliesslich bestehen.

Schönen Gruss

minou


als Antwort auf: [#278838]

Anordnung horizontal anstatt vertikal

oesi50
  
Beiträge gesamt: 2315

1. Mär 2007, 11:01
Beitrag # 6 von 9
Beitrag ID: #279173
Bewertung:
(5120 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
wenn du statt

?>
</tr>

noch diesen Code
Code
$counter = $bilderProZeile - ($counter % $bilderProZeile); 
if($counter != $bilderProZeile){
for($i = 0; $i < $counter; $i++){
print "<td>&nbsp;</td>\n";
}
print "</tr>\n";
}


anhängst, wird deine Tabelle auch noch ordentlich aufgefüllt.


als Antwort auf: [#279129]

Anordnung horizontal anstatt vertikal

minou
Beiträge gesamt: 135

1. Mär 2007, 18:15
Beitrag # 7 von 9
Beitrag ID: #279321
Bewertung:
(5094 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

das mit dem Modulo Operator habe ich auch noch nicht gekannt, obwohl es anscheinend recht beliebt ist für Tabellen...

Da sieht man wieder mal dass man noch weniger weiss als nix.

:-)

gruss

minou


als Antwort auf: [#279173]

Anordnung horizontal anstatt vertikal

alois100
Beiträge gesamt: 18

1. Mär 2007, 20:32
Beitrag # 8 von 9
Beitrag ID: #279341
Bewertung:
(5083 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,
erstmal danke für die Tipps. Habe jetzt gerade wenig Zeit, setze mich aber am WE mal hin und probiers aus. Melde mich dann wieder.
Gruss Uwe


als Antwort auf: [#279321]

Anordnung horizontal anstatt vertikal

alois100
Beiträge gesamt: 18

3. Mär 2007, 17:22
Beitrag # 9 von 9
Beitrag ID: #279659
Bewertung:
(5049 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,
wie versprochen hier der Code:

<div align=center>
<table width="500" border="0" cellpadding="5">
<tr>

<?php
$bilderProZeile = 4;
$counter = 1;
$result_query = mysql_query("SELECT Vorname,Nachname,image from team WHERE zusatz='transalp2007'");
while($row=mysql_fetch_object($result_query))
{
?>
<?

echo '<td>';
echo "<b>". $row->Vorname ." ". $row->Nachname .'<p>';
echo "<img src=' ";
echo $row->image;
echo " '> ";
echo '</td>';

if($counter % $bilderProZeile == 0) {
echo '</tr><tr>';
}
$counter++;
}
mysql_free_result($result);

?>


</tr>
</table>

Genau so habe ich es mir vorgestellt. Bei mehr wie 4 Datensätze, wird der 5. Datensatz in die nächste Zeile übernommen. Das Ergebnis sieht jetzt so aus:

http://www.mtb-frickhofen.de/index_transalp.htm

Danke an Alle für die Hilfe.

Gruss Uwe


als Antwort auf: [#279341]
X