Datensatz auslesen und anzeigen
Jens
- datenbank
0 Philipp Hasenfratz0 Jens
0 Philipp Hasenfratz0 Jens
Hallo,
ich habe ein MySQL DB. In dieser sind viele Datensätze gespeichert. Nun habe ich es so gemacht, dass ich mir die Überschrift anzeigen lasse und dahinter einen anzeigen Button hab. Wenn ich auf diesen Button klicke, soll er mir alle Daten aus diesem Datensatz anzeigen.
Jeder Datensatz hat eine eigene id.
Kann mir jemand ein paar Tips geben wie ich das lösen kann ???
MfG
Jens
Halihallo Jens
Kann mir jemand ein paar Tips geben wie ich das lösen kann ???
Für eine programmiersprachliche Lösung wäre der Hinweis auf die Programmiersprache von
grossem Nutzen.
Viele Grüsse
Philipp
Sorry, hatte ich vergessen. Also. DB = mySQL und PHP
MfG
Jens
Halihallo Jens
ich habe ein MySQL DB. In dieser sind viele Datensätze gespeichert. Nun habe ich es so gemacht, dass ich mir die Überschrift anzeigen lasse und dahinter einen anzeigen Button hab.
Erstmal: Daten von der DB abholen,
Dann: Daten ausgeben.
Wenn ich auf diesen Button klicke, soll er mir alle Daten aus diesem Datensatz anzeigen.
Das entspäche dann einem submit-Button, oder einem ganz normalen Link.
Dem Formular bzw. dem Link hängst du die eindeutige ID des Datensatzes an, sodass das
Anzeige-Script weiss, welcher Datensatz geladen werden soll.
Kann mir jemand ein paar Tips geben wie ich das lösen kann ???
für MySQL: http://ch.php.net/manual/de/ref.mysql.php, "Beispiele:"
Viele Grüsse
Philipp
Also so ungefähr:
Daten anzeigen hab ich über folgendes Script:
<?
mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbloungefn);
$result=mysql_query("select * from tabelle_loungefn_cocktails ORDER BY cocktailname desc");
?>
<?
while($rs=mysql_fetch_object($result))
{
echo '<tr align="center">
<form enctype="multipart/form-data" method="post" action="loungefn_rezepte_anzeigen.php">
<td><font size="2"><strong><font face="Verdana, Arial, Helvetica, sans-serif">',$rs->cocktailname,'</font></strong></font></td>
<input type="hidden" name="id" value="',$rs->id.'" />
<td><input type="submit" name="senden" value="show"></td></form>
</tr>';
?></td>
Damit wird die Überschrift ohne Probleme angezeigt. Und der Button ist auch da.
Übergabe der id :
<input type="hidden" name="id" value="',$rs->id.'" />
geht das so ???
Seite zum anzeigen der gesamten Daten:
<?
mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbloungefn);
$result=mysql_query("select * from tabelle_loungefn_cocktails by id");
?>
zwecks Abfrage der Daten nach der id ???
MfG
Jens
Halihallo Jens
auch einige zusätzliche Tipps:
<?
while($rs=mysql_fetch_object($result))
{
echo '<tr align="center">
<form enctype="multipart/form-data" method="post" action="loungefn_rezepte_anzeigen.php">
<td><font size="2"><strong><font face="Verdana, Arial, Helvetica, sans-serif">',$rs->cocktailname,'</font></strong></font></td>
<input type="hidden" name="id" value="',$rs->id.'" />
<td><input type="submit" name="senden" value="show"></td></form>
</tr>';
?></td>
Ich halte es etwas für unglücklich, dass bei jedem Datensatz ein neues Formular generiert
wird. Zudem: <font>-Element ist überholt durch CSS-Style-Sheets. Der Übersichtshalber
solltest du die String-Concattenation-Operatoren (, und .) nicht mischen.
<input type="hidden" name="id" value="',$rs->id.'" />
geht das so ???
Ja, wobei mir
'.$rs->id.'
besser gefällt, als
',$rs->id.'
s. oben.
<?
mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbloungefn);
$result=mysql_query("select * from tabelle_loungefn_cocktails by id");
?>
Verwende nach jeder Interaktion mit der Datenbank eine Fehlerüberprüfung.
http://www.php.net/mysql_error, dann hättest du gemerkt, dass dies ein Syntax-
Error ergeben wird.
Die korrekte Abfrage könnte wie folgt lauten:
"SELECT feld1,feld2,...
FROM
tabelle_loungefn_cocktails
WHERE
id=$_POST[id]"
für feld1,feld2,... setzt du die zu selektierenden Felder ein.
zwecks Abfrage der Daten nach der id ???
Wenn du sie selektieren möchtest, musst du dies auch tun. Die WHERE-Klausel ist dafür
gedacht.
Viele Grüsse
Philipp
Danke. Es funktioniert. Die Formatierung änder ich sowieso noch und generiere es in CSS.
MfG
Jens