PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : daten aus myaql db lesen


iberican
22.08.2004, 14:51:21
hi, habe ein problem das ich nicht lösen kann.
bin gerade daran in dreamweaver eine dynamische seite zu bauen die aus einem dynamischen menü links und einer inhaltstabelle recht steht.

auf der linken seite werden die links dynamisch aus einer tabelle ausgelesen.
***
<?php do { ?>
<a href="tagebuch.php?<?php echo $row_chronik['ID']; ?>=<?php echo $row_chronik['ID']; ?>" class="menu" ><?php echo $row_navi_chronik['day']; ?></a>
<?php } while ($row_navi_chronik = mysql_fetch_assoc($navi_chronik)); ?></td>
***

jeder eintrag ist ein tag der nun recht den zugehörigen bericht zum tag anzeigen soll.

die inhaltstabelle rechts hat mehrere zellen

die alle ähnlich aussehen
***
<?php echo $row_chronik['content']; ?>
<?php echo $row_chronik['headline']; ?>
***
es ändert sich logischerweiße immer das abzufragende feld der datenbank.

nun ist es aber so dass immer nur der bericht des ersten tages angezeigt wird .
die links sind zwas alle verschieden

/tagebuch.php?2004-08-29=1
/tagebuch.php?2004-09-01=1

etc...

jedoch ist die id =1 immer die selbe id ist in der datenbank das erste feld.

es müsste eigentlich heißen
/tagebuch.php?2004-09-01=2

weil ich will ja den zweiten eintrag aus der datenbank auslesen und nicht immer den ersten.

vielen dank für hilfe

yozek
22.08.2004, 14:59:46
Wie sieht denn die mySQL Abfrage aus?

Habe deine Schwierigkeit nur recht schwer verstanden, aber vermute es liegt einfach mit der SQL Abfrage ab!

Damit der Zweite Eintrag angezeigt wird, dann einfach mit LIMIT 1,1 arbeiten, so wird der zweite Eintrag gezeigt

HTH

iberican
22.08.2004, 15:06:00
zu zu jedem link soll der entsprechende eintrag jedoch wird immer nur der erste aus der datenbak gelesen. es müsste quasi gefiltert werden..

ich muss quasi einbauen das zu link y bericht y in der da gelesen wird und zu link x bericht x gelesen wird..etc.

hier vieleicht mal noch der quellcode zu beginn der seite.

<?php require_once('Connections/florida_connection.php'); ?>
<?php
$colname_chronik = "1";
if (isset($_GET['CONT_ID'])) {
$colname_chronik = (get_magic_quotes_gpc()) ? $_GET['CONT_ID'] : addslashes($_GET['CONT_ID']);
}
mysql_select_db($database_florida_connection, $florida_connection);
$query_chronik = sprintf("SELECT ID, `day`, headline, content, image, Unterkunft, `Preis pro Nacht`, Empfehlungen FROM chronik WHERE ID = %s", $colname_chronik);
$chronik = mysql_query($query_chronik, $florida_connection) or die(mysql_error());
$row_chronik = mysql_fetch_assoc($chronik);
$totalRows_chronik = mysql_num_rows($chronik);

mysql_select_db($database_florida_connection, $florida_connection);
$query_navi_chronik = "SELECT `day` FROM navi_chronik";
$navi_chronik = mysql_query($query_navi_chronik, $florida_connection) or die(mysql_error());
$row_navi_chronik = mysql_fetch_assoc($navi_chronik);
$totalRows_navi_chronik = mysql_num_rows($navi_chronik);
?>

yozek
22.08.2004, 18:16:11
Formuliere bitte deine Frage neu und verständlich..

Hast du den Zug durch den Bahnhof rasen hören? Das war meiner...

Quasi: Ich hab keine Ahnung was du willst. Kurze, verständliche, korrekt formulierte Sätze mit Beachtung der Interpunktion und ggf. sogar als Leckerbissen Grammatik helfen nicht nur mir, sondern den anderen Leute, dich zu verstehen und dir mit Tat und Rat zur Seite zu stehen!

iberican
23.08.2004, 17:40:47
ich habe eine seite die wie golgt aussieht zur linken ein menü, das dynamisch sein soll und zur rechten eine layouttablle die dynamischen inhalt hat (reiseberichte) im einzelen besteht die tabelle aus folgenden feldern : day; headline; content; image; bemerkung;
die dazugehörige sql datenbank sieht fast genauso aus bis auf das das erste feld ID heißt
id; day; headline; content; image; bemerkung;

aus dieser datenbank wird der in halte gelesen das klappt ja auch.
nun soll aber das dynamische menü aus einem wiederholenden bereich gebaut sein. nämlich jeweils dem feld day
so dass das am ende so aussieht

22-03-2004
23-03-2004
25-03-2004
25-03-2004

und diese jeweiligen daten sollen auf den entsprechenden tag in der datenbank verweisen. also muss das php skript den gewünschten tag filtern.
wenn man auf 22-03-2004 klickt soll dann

im feld day 22-03-2004
im feld content der entsprechende text aus der datenabak stehen
im feld bild das entsprechende bild aus der datenabak stehen.

ich hoffe ich konnte die problematik verdeutlichen und freue mich über hilfe

xabbuh
23.08.2004, 21:08:10
Dann müssen die Links ungefähr so erstellt werden:


<?php
$sql = "SELECT
id,
DATE_FORMAT(day, '%d.%m.%Y') AS formattedDate
FROM
table
ORDER BY
day";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result)) {
echo '<a href="bericht.php?id=' . $row['id'] . '">' . $row['formattedDate'] . '</a>';
}
?>


Es wird also die id dieses Berichtes an das Script gegeben. Den entsprechenden Bericht holst du dir so und gibst ihn anschließend aus:


<?php
$id = $_GET['id'];
$sql = "SELECT
day,
headline,
content,
image,
bemerkung
FROM
table
WHERE
id = '$id'";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
?>

iberican
23.08.2004, 22:29:25
das klappt auch nicht so richtig

im folgenden steht nun der komplette code freue mich über weitere lösungsvorschläge und zugehörige erklärungen





<?php require_once('Connections/florida_connection.php'); ?>
<?php
$colname_chronik = "1";
if (isset($_GET['CONT_ID'])) {
$colname_chronik = (get_magic_quotes_gpc()) ? $_GET['CONT_ID'] : addslashes($_GET['CONT_ID']);
}
mysql_select_db($database_florida_connection, $florida_connection);
$query_chronik = sprintf("SELECT ID, `day`, headline, content, image, Unterkunft, `Preis pro Nacht`, Empfehlungen FROM chronik WHERE ID = %s", $colname_chronik);
$chronik = mysql_query($query_chronik, $florida_connection) or die(mysql_error());
$row_chronik = mysql_fetch_assoc($chronik);
$totalRows_chronik = mysql_num_rows($chronik);

mysql_select_db($database_florida_connection, $florida_connection);
$query_navi = "SELECT `day` FROM navi_chronik";
$navi = mysql_query($query_navi, $florida_connection) or die(mysql_error());
$row_navi = mysql_fetch_assoc($navi);
$totalRows_navi = mysql_num_rows($navi);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " http://www.w3.org/TR/html4/loose.dtd">;
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title></title>
<style type="text/css">
<!--
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
-->
</style>
<link href="sitelayout.css" rel="stylesheet" type="text/css">
<link href="chronik_layout.css" rel="stylesheet" type="text/css">
<link href="navi_hotels_motels.css" rel="stylesheet" type="text/css">
</head>

<body>

<table width="985" border="0" cellpadding="0" cellspacing="0" class="navileft_class">
<!--DWLayoutTable-->
<tr>
<td width="58" height="30">&nbsp;</td>
<td width="861">&nbsp;</td>
<td width="66">&nbsp;</td>
</tr>
<tr>
<td height="107">&nbsp;</td>
<td valign="top"><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<tr>
<td width="861" height="107" valign="top"><img src="images/sun_logo.png" width="861" height="109"></td>
</tr>
</table></td>
<td>&nbsp;</td>
</tr>
<tr>
<td height="13"></td>
<td></td>
<td></td>
</tr>
<tr>
<td height="18"></td>
<td valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<tr>
<td width="861" height="18" valign="top" class="links">
<a href="attractions.php">Tagebuch<a> </a><a href="index.php">Sehensw&uuml;rdigkeiten</a> <a href="hotels_motels.php">Hotels&amp;Motels</a> <a href="route.php">Route</a> <a href="tips.php">Tips&amp;Tricks</a> <a href="shopping.php">Shoppingguide</a> </td>
</tr>
</table></td>
<td></td>
</tr>
<tr>
<td height="34"></td>
<td>&nbsp;</td>
<td></td>
</tr>
<tr>
<td height="535"></td>
<td valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<tr>
<td width="172" height="535" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<tr>
<td width="124" height="239" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<tr>
<td width="124" height="20" valign="top" class="menu">


/php teil für die dynamischen links die aus der datenbank gelesen werden. Jeder link der aus der db gelesen wird soll auf einen neuen bericht verweisen/



<?php do { ?>
<a href="tagebuch.php?<?php echo $row_navi['day']; ?>=cont_id"><?php echo $row_navi['day']; ?></a>
<?php } while ($row_navi = mysql_fetch_assoc($navi)); ?>





</td>
</tr>
<tr>
<td height="235">&nbsp;</td>
</tr>
</table></td>
<td width="48">&nbsp;</td>
</tr>
<tr>
<td height="296">&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table></td>
<td width="34">&nbsp;</td>
<td width="655" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<tr>
<td height="19" colspan="3" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<tr>
<td width="114" height="19" valign="top" class="day">


/hier soll dann aus der db das feld day ausgelesen werden/


<?php echo $row_chronik['day']; ?>

</td>
<td width="544" valign="top" class="day">

/hier soll dann aus der db das feld headline ausgelesen werden/

<?php echo $row_chronik['headline']; ?>


</td>
</tr>
</table></td>
</tr>
<tr>
<td width="325" height="18"></td>
<td width="20"></td>
<td width="310"></td>
</tr>
<tr>
<td height="154" colspan="3" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<tr>
<td width="655" height="21" valign="top" class="content">



/hier soll dann aus der db das feld content ausgelesen werden/


<?php echo $row_chronik['content']; ?>




</td>
</tr>
</table></td>
</tr>
<tr>
<td height="26">&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td height="92" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<tr>
<td width="325" height="22" valign="top" class="lodge">



/hier soll dann aus der db das feld unterkunft ausgelesen werden/


<?php echo $row_chronik['Unterkunft']; ?>



</td>
</tr>
<tr>
<td height="51">&nbsp;</td>
</tr>
<tr>
<td height="19" valign="top" class="todo">


/hier soll dann aus der db das feld empfehlungen ausgelesen werden/

<?php echo $row_chronik['Empfehlungen']; ?>




</td>
</tr>
</table></td>
<td>&nbsp;</td>
<td rowspan="2" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<tr>
<td width="310" height="240" valign="top">


/hier soll dann aus der db das feld picture ausgelesen werden/


<img src="<?php echo $row_chronik['image']; ?>" alt="" name="" class="pics">



</td>
</tr>
</table></td>
</tr>
<tr>
<td height="148">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td height="78">&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table></td>
</tr> </table></td>
<td></td>
</tr>
<tr>
<td height="165"></td>
<td>&nbsp;</td>
<td></td>
</tr>
</table>
</body>
</html>
<?php
mysql_free_result($chronik);

mysql_free_result($navi);
?>

xabbuh
24.08.2004, 16:37:10
Wäre schön, wenn du den Code auf das wichtigste beschränken würdest und zwischen [ php] und [ /php] setzt.

Was erhälst du für Fehlermeldungen bzw. was macht er (nicht).