# PHP-generierte Tabelle formatieren



## piumer (7. April 2004)

Hallo,

ich möchte gern eine Tabelle, die von PHP und MySQL generiert wird,
formatieren. Doch wie ich das vor habe, klappt es nicht:

Hier die Tabelle:


```
// Ansonsten gib gewünschte Daten aus Usertabelle
	else
	{
		printf( "<div align=center>\n");
		printf( "<table border=0 >\n");
		printf( "<tr>\n");
			printf( "<th>UserID</th>\n");
			printf( "<th>Name</th>\n");
			printf( "<th>Vorname</th>\n");
			printf( "<th>UserName</th>\n");
			printf( "<th>UserPasswd</th>\n");
			printf( "<th>Url</th>\n");
		printf( "</tr>\n");
	
	$i = 0;
	while ($i < mysql_NumRows($query))
	{
		// Auslesen der Daten aus der User-Tabelle:
		$UserID       = mysql_Result($query, $i, "UserId");
		$Name         = mysql_Result($query, $i, "Name");
		$Vorname      = mysql_Result($query, $i, "Vorname");
		$UserName     = mysql_Result($query, $i, "UserName");
		$UserPasswd   = mysql_Result($query, $i, "UserPasswd");
		$url          = mysql_Result($query, $i, "url");
		
		printf( "<tr>\n");
			printf( "<td>%s</td>\n", $UserID);
			printf( "<td>%s</td>\n", $Name);
			printf( "<td>%s</td>\n", $Vorname);
			printf( "<td>%s</td>\n", $UserName);
			printf( "<td>%s</td>\n", $UserPasswd);
			printf( "<td>%s</td>\n", $url);
		printf( "</tr>");
		$i++;
	}
	printf( "</table>\n");
	}
	?></td>
    <td width="20%">&nbsp;</td>
  </tr>
</table>
```

So wollte ich es formatieren, doch dann gibt es die Fehlermeldung

Parse error: parse error, unexpected T_STRING:


```
...
printf( "<table border=0 >\n");
		printf( "<tr Font face="Verdana, Arial, Helvetica, sans-serif">\n");
			printf( "<th>UserID</th>\n");
			printf( "<th>Name</th>\n");.
................
```

Kann mir jemand sagen, wie ich das richtig mache?

Vielen Dank, MfG piumer


----------



## Shaddow (7. April 2004)

wenn du printf oder echo nimmst, dann musst du den auszugebenen text ja in " setzten.

wenn du aber bei font-face auch " nutz, dann gibt er dir an dieser stelle nen fehler aus. mach mal aus den " bei der schriftformatierung ', dann müsste es gehen!


----------



## Martys (7. April 2004)

um mit PHP HTML auszugeben musst Du die Anführungszeichen "escapen".


```
printf( "<tr Font face=\"Verdana, Arial, Helvetica, sans-serif\">\n");
```

So long,

Martys


----------



## piumer (7. April 2004)

*passiert nix!*

Das mit dem escapen hab ich probiert, Fehler ist weg, aber es passiert irgendwie nix.

Ich möchte die Schrift und das in etwas kleiner:


```
printf( "<tr Font face=\"Verdana, Arial, Helvetica, sans-serif\" font size=\"-2\">\n");
```

Aber da tut sich nix


----------



## Martys (7. April 2004)

An deiner Stelle würde ich die Formatierung mit CSS vornehmen und der Tabellenzeile eine Klasse zuweisen:


```
printf( "<tr class=\"fett\">\n");
```

und dies im Head:


```
<style type="text/css">

.fett {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 12px;
}

</style>
```

Martys


----------



## piumer (7. April 2004)

*Jau, so geht es*

Genau so hab ich es gemacht, Dein Tip kam leider etwas zu spät! Aber ich Danke euch/Dir trotzdem. Jetzt klappt es prima!

Gruß, bis bald, piumer


----------



## Karl Förster (7. April 2004)

*Re: passiert nix!*



> _Original geschrieben von piumer _
> *Das mit dem escapen hab ich probiert, Fehler ist weg, aber es passiert irgendwie nix.
> 
> Ich möchte die Schrift und das in etwas kleiner:
> ...



Nur nochmal zur Vollständigkeit:
Der Code da kann auch nicht funktionieren ... es fehlt die Hälfte. So würde es gehen:

```
echo "<tr><font face=\"Verdana\" size=\"-2\">\n";
```

Aber ich würde es auch eher mit CSS machen da das Font-Tag veraltet ist.


----------



## piumer (8. April 2004)

*AHA!*

Ach ja, stimmt, wenn ich schon font face habe, brauche ich nur noch size ohne font davor. Jetzt weiss ich, wieso es nicht geklappt hat. Aber mit CSS ist es wirklich einfacher und schneller und einfach besser!

Trotzdem danke für den Hinweis!

Gruß, piumer


----------

