php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.02.2009, 14:52  
Neuer Benutzer
 
Registriert seit: 06.02.2009
Beiträge: 5
MB1973 befindet sich auf einem aufstrebenden Ast
Standard horizontale darstellung von datanbankeinträgen

moin zusammen,
ich soll hier für nen bekannten eine art galerie basteln, in der jeweils drei bilder nebeneinander dargestellt werden. klickt man auf das erste bild, so kommt man auf eine beschreibungskarte zu dem bild. beide inhalte werden aus der datenbank gezogen.
vertikal habe ich es schon hinbekommen, siehe skript. nur leider bekomme ich das nicht nebeneinander hin. hat da einer ne idee und kann mir helfen?

hier das skript für die anordnung untereinander:

<?php
define("LISTNO", 3);
$max = LISTNO;


if(@mysql_connect($host, $user, $password))
{
if(@mysql_select_db($dbname))
{
if(!isset($anfang))
{
$sql = "SELECT id FROM wwtab;";
$erg = mysql_query($sql);
if($erg)
$anzahl = mysql_num_rows($erg);
else
{
$anzahl = 0;
$seiten = 0;
}
$anfang = 0;
}
if($anzahl > 0)
{
$sql = "SELECT * FROM wwtab ORDER BY id DESC LIMIT $anfang, $max;";
$erg = mysql_query($sql);
if($erg)
{
echo "\n";

while($row = mysql_fetch_array($erg))
{
print ("<table width=516 border=0>");
print ("<tr align=left valign=top>");
print ("<td class=art><a href=beschreibung.php>$row[name]</a>\n</td>");
print ("</tr>");
print ("<tr align=left valign=top>");
print ("<td class=hl><a href=beschreibung.php><img src=$row[bild] border=0></a>\n</td>");
print ("</tr>");
print ("<tr align=left valign=top>");
print ("<td class=art><a href=beschreibung.php>$row[ort]</a>\n</td>");
print ("</tr>");
print ("</table>");
}

$seite = 1 + ($anfang / LISTNO);
$anfang = 0;
if(($anzahl % LISTNO) == 0)
$seiten = (int)($anzahl / LISTNO);
else
$seiten = 1 + (int)($anzahl / LISTNO);
if($seiten > 1)
{
echo "<a href=\"index.php\" target=\"_self\" class=imp>[Erste Seite]</a>\n";
for($i=1; $i<=$seiten; $i++)
{
if($i==$seite)
echo "<a href=\"index.php?anfang=$anfang&anzahl=$anzahl\" class=imp><b>$i</b></a> ";
else
echo "<a href=\"index.php?anfang=$anfang&anzahl=$anzahl\" class=imp>$i</a> ";
$anfang += LISTNO;
}
$anfang -= LISTNO;
echo "<a href=\"index.php?anfang=$anfang&anzahl=$anzahl\" class=imp>[Letzte Seite]</a>";
}
}
}
else
{
echo "Noch keine Eintr&auml;ge in der Datenbank!\n";
}
}
}

?>
MB1973 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 06.02.2009, 14:53  
Erfahrener Benutzer
 
Benutzerbild von Screeze
 
Registriert seit: 04.01.2009
Beiträge: 844
PHP-Kenntnisse:
Fortgeschritten
Screeze wird schon bald berühmt werden
Standard

erstmal die php bb tags benutzen und den code in ne schöne form bringen. so hat doch keiner lust sich das anzuguggen
Screeze ist offline  
Alt 06.02.2009, 15:12  
Neuer Benutzer
 
Registriert seit: 06.02.2009
Beiträge: 5
MB1973 befindet sich auf einem aufstrebenden Ast
Standard

sorry, ich versuchs mal:

PHP-Code:
<?php
define
("LISTNO"3);
$max LISTNO;


if(@
mysql_connect($host$user$password))
{
if(@
mysql_select_db($dbname))
{
if(!isset(
$anfang))
{
$sql "SELECT id FROM wwtab;";
$erg mysql_query($sql);
if(
$erg)
$anzahl mysql_num_rows($erg);
else
{
$anzahl 0;
$seiten 0;
}
$anfang 0;
}
if(
$anzahl 0)
{
$sql "SELECT * FROM wwtab ORDER BY id DESC LIMIT $anfang, $max;";
$erg mysql_query($sql);
if(
$erg)
{
echo 
"\n";

while(
$row mysql_fetch_array($erg))
{
print (
"<table width=516 border=0>");
print (
"<tr align=left valign=top>");
print (
"<td class=art><a href=beschreibung.php>$row[name]</a>\n</td>");
print (
"</tr>");
print (
"<tr align=left valign=top>");
print (
"<td class=hl><a href=beschreibung.php><img src=$row[bild] border=0></a>\n</td>");
print (
"</tr>");
print (
"<tr align=left valign=top>");
print (
"<td class=art><a href=beschreibung.php>$row[ort]</a>\n</td>");
print (
"</tr>");
print (
"</table>");
}

$seite + ($anfang LISTNO);
$anfang 0;
if((
$anzahl LISTNO) == 0)
$seiten = (int)($anzahl LISTNO);
else
$seiten + (int)($anzahl LISTNO);
if(
$seiten 1)
{
echo 
"<a href=\"index.php\" target=\"_self\" class=imp>[Erste Seite]</a>\n";
for(
$i=1$i<=$seiten$i++)
{
if(
$i==$seite)
echo 
"<a href=\"index.php?anfang=$anfang&anzahl=$anzahl\" class=imp><b>$i</b></a> ";
else
echo 
"<a href=\"index.php?anfang=$anfang&anzahl=$anzahl\" class=imp>$i</a> ";
$anfang += LISTNO;
}
$anfang -= LISTNO;
echo 
"<a href=\"index.php?anfang=$anfang&anzahl=$anzahl\" class=imp>[Letzte Seite]</a>";
}
}
}
else
{
echo 
"Noch keine Eintr&auml;ge in der Datenbank!\n";
}
}
}

?>
aber der eigentlich interessante teil ist der folgende. ist auch kürzer:

PHP-Code:
while($row mysql_fetch_array($erg))
{
print (
"<table width=516 border=0>");
print (
"<tr align=left valign=top>");
print (
"<td class=art><a href=beschreibung.php>$row[name]</a>\n</td>");
print (
"</tr>");
print (
"<tr align=left valign=top>");
print (
"<td class=hl><a href=beschreibung.php><img src=$row[bild] border=0></a>\n</td>");
print (
"</tr>");
print (
"<tr align=left valign=top>");
print (
"<td class=art><a href=beschreibung.php>$row[ort]</a>\n</td>");
print (
"</tr>");
print (
"</table>");

solange was in der datenbank vorhanden ist, läuft die schleife weiter und fügt bei jedem durchlauf einen datensatz in die tabelle (zeilen mit print) anhand der ID. wenn ich jetzt drei tabellen nebeneinander setze, dann bleibt die ID ja leider gleich. Wenn ich die manuell um 1 erhöhe, dann macht er die erste zeile richtig. allerdings fängt er dann in der nächsten zeile beim zweiten eintrag an, was dann zu einer wiederholung führt.
MB1973 ist offline  
Alt 06.02.2009, 15:14  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Für den speziellen Fall: Einfach keine Tabelle benutzen! Sondern gefloatete <img> Tags bzw. <div>'s, die die Bilder enthalten.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 06.02.2009, 15:55  
Neuer Benutzer
 
Registriert seit: 06.02.2009
Beiträge: 5
MB1973 befindet sich auf einem aufstrebenden Ast
Standard ?

danke für den hinweis, aber so ganz kann ich da nicht folgen. wie erfolgt denn dann die verteilung links, mitte, rechts? wenn die db inhalte nach der id herausgezogen werden und sich diese jeweils um den nächsten eintrag erhöht, kann ich ja keine unterschiedlichen ausrichtungen in die schleife mit einbinden, da ja die schlefie ein statisches element (mit dynamischen inhalten) darstellt?
MB1973 ist offline  
Alt 06.02.2009, 15:59  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
wenn die db inhalte nach der id herausgezogen werden und sich diese jeweils um den nächsten eintrag erhöht, kann ich ja keine unterschiedlichen ausrichtungen in die schleife mit einbinden, da ja die schlefie ein statisches element (mit dynamischen inhalten) darstellt?
???
Code:
<style>
  div {width:500px; }
  img {width:150px;float:left;} /* 4 passen nicht nebeneinander ins div*/
</style>
...
<div>
  <img src=""><img src=""><img src=""><img src=""><img src="">...
</div>
Dein Script ist mir ehrlich gesagt zu unstrukturiert, um das jetzt analysieren zu wollen.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 06.02.2009, 17:31  
Erfahrener Benutzer
 
Benutzerbild von tomtaz
 
Registriert seit: 17.06.2008
Beiträge: 1.762
PHP-Kenntnisse:
Fortgeschritten
tomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig nett
tomtaz eine Nachricht über ICQ schicken tomtaz eine Nachricht über Skype™ schicken
Standard

Zudem ist das nicht fortgeschrittener Niveau...

Keine Code-Einrückung, einfach schrecklich...
__________________
Mfg Tomtaz
"Es soll jetzt diese Erfindung geben.... Kugel oder so heißt die. Ist so eine Art Suchmaschine..."
tomtaz ist offline  
Alt 06.02.2009, 17:34  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Uups, mal wieder übersehen. Danke.

[MOD: verschoben]
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 06.02.2009, 17:36  
Erfahrener Benutzer
 
Benutzerbild von tomtaz
 
Registriert seit: 17.06.2008
Beiträge: 1.762
PHP-Kenntnisse:
Fortgeschritten
tomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig nett
tomtaz eine Nachricht über ICQ schicken tomtaz eine Nachricht über Skype™ schicken
Standard

Zitat:
Zitat von nikosch Beitrag anzeigen
Uups, mal wieder übersehen. Danke.
Kann ja mal passieren...
__________________
Mfg Tomtaz
"Es soll jetzt diese Erfindung geben.... Kugel oder so heißt die. Ist so eine Art Suchmaschine..."
tomtaz ist offline  
Alt 06.02.2009, 17:39  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Passiert mir ständig, weil ich die Beiträge immer über "Neue Beiträge" absurfe und dann nicht aufs Forum achte.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] CSS - Span als horizontale Linie Baltasar HTML, Usability und Barrierefreiheit 4 23.01.2009 13:43
horizontale Navigation Centifolia0576 PHP Tipps 2009 2 09.01.2009 17:36
Horizontale 100% Div-Box mit padding rechts bzw links PsychoEagle HTML, Usability und Barrierefreiheit 8 17.04.2007 12:51
Horizontale Scrollbar erscheint wenn Vertikale auftaucht PsychoEagle HTML, Usability und Barrierefreiheit 7 20.06.2006 08:54
Darstellung 2 Dropdowns mit gegenseitiger Aktualisierung HTML, Usability und Barrierefreiheit 6 19.01.2006 17:07
readfile() zur Darstellung von Bildern? becks123 PHP-Fortgeschrittene 4 23.12.2005 11:30
netzwerküberwachung / darstellung hekto Server, Hosting und Workstations 5 18.08.2005 11:24
prob beim löschen von datensätzen und der darstellung danach PHP Tipps 2005-2 4 17.07.2005 21:42
Falsche Darstellung in Firefox und Problem mit Div größe HTML, Usability und Barrierefreiheit 7 14.07.2005 16:40
IE falsche darstellung von border eigenschaften HTML, Usability und Barrierefreiheit 1 20.06.2005 11:50
Darstellung mathematischer Ausdrücke in phpbb PHP Tipps 2005 27 20.04.2005 14:49
MYSQL Darstellung in PHP PHP Tipps 2005 2 03.04.2005 22:54
EchtZeit Darstellung mit PHP PHP Tipps 2004 28 17.06.2004 11:54
horizontale Linie <hr> HTML, Usability und Barrierefreiheit 4 04.06.2004 21:09
horizontale Linie &amp;lt;hr&amp;gt; HTML, Usability und Barrierefreiheit 0 04.06.2004 11:20

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
$anzahl = mysql_num_rows($erg);, php darstellung nebeneinander, sql einträge in die waagerechte bringen, sql echo horizontal, horizontale darstellung

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:14 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum