Willkommen in der Webstatt Zum Webstatt Blog und Stories
Bonze am 19.05.06 14:47

hab hier meine news bei der man auch kommentare schreiben kann, jetzt möchte ich das wenn jemand auf kommentar schreiben klickt,

das nur die dazugehörige news angeziegt wird, imm moment werden alle news angezeigt und untendran wird dann formular zum kommentar schreiben "angehäftet"

hier mal mein code , der irgendwie ned funzt es kommt immer ein mysql assoc fehler in 111

<body><?php
#include("connect.php");
include("../news/config.php");
// Verbindet zum MySQL-Server
$mysql['handle'] = mysql_pconnect($mysql['host'], $mysql['user'], $mysql['pass']);
// Und wählt die Datenbank aus
mysql_select_db($mysql['root']);
#####

$sql = mysql_query('SELECT COUNT(*) AS count FROM `'.$mysql['table'].'`'); // Tabelle zum zählen
$end = 5; // Wieviel Ausgaben pro Seite?
$url = '<a href="./'.basename($_SERVER['PHP_SELF']).'?page=news&none=0'; // Standardlink (z.B. ?action=home (also dann "none=0" durch "action=home" ersetzen)
// "none=0" stehen lassen oder ersetzen, aber nicht entfernen, da sonst fehler enstehen

/* AB HIER NICHTS MEHR ÄNDERN */

$anz = mysql_result($sql, 0, 'count'); // Anzahl
mysql_free_result($sql);

$ges = floor(ceil($anz)/$end);
$start = !isset($_GET['start']) ? $start = 0 : $_GET['start']*$end;
$nStart = !isset($_GET['start']) ? $start = 0 : $_GET['start'];
$link = '';

$ges += 1;
if($nStart>=($ges)) {
die('Seite existiert nicht!');
}

$link .= ($nStart==0 ? '' : $url.'&amp;start='.($nStart-1).'">&laquo; Zur&uuml;ck</a> ');
if($ges>7) {
$ret = array();
for($i=1;$i<=$ges;$i++) {
$ret[] = (($i-1)!=$nStart ? $url.'&amp;start='.($i-1).'">['.$i.']</a> ' : $i.' ');
}
if($nStart<5 && $nStart>1) {
for($j=0;$j<2+$nStart;$j++) {
$link .= $ret[$j];
}
} else {
for($j=0;$j<3;$j++) {
$link .= $ret[$j];
}
}
$link .= ($nStart<=($ges-5) ? ($nStart>=5 ? ' ... '.$ret[$nStart-1].$ret[$nStart].(isset($ret[$nStart+1]) ? $ret[$nStart+1] : '') : '') : '');
$link .= ' ... '.($nStart==$ges-4 ? $ret[$ges-4] : '').$ret[$ges-3].$ret[$ges-2].$ret[$ges-1];
} else {
for($i=1;$i<=$ges;$i++) {
$link .= (($i-1)!=$nStart ? $url.'&amp;start='.($i-1).'">['.$i.']</a> ' : $i.' ');
}
}
$link .= ($nStart==($ges-1) ? '' : ' '.$url.'&amp;start='.($nStart+1).'">Weiter &raquo;</a>');
?> <?
$query = mysql_query('SELECT * FROM `'.$mysql['table'].'` ORDER BY `id` DESC LIMIT '.$start.', '.$end);
######

######################################
while($row = mysql_fetch_assoc($query)) {// unterhalb kommt alles was pro zeile gemacht werden soll!
#######uhrzeit umwandeln
$timestamp = $row['Datum'];
$datum = date("d.m.Y",$timestamp);
$uhrzeit = date("H:i",$timestamp);
####
$ID = $row['ID'];
$query2 = mysql_query("SELECT COUNT(*) cnt FROM news_comments WHERE NewsID=$ID");
$data = mysql_fetch_assoc($query2);
$anzahlKommentare = $data['cnt'];
include("$functions");
?>
</p>
<table width="75%">
<tr bgcolor="#0099FF">
<td><font color="#FFFFFF"><?php echo($row[Titel]); ?> von <?php echo($row[Autor]); ?></font></td>
<td><font color="#FFFFFF">vom <?php echo $datum, " ",$uhrzeit,"Uhr"; ?></font></td>
</tr>
<tr bgcolor="#0099FF">
<td colspan="2"><font color="#FFFFFF"><?php echo($row[Inhalt]); ?></font></td>
</tr>
<tr bgcolor="#0099FF">
<td>&nbsp;</td>
<td><font color="#FFFFFF">
<?php if($data[cnt]>0){
echo"<a href=\"?page=news&comments=add&id=$row[ID]\">$data[cnt] Kommentare vorhanden</a>";
} else {
echo"<a href=\"?page=news&comments=add&id=$row[ID]\">Kommentar schreiben</a>";
}?>
</font></td>
</tr>
</table>
<p><br>
<?
}
echo"Seite $link";?>
</p>
<?php if($_GET['comments'] == 'add')
{

$query = mysql_query('SELECT * FROM newscomments WHERE ID = $_GET[id]');
######

######################################
while($row = mysql_fetch_assoc($query)) {// unterhalb kommt alles was pro zeile gemacht werden soll!
#######uhrzeit umwandeln
$timestamp = $row['Datum'];
$datum = date("d.m.Y",$timestamp);
$uhrzeit = date("H:i",$timestamp);
####

include("$functions");
?>
</p>
<table width="75%">
<tr bgcolor="#0099FF">
<td><font color="#FFFFFF"><?php echo($row[Titel]); ?> von <?php echo($row[Autor]); ?></font></td>
<td><font color="#FFFFFF">vom <?php echo $datum, " ",$uhrzeit,"Uhr"; ?></font></td>
</tr>
<tr bgcolor="#0099FF">
<td colspan="2"><font color="#FFFFFF"><?php echo($row[Inhalt]); ?></font></td>
</tr>
<tr bgcolor="#0099FF">
<td>&nbsp;</td>
<td><font color="#FFFFFF">
<?php if($data[cnt]>0){
echo"<a href=\"?page=news&comments=add&id=$row[ID]\">$data[cnt] Kommentare vorhanden</a>";
} else {
echo"<a href=\"?page=news&comments=add&id=$row[ID]\">Kommentar schreiben</a>";
}?>
</font></td>
</tr>
</table>
<p><br>
<?
}
// Der MySql-Server
$mysql['host'] = 'localhost';
// Der MySql-Benutzer
$mysql['user'] = 'root';
// Und das dazugehörige Passwort...
$mysql['pass'] = '';
// Noch die Datenbank
$mysql['root'] = 'projects';
// Und zu guter letzt die Tabelle
$mysql['table'] = 'news_comments';

$grafik="http://localhost/projects/straussbuwe/smilies/";
$functions ="../news/functions.php"; //pfad zur functions php

// Verbindet zum MySQL-Server
$mysql['handle'] = mysql_pconnect($mysql['host'], $mysql['user'], $mysql['pass']);
// Und wählt die Datenbank aus
mysql_select_db($mysql['root']);
####

$ID = $_GET[id];
#WHERE NewsID='$ID' ORDER BY ID DESC
$query = mysql_query('SELECT * FROM '.news_comments.' WHERE '.NewsID.'='.$ID.'');
while($row = mysql_fetch_assoc($query)) {

#######uhrzeit umwandeln
$timestamp = $row['Datum'];
$datum = date("d.m.Y",$timestamp);
$uhrzeit = date("H:i",$timestamp);
####
include("$functions");

echo"
<table width='500' clasS='form'>
<tr>
<td><a href='mailto:$row[Email]'>$row[Name]</a></td>
<td>vom $datum, $uhrzeit Uhr</td>
</tr>
<tr>
<td>$row[Inhalt]</td>
</tr>
<tr>
<td>
</td>
<td></td>
</tr>
</table>";
}
#Bitte öffnen sie die Kommentarfunktion nur aus einem Newsbeitrag herraus.
?>


<form method="post" name="eintragen">
<table width="500" class="form">
<tr>
<td align="center"><b>Kommentar eintragen
</b></td>
</tr>
<tr>
<td width="287">Dein Name:</td>
<td width="198">
<input type="text" size="33" name="name" class="feld" />
</td>
</tr>
<tr>
<td>Deine E-Mail:</td>
<td>
<input type="text" size="33" name="email" class="feld" />
</td>
</tr>
<tr>
<td valign="top">Deine Nachricht:
<p>
<script>
function smilie(name) {
document.eintragen.text.focus();
document.eintragen.text.value = document.eintragen.text.value + name;
document.eintragen.text.focus();
}
</script>
<?php
echo "
<div align=\"center\"> <a href=\"#\" onclick=\"javascript:smilie(' :P')\"><img src=\"$grafik/zunge.png\" /></a>
<a href=\"#\" onclick=\"javascript:smilie(' :grrr:')\"><img src=\"$grafik/boese.png\" /></a>
<a href=\"#\" onclick=\"javascript:smilie(' :nanana:')\"><img src=\"$grafik/nanana.png\" /></a>
<a href=\"#\" onclick=\"javascript:smilie(' :harg:')\"><img src=\"$grafik/zaehne.png\" /></a>
<a href=\"#\" onclick=\"javascript:smilie(' :blabla:')\"><img src=\"$grafik/blabla.png\" /></a>
<a href=\"#\" onclick=\"javascript:smilie(' :heul:')\"><img src=\"$grafik/heul.png\" /></a>
<a href=\"#\" onclick=\"javascript:smilie(' :traurig:')\"><img src=\"$grafik/traurig.png\" /></a>
<a href=\"#\" onclick=\"javascript:smilie(' :D')\"><img src=\"$grafik/lach.png\" /></a>
<a href=\"#\" onclick=\"javascript:smilie(' :0')\"><img src=\"$grafik/mund.png\" /></a>
<a href=\"#\" onclick=\"javascript:smilie(' :cool:')\"><img src=\"$grafik/cool.png\" /></a>
<a href=\"#\" onclick=\"javascript:smilie(' :)')\"><img src=\"$grafik/grins.png\" /></a>
<a href=\"#\" onclick=\"javascript:smilie(' ;)')\"><img src=\"$grafik/ok.png\" /></a>
<a href=\"#\" onclick=\"javascript:smilie(' :frag:')\"><img src=\"$grafik/frag.png\" /></a>";
?>
</p>
</td>
<td>
<textarea name="text" rows="5" cols="30" class="feld"></textarea>
</td>
</tr>
<tr>
<td align="center">
<input type="submit" name="speichern" value="Abschicken" class="button">
<input type="hidden" name="speichern" value="save" />
</td>
</tr>
</table>
</form>
<?php
if (isset($_POST['speichern'])){
$mysql = mysql_connect('localhost', 'root', '') or die(mysql_error());
mysql_select_db('projects', $mysql) or die(mysql_error());
if(!$_POST['name']){
die('Du musst noch einen Namen eingeben!');
}
if(!$_POST['email']){
die('Du hast keine Email eingetragen!');
}else{
function check_mail($mail){
if(!eregi("^[_\\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\\.)+[a-z]{2,3}\$", $mail)) {
die("Fehler ! Die eingegebene E-Mail Adresse ist ungültig");
}
}
check_mail($_POST['email']);
}
$sql = "INSERT INTO `news_comments` SET `NewsID` = '".$_GET['id']."',
`Name` = '".addslashes($_POST['name'])."',
`Email` = '".addslashes($_POST['email'])."',
`Inhalt` = '".addslashes($_POST['text'])."',
`Datum` = '".time()."'
";
mysql_query($sql, $mysql);
echo 'Dein Kommentar wurde erfolgreich gespeichert.';
?> <meta http-equiv="refresh" content="2;URL=">
<?php

exit;
}else{
echo '</table>';
}

}?>
</body>
</html>

netcup.de Warum gibt es hier Werbung?
milahu milahu am 19.05.06 14:55

Genaue Fehlermeldung + relevanten Codeabschnitt bitte.

Bonze am 19.05.06 14:58

mysql assoc fehler!
$query = mysql_query('SELECT * FROM newscomments WHERE ID = $_GET[id]');
######

######################################
while($row = mysql_fetch_assoc($query)) {// unterhalb kommt alles was pro zeile gemacht werden soll!
#######uhrzeit umwandeln
$timestamp = $row['Datum'];
$datum = date("d.m.Y",$timestamp);
$uhrzeit = date("H:i",$timestamp);
####

include("$functions");
?>



was ich oben n och sagen wollte weiss jemand event, wie ich das machen muss sodas es mir dann nur die die die kommentar relevante news anzeigt?

milahu milahu am 19.05.06 15:18

Du meinst wohl
mysql_query('SELECT * FROM newscomments WHERE ID = '.$_GET['id']);
Jaja, Strings sind böse...

Bonze am 19.05.06 16:24

jo, aba wie meinst soll ich das machen das wenn ich auf Kommentar schreiben klicke

es mir dann nochmal die relevanten news anzeigt(für die ich nen kommentar schreiben möchte) und die kommentare und das kommentar schreiben fomular?!

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt