| | | | |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Gast
Beiträge: n/a
| Lösung: Du verwendest für die Ausgabe eine Tabelle: Code: $q=mysql_query("SELECT feld FROM tabelle WHERE 1 ORDER BY irgendwas");
$spalten=4;
$anzahl=mysql_num_rows($q);
$durchlaeufe=$anzahl+$spalten-($anzahl%$spalten);
echo "<table border=\"0\">";
for($i=0;$i<$durchlaeufe;$i++) {
if(!(list($feld)=mysql_fetch_row($q)))
$feld="";
if(!($i%$spalten))
echo "<tr>";
echo "<td>$feld</td>";
if(($i%$spalten)==($spalten-1))
echo "</tr>";
}
echo "</table>";
Die Schleife muss in der Häufigkeit $spalten*x durchlaufen, in diesem Fall also 4 mal, 8 mal, 12 mal etc., damit abschließende <tr>-Tags gewährleistet sind. Ungetestet! |
| | |
| Gast
Beiträge: n/a
| puuh. die Art der Programmierung ist mir schon arg schwer. vielleicht seh ich den Fehler auch nicht, und es wäre nett, wenn ihr mich drauf hinweist. Bisher sieht mein Code so aus: Code: <?
mysql_connect("localhost",
"root","") or die
("Keine Verbindung moeglich");
mysql_select_db("songtexte") or die
("Die Datenbank existiert nicht");
$abfrage = "SELECT * FROM lyrics";
$ergebnis1 = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis1))
{
echo $row->name;
echo $row->vor;
echo ''.$row->titel.'';
echo $row->album;
echo "<h2></h2>";
}
?>
Code: <?
mysql_connect("localhost",
"root","") or die
("Keine Verbindung moeglich");
mysql_select_db("songtexte") or die
("Die Datenbank existiert nicht");
$q=mysql_query("SELECT * FROM lyrics");
$spalten=4;
$anzahl=mysql_num_rows($q);
$durchlaeufe=$anzahl+$spalten-($anzahl%$spalten);
echo "<table border=\"0\">";
for($i=0;$i<$durchlaeufe;$i++) {
if(!(list($feld)=mysql_fetch_row($q)))
$feld="";
if(!($i%$spalten))
echo "<tr>";
echo "<td>$feld</td>";
if(($i%$spalten)==($spalten-1))
echo "</tr>";
}
echo "</table>";
?>
|
| | |
| Gast
Beiträge: n/a
| Damit es erstmal wie gewünscht funktioniert, ist lediglich folgendes zu sagen: Wende niemals ein "SELECT *" an, sondern gib die Felder komma-separiert an, die du erhalten möchtest: "SELECT feld1, feld2, ... FROM tabelle..." Das hat überzeugende Gründe und keine Nachteile. Nehmen wir an, du möchtest aus deiner Tabelle den Vor- und Nachnamen jedes Datensatzes haben. Das bewerkstelligst du so: Code: SELECT vorname, nachname FROM tabelle Code: list($vorname, $nachname)=mysql_fetch_row($q); Mit diesen Variablen kannst du dann in deiner Schleife arbeiten, sie z.B. ausgeben. Das sind die einzigen Unterschiede zu deiner Vorgehensweise, die Daten aus der Datenbank zu holen. Der Rest ist das dynamische Aufbauen einer Tabelle und das Darstellen der Datenbankinhalte. |
| | ||
| Gast
Beiträge: n/a
| hmm, das is mir schon soweit klar. er zeigt mir aber bei folgemdem code: Code: <?
mysql_connect("localhost",
"root","") or die
("Keine Verbindung moeglich");
mysql_select_db("songtexte") or die
("Die Datenbank existiert nicht");
$q=mysql_query("SELECT vor, name, titel, album FROM lyrics");
$spalten=4;
$anzahl=mysql_num_rows($q);
$durchlaeufe=$anzahl+$spalten-($anzahl%$spalten);
echo "<table border=\"0\">";
for($i=0;$i<$durchlaeufe;$i++) {
if(!(list($feld)=mysql_fetch_row($q)))
$feld="";
if(!($i%$spalten))
echo "<tr>";
echo "<td>$feld</td>";
if(($i%$spalten)==($spalten-1))
echo "</tr>";
}
echo "</table>";
?>
Meine DB ist so aufgebaut: Zitat:
bei der Abfrage sollen alle spalten abgefragt werden und auch so wie sie in der DB sind wieder in der Tabelle angezeigt werden (ausser TEXT), sortiert nach dem NAMEN. bloss in dem Code den du mir gegeben hast, ist eine wichtige Funktion meines Codes verloren gegangen die ich unbedingt brauche: und zwar das der Titel als LINK erscheint, der bei Klick den TEXT öffnet. Mann, bin ich doof | |
| | ||
| Gast
Beiträge: n/a
| Zitat:
Code: if(!(list($feld)=mysql_fetch_row($q))) Code: if(!(list($vorname, $name, $titel, $text, $album)=mysql_fetch_row($q))) Die Verlinkung kannst du wie in deinem eigenen Beispiel setzen. Das Ding musst du halt umbauen: Code: echo ''.$row->titel.''; // dein vorheriger Code | |
| | |
| Gast
Beiträge: n/a
| Code: <?
mysql_connect("localhost",
"root","") or die
("Keine Verbindung moeglich");
mysql_select_db("songtexte") or die
("Die Datenbank existiert nicht");
$q=mysql_query("SELECT vor, name, titel, album FROM lyrics");
$spalten=4;
$anzahl=mysql_num_rows($q);
$durchlaeufe=$anzahl+$spalten-($anzahl%$spalten);
echo "<table border=\"0\">";
for($i=0;$i<$durchlaeufe;$i++) {
if(!(list($vor, $name, $titel, $album)=mysql_fetch_row($q)))
$feld="";
if(!($i%$spalten))
echo "<tr>";
echo "<td>$vor, $name, $titel, $album</td>";
if(($i%$spalten)==($spalten-1))
echo "</tr>";
}
echo "</table>";
?>
Ich weiss ich nerve, weiss aber nicht wenn ich sonst fragen kann... DANKE |
| | ||
| Erfahrener Benutzer | Zitat:
__________________ Was ist validität? | |
| |
| | |
| Gast
Beiträge: n/a
| @fantast Nachteile: 1. Veränderungen der Tabellenstruktur ziehen manuelle Veränderungen im Skript nach sich. Schon bei einer kleineren Skriptmenge ist das sehr aufwändig. Außerdem bei häufig fehlenden Dokumentationen sehr unüberschaubar. 2. Aus größeren Tabellen will man meistens nicht alles zurückgeliefert bekommen. Damit leidert die Performance je nach Datenbankfülle. Das sollte reichen :) |
| | ||
| Gast
Beiträge: n/a
| Zitat:
| |
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| match, against: ergebnisse filtern | DarkThunder | Datenbanken | 4 | 30.03.2007 10:51 |
| Probleme bei Speicherung von serialize() Strings | Manni2k | PHP Tipps 2006 | 13 | 15.10.2006 15:06 |
| Probleme mit mbstring extension unter Debian | HStev | Server, Hosting und Workstations | 3 | 30.08.2006 20:55 |
| Probleme bei der Installation von Turck MMCache | tomx992 | PHP-Fortgeschrittene | 2 | 27.09.2005 20:31 |
| Probleme beim Datenupload zu meiner Datenbank | Datenbanken | 3 | 05.09.2005 19:47 | |
| Häufigste Ergebnisse auslesen | PHP Tipps 2005-2 | 3 | 14.08.2005 18:56 | |
| Probleme mit Sonderzeichen... | Datenbanken | 1 | 02.08.2005 23:37 | |
| probleme mit streams bei proc_open | PHP-Fortgeschrittene | 1 | 27.06.2005 12:19 | |
| [Erledigt] hilfe! probleme mit... | PHP Tipps 2005 | 4 | 12.04.2005 22:55 | |
| [Erledigt] CSV Größe macht Probleme mit php | PHP Tipps 2005 | 5 | 15.03.2005 21:29 | |
| Ergebnisse in einer anderen Spalte ausgeben | PHP Tipps 2005 | 10 | 10.02.2005 10:13 | |
| [Erledigt] MYSQL Abfrage -> Ergebnisse auf anzahl per seite begrenze | PHP Tipps 2004-2 | 2 | 21.11.2004 21:28 | |
| [Erledigt] Technische Probleme mit Sessions | PHP-Fortgeschrittene | 4 | 18.11.2004 14:45 | |
| Ergebnisse von Abfragen einer Email zuweisen? | PHP Tipps 2004 | 3 | 24.06.2004 16:57 | |
| PHP Bilder in DB / Probleme bei Änderung | PHP-Fortgeschrittene | 1 | 05.06.2004 11:20 | |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| select * nach name anordnen |

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.