Tabellen von mysql erstellen lassen

  • Themenstarter Themenstarter dandy
  • Beginndatum Beginndatum
D

dandy

Meine Frage dürfte für dich ein leichtes sein aber bei mir wills nicht funzen...

ich hab ne tabelle. die hat die felder: id, name, url, beschreibung.
und ich will die daten in einer tabelle in php ausgeben lassen die automatisch erzeugt wird, das heisst je nach anzahl der einträge mit der jeweiligen id.

Lange rede kurzer sinn: php muss eine tabelle erzeugen die soviele spalten wie meine datenbank gefundene daten hat und diese füllen


THX fürs durchlesen.
ich hoffe ihr könnt mir helfen
 
Wie wärs mit sowas:

$query = mysql_query( "SELECT * FROM table" );

echo( '<table>' );
for( $i = 0; $i < mysql_num_rows( $query ); $i++ ) {
$array = mysql_fetch_row( $query );
echo( '<tr>' );
for( $j = 0; $j < count( $array ); $j++ ) {
echo( '<td>'.$array[$j].'</td>' );
}
echo( '</tr>' );
}
echo( '</table>' );

Sieht nicht schön aus, aber tut.
BTW: ist ungetestet!

Gruss
Alki
 
ich hab das so gemacht:
Code:
<?php
     include ("db_config.inc.php3");
     $query = "select nick, Rang, name, Herkunft, Anbindung, icq, email from akmember order by Rang";
     $result = mysql_query($query,$link);
?>
die db_config.inc.php3 is zum herstellen der mysql verbindung.
Code:
<?php
     echo "<tr>";
     echo "<th width=\"10%\">" . "Nick" . "</th>";
     echo "<th width=\"10%\">" . "Rang" . "</th>";
     echo "<th width=\"10%\">" . "Name" . "</th>";
     echo "<th width=\"10%\">" . "Herkunft" . "</th>";
     echo "<th width=\"10%\">" . "Anbindung" . "</th>";
     echo "<th width=\"10%\">" . "icq" . "</th>";
     echo "<th width=\"10%\">" . "E-mail" . "</th>";
     echo "</tr>\n";

     while ($row = mysql_fetch_array($result)){
                echo "<tr>";
                echo "<td><font size=\"2\">" . $row["nick"] . "</font></td>";
                echo "<td align=\"center\"><font color=\"#ffffff\" size=\"2\">" . $row["Rang"] . "</font></td>";
                echo "<td><font size=\"2\">" . $row["name"] . "</font></td>";
                echo "<td><font size=\"2\">" . $row["Herkunft"] . "</font></td>";
                echo "<td><font size=\"2\">" . $row["Anbindung"] . "</font></td>";
                echo "<td><font size=\"2\">" . $row["icq"] . "</font></td>";
                echo "<td><font size=\"2\">" . "<a href=\"mailto:" . $row["email"] . "\">" . $row["email"] . "</a>" .  "</font></td>";
                echo "</tr>\n";
        }

?>
so das ist zum auslesen der aktuellen member aus einer db.
die emailadresse wird automatisch gelinkt.
den letzten teil nochmal einfacher:
Code:
<?php
     echo "<tr>";
     echo "<th width=\"10%\">" . "Nick" . "</th>";
     echo "<th width=\"10%\">" . "Rang" . "</th>";
     echo "<th width=\"10%\">" . "Name" . "</th>";
     echo "<th width=\"10%\">" . "Herkunft" . "</th>";
     echo "<th width=\"10%\">" . "Anbindung" . "</th>";
     echo "<th width=\"10%\">" . "icq" . "</th>";
     echo "<th width=\"10%\">" . "E-mail" . "</th>";
     echo "</tr>\n";

     while ($row = mysql_fetch_array($result)){
                echo "<tr>";
                echo "<td>" . $row["nick"] . "</td>";
                echo "<td>" . $row["Rang"] . "</td>";
                echo "<td>" . $row["name"] . "</td>";
                echo "<td>" . $row["Herkunft"] . "</td>";
                echo "<td>" . $row["Anbindung"] . "</td>";
                echo "<td>". $row["icq"] . "</td>";
                echo "<td>" . $row["email"] . "</td>";
                echo "</tr>\n";
        }

?>
ich will damit eigentlich nur sagen das eine while schleife geeigneter ist
 
Yo, while-Schleife mag angebrachter sein. Aber bei deinem Beispiel bist du an den Inhalt der db gebunden, also kannst keine variable Anzahl von Spalten unterbringen.

Gruss
Alki
 
Yo, while-Schleife mag angebrachter sein. Aber bei deinem Beispiel bist du an den Inhalt der db gebunden, also kannst keine variable Anzahl von Spalten unterbringen.
will er doch.
er will so viele spallten wie einträge ausgelesen werden. das wird bei meiner version doch erfüllt.
er wollte ja automatisch so viele spallten wie einträge ohne variable oder???
Es sind so viel spallten wie einträge.
wo ist das problem?
 
Angenommen man würde der Tabelle noch ein zusätzliches Feld hinzufügen - das würde nicht angezeigt werden.

Gruss
Alki
 
jo stimmt aber dat kann er ja machen wie er will ging mir ja nur um die while schleife ;)
 
Angenommen man würde der Tabelle noch ein zusätzliches Feld hinzufügen - das würde nicht angezeigt werden

Normalerweise legt man seine Tabellenstruktur (also die Anzahl der Spalten ) irgendwann mal fest,
und die wird nicht dynamisch verändert.
Veränderbar ist normalerweise die Anzahl der Reihen (also der Datensätze)

Wenn man die Tabellenstruktur nachträglich ändert, muss man eben auch das Skript ändern.

Eine andere Möglichkeit wäre, die Spalten nicht absolut zu benennen ( $row['name'] ) sondern relativ: $row[0...n] (so wie von alki beschrieben)
Hier kann man dann wieder über eine Schleife die Werte solange ausgeben, wie Werte in den Feldern (Spalten) stehen....

einziges Problem: die Spalten müssen vom ersten Feld an gefüllt sein.
Ist zwischendrin ein Feld leer werden Felder in den Spalten dahinter nicht mehr erkannt.

Gruß
Dunsti
 
Normalerweise legt man seine Tabellenstruktur (also die Anzahl der Spalten ) irgendwann mal fest,
und die wird nicht dynamisch verändert.
Veränderbar ist normalerweise die Anzahl der Reihen (also der Datensätze)

Das mag ja stimmen... Aber vielleicht möchte man ja eine kleine Funktion schreiben, die eine beliebige Query in einer Tabelle ausgibt...
Da ist dann eine solche Flexibilität von Vorteil.

Gruss
Alki
 
Zurück