Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

mysql-abfrage -> html table

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
nerd
PostRank 10
PostRank 10
Beiträge: 4023
Registriert: 15.02.2005, 04:02

Beitrag von nerd » 13.01.2006, 18:40

hallo;

kämpfe hier gerade mit einem cms welches angepasst werden muss ("nur noch 2 spalten mehr in die db und anzeigen lassen, dann passt es...").
also es geht darum das ich eine abfrage habe, und deren inhalt nun angezeigt werden soll. bevor ich nochmal ewig lang den code zusammensuche (wird aus mind. 3 includes zusammengesetzt, geht noch diverse abfragen durch um die settings für die darstellung einzulesen usw. - und ich dachte schon mein code wäre nicht besonders performant...).

ich glaub es ist praktischer wenn ich das ganze neu schreibe. hat zufällig jemand eine funktion die aus einem sql-string eine tabelle zaubert? irgendwie komme ich nicht dahinter wie ich aus dem recordset die spaltentitel auslesen kann...

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Cole
PostRank 3
PostRank 3
Beiträge: 97
Registriert: 10.07.2005, 18:26

Beitrag von Cole » 13.01.2006, 22:40

Verstehe ich dich richtig und du willst nicht einfach nur das Ergebnis einer SQL-Abfrage
in Form einer Tabelle ausgeben sondern auch die Spaltentitel der SQL-Tabelle automatisch
als Spaltentitel der HTML-Tabelle?

In dem Fall könntest du das Ergebnis des Query ja per mysql_fetch_array()
in einen Array umwandeln und die Keys des Arrays wären dann die
Spaltentitel. Fertiges Script hab ich dafür grad nicht auf Lager, aber mit
einem bisschen Hilfe von php.net sollte das eigentlich kein Problem sein ;)

Wobei man die Spaltentitel in der DB ja eher selten so benennt wie man sie
nachher auch ausgeben will, wäre also imho viel einfacher die erst manuell
auszugeben und dann nur noch die Inhalte.

nerd
PostRank 10
PostRank 10
Beiträge: 4023
Registriert: 15.02.2005, 04:02

Beitrag von nerd » 16.01.2006, 00:42

falls jemand dafür verwendung hat, wars nett mich anzuschreiben und ihr platziert dann einen link für mich - danke!

Code: Alles auswählen

function hyperlink($text) {
	$text = ereg_replace&#40;"&#91;a-zA-Z&#93;+&#58;//&#40;&#91;-&#93;*&#91;.&#93;?&#91;a-zA-Z0-9_/-?&%&#93;&#41;*", "<a href=\"\\0\">\\0</a>", $text&#41;;
	$text = ereg_replace&#40;"&#40;^| &#41;&#40;www&#40;&#91;-&#93;*&#91;.&#93;?&#91;a-zA-Z0-9_/-?&%&#93;&#41;*&#41;", "\\1<a href=\"http&#58;//\\2\">\\2</a>", $text&#41;;
	return $text;
&#125;

function sql2table&#40;$sql&#41; &#123;
	global $db;
	$out = "";
	$th = "";
	$th = "";
	$thset=0;
	$erg = $db->query&#40;$sql&#41;;
	while &#40;$res = $db->getdata&#40;$erg&#41;&#41; &#123;
		$td .= "<tr>"."\n";
		foreach&#40;$res as $key => $value&#41; &#123;
			if&#40;$thset==0&#41; &#123;
				$th .= '<td class="productListing-heading">'.$key.'</td>'."\n";
			&#125;
			$td .='<td class="productListing-data">'.$value.'</td>'."\n";
		&#125;
		$td .= "</tr>"."\n";
		$thset=1;
	&#125;
	$th = "<tr>".$th."</tr>"."\n";
	$out = '<table class="productListing" width="100%">'.$th.$td.'</table>'."\n";
	$out = hyperlink&#40;$out&#41;;
	return $out;
&#125;


//beispiel&#58;

$db = new database&#40;&#41;;
$sql = "SELECT artikel_name AS Name, artikel_preis as Einzelpreis FROM tbl_artikel ";
echo sql2table&#40;$sql&#41;;

statt auf $db zuzugreifen einfach auf eurer eigene db-resource zugreifen; oder schreibt mich an und ich schick euch den rest.

falls jemand verbesserungsvorschläge hat: immer her damit, bin ja lernfähig :D

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag