Inhalte per ID auslesen

Fohlenpower

Mitglied
Hallo,
habe da mal eine Frage. Ich möchte sehr gerne eine Übersicht erstellen in der er alle Inhalte aus einer Tabelle (MySQL) mit PHP abruft und anzeigen lässt. Das klappt auch soweit. Nun wollte ich (wie man unten im Code sieht) in der Spalte "Ansicht" einen Link erstellen wo man die kompletten Daten einer Zeile aufrufen kann.

PHP:
<?php 
include("../config.php");
print "<table width=\"82%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\">\n";
print "<tr><td bgcolor=\"#FF0000\" class=\"v2\" width=\"10%\" align=\"center\"><font color=\"#ffffff\" size=\"3\"><b>Datum</b></font></td>\n";
print "<td bgcolor=\"#FF0000\" class=\"v2\" width=\"35%\" align=\"center\"><font color=\"#ffffff\" size=\"3\"><b>Titel</b></font></td><td bgcolor=\"#FF0000\" class=\"v2\" width=\"35%\" align=\"center\"><font color=\"#ffffff\" size=\"3\"><b>Autor</b></font></td><td bgcolor=\"#FF0000\" class=\"v2\" width=\"15%\" align=\"center\"><font color=\"#ffffff\" size=\"3\"><b>Ansicht</b></font></td></tr>\n";
print "<tr><td class=\"v2\" width=\"25%\" align=\"center\"><font size=\"3\"></font></td>\n";
print "<td class=\"v2\" width=\"35%\" align=\"center\"><font size=\"3\"></font></td><td class=\"v2\" width=\"35%\" align=\"center\"><font size=\"3\"></font></td><td class=\"v2\" width=\"15%\" align=\"center\"><font size=\"3\"></font></td></tr>\n";
$queryx=mysql_query ("SELECT id, kategorie, titel, autor, beschreibung, DATE_FORMAT(datum, '%d.%m.%Y') datum2 FROM training where kategorie like 'Torwart' order by datum asc") or die(mysql_error()); 
while($klick = mysql_fetch_array($queryx)) 
{
print "<tr><td class=\"v2\" width=\"10%\" align=\"center\"><font size=\"3\">$klick[datum2]</font></td>\n";
print "<td class=\"v2\" width=\"35%\" align=\"center\"><font size=\"3\">$klick[titel]</font></td><td class=\"v2\" width=\"35%\" align=\"center\"><font size=\"3\">$klick[autor]</font></td><td class=\"v2\" width=\"15%\" align=\"center\"><a href=\"tw.php?&editid=$klick[id]\" target=\"_parent\">Ansicht</td></tr>\n";
}
print "</table>\n";
?>
Nun wollte ich fragen wie man das erstellen kann das nach dem Klick auf Ansicht (wenns geht aus diesem Code heraus) eine Seite erscheint die nur den Inhalt der entsprechenen Zeile anzeigt bzw. der Zeile mit der selben ID.
Könnt ihr mir da vielleicht helfen oder ein Beispiel posten?
Wäre sehr nett wenn ihr mir da helfen würdet.

Gruß
Christian
 
Hallo,
also als Erstes übergibst du per GET die ID des Eintrages, den du haben möchtest.
Dann frägst du einfach in deinem Script ab, ob die ID per GET übergeben worden ist. Wenn das der Fall ist, gibst du nur die Zeile aus mit der angegebenen ID (wie das geht kannst du hier nachlesen). Ist die ID nicht vorhanden, dann wird alles ausgegeben.

mfg
forsterm
 
Zuletzt bearbeitet:
Habe das ganze jetzt mal versucht zu erstellen nach der Beschreibung. Wo liegt mein Fehler ?

In der Ausgabe sehe ich nach Klick auf "Anzeige" nur $klick[datum].
Es sollte aber normal das Datum aus der jeweiligen Zeile erscheinen die er per ID erkennt.


PHP:
<?php

$linkedit="";

if (isset($editid)) {
	
	$linkedit="&editid=$editid";
	
	include("../config.php");

	$edit=mysql_query("SELECT * FROM training WHERE id='$klick[id]'");
		
	echo'
$klick[datum]
';
	
}

?>
<?php 
include("../config.php");
print "<table width=\"82%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\">\n";
print "<tr><td bgcolor=\"#FF0000\" class=\"v2\" width=\"10%\" align=\"center\"><font color=\"#ffffff\" size=\"3\"><b>Datum</b></font></td>\n";
print "<td bgcolor=\"#FF0000\" class=\"v2\" width=\"35%\" align=\"center\"><font color=\"#ffffff\" size=\"3\"><b>Titel</b></font></td><td bgcolor=\"#FF0000\" class=\"v2\" width=\"35%\" align=\"center\"><font color=\"#ffffff\" size=\"3\"><b>Autor</b></font></td><td bgcolor=\"#FF0000\" class=\"v2\" width=\"15%\" align=\"center\"><font color=\"#ffffff\" size=\"3\"><b>Ansicht</b></font></td></tr>\n";
print "<tr><td class=\"v2\" width=\"25%\" align=\"center\"><font size=\"3\"></font></td>\n";
print "<td class=\"v2\" width=\"35%\" align=\"center\"><font size=\"3\"></font></td><td class=\"v2\" width=\"35%\" align=\"center\"><font size=\"3\"></font></td><td class=\"v2\" width=\"15%\" align=\"center\"><font size=\"3\"></font></td></tr>\n";
$queryx=mysql_query ("SELECT id, kategorie, titel, autor, beschreibung, DATE_FORMAT(datum, '%d.%m.%Y') datum2 FROM training where kategorie like 'Torwart' order by datum asc") or die(mysql_error()); 
while($klick = mysql_fetch_array($queryx)) 
{
print "<tr><td class=\"v2\" width=\"10%\" align=\"center\"><font size=\"3\">$klick[datum2]</font></td>\n";
print "<td class=\"v2\" width=\"35%\" align=\"center\"><font size=\"3\">$klick[titel]</font></td><td class=\"v2\" width=\"35%\" align=\"center\"><font size=\"3\">$klick[autor]</font></td><td class=\"v2\" width=\"15%\" align=\"center\"><a href=\"tw.php?&editid=$klick[id]\" target=\"_parent\">Ansicht</td></tr>\n";
}
print "</table>\n";
?>
 
Erstmal solltest Du Dir angewoehnen, dass Du Strings als solche kennzeichnest.
Also nicht so:
PHP:
$mein_array[mein_index]
sondern so:
PHP:
$mein_array['mein_index']

Zum anderen werden die Werte nicht mit den von Dir erwarteten Namen uebergeben.
Dein Link tw.php?&editid=$klick[id] erzeugt Dir einen Index namens editid in $_GET ($_GET hatte ich auch vorhin schon erwaehnt, und das solltest Du besser auch nutzen) und nicht einen Array namens $klick mit dem Index id.
Ausserdem ist das & nach dem ? ueberfluessig wenn nicht sogar falsch.
 
Hab den unteren Teil folgendermaßen gestaltet:
PHP:
<a href=\"tw2.php?id=$klick[id]\" onclick=\"fenster();return false;\">Ansicht</a>
Und eine weitere Seite erstellt auf der er die IP abfragt
PHP:
include("../config.php");{
$select1=mysql_query("SELECT  .... where id='$id'");
$hol=mysql_fetch_array($select1);
 
Zurück