News , Lastnews Problem!

vodka

Mitglied
Also immer wen ich z.b. comments von einem News schreiben will kommt nur die erste News die ich geschrieben habe!

Ich weis auch wiso wegen den Lastnews!

PHP:
<html>
<head>
<title>SCE</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor=#404651 topmargin="0" leftmargin="0">
/// HTML CODE////


  <?php
{
// Verbindung mit der Datenbank erstellen //
$db = mysql_connect(, , );
mysql_select_db () or die ("Cannot connect to database");

// Tabelle //
$query = "SELECT * FROM snews ORDER BY id DESC LIMIT 5";
$result = mysql_query($query);
while($r=mysql_fetch_array($result))
{
$name=$r["name"];
$titel=$r["titel"];
$news=$r["news"];
$email=$r["email"];
$link=$r["link"];
$datum=$r["datum"];
$id=$r["id"];

echo "<table width='126' border='0' cellspacing='0' cellpadding='0'>
  <tr>
    <td> | <a href='$page
index.php?action=comments&id=$id'>$titel</a> 
      | </td>
  </tr>
</table>";
}
?>
/// HTML CODE////
<? 
switch($action)
{

case "news": include("news/view.php"); break;
case "archiv": include("news/archiv.php"); break;
case "members": include("members.php"); break;
case "comments": include("news/comments.php"); break;
case "wars": include("wars.php"); break;
case "files": include("files.php"); break;
case "gb": include("gb.php"); break;
case "rules": include("rules.php"); break;
case "joinus": include("joinus.php"); break;
case "fightus": include("fightus.php"); break;
case "details": include("members/details.php"); break;
case "smiles": include("smiles.php"); break;
case "wdetails": include("wars/details.php"); break;

default: include("news/view.php"); break;
}
?>
/// HTML CODE////
</body>
</html>

Es kommt weil Lastnews vor der swtich zur comments.php Datei in dem Quelltext steht!Aber wie mach ich es das im Quelltext Lastnews vorher steht aber erst nach dem switch geladen wird sozusagen?

geht mal auf ein news von commends
 
Wie soll der auch bei der dritten News, wenn du auf Kommentare klickts die dritte News anzeigen ? Du übergibts ja nicht die News id an die comments.php.

case "comments": include("news/comments.php?news_id=$id"); break

Ob das jetzt passt weiss ich nicht, kenn ja deine comments.php nicht.
 
Insgesamt würde ich dir noch empfehlen die News nicht nach der ID, sondern nach dem Datum zu ordnen ... Was willst du denn machen wenn du mal nachträglich einen Newseintrag einfügst?
 
Also "tefla" es über gibt die $id das weis ich weil wen ich lastnews rausnehme geht es!Oder wen ich die lastnews unter dem switch mache dan gehts auch!
 
Dann wird die Variable überschrieben ! Denn es werden ja auch die Kommentare von der ersten News angezeigt

Aber meines erachtens greift ein Script welches per include einbindet nicht auf die Variablen des Parent zurück, sondern die musst du schon übergeben. Umgekehrt gehts aber.

Zeig doch mal den Code der comments.php und erklär mir mal was du mit Lastnews ständig meinst und poste am besten den Code auch noch.
 
Also ich glaub nicht das dir was bringt ich weis einfach das die Lastnews nach dem switch geladen werden muss sonst geht es ned!

PHP:
<?
include("config.php");
?>
<?php

// Verbindung mit der Datenbank erstellen //
$db = mysql_connect($db_host, $db_user, $db_pass);
mysql_select_db ($db_name) or die ("Cannot connect to database");


// hier das Limit ändern
$query = "SELECT *, DATE_FORMAT(datum,'%d.%m.%Y') AS datum_de FROM $tabellenews where id = $id";
$result = mysql_query($query);
while($r=mysql_fetch_array($result))
{
$name=$r["name"];
$titel=$r["titel"];
$news=$r["news"];
$email=$r["email"];
$link=$r["link"];
$datum=$r["datum_de"];
$id=$r["id"];
$linkname=$r["linkname"];

// Smile funktion
$news = str_replace(":P","<img src=http://dalton-clan.com/darkskill/gb/smile/1.gif>",$news);
$news = str_replace(":)","<img src=http://dalton-clan.com/darkskill/gb/smile/2.gif>",$news);
$news = str_replace(":D","<img src=http://dalton-clan.com/darkskill/gb/smile/3.gif>",$news);
$news = str_replace(":|","<img src=http://dalton-clan.com/darkskill/gb/smile/4.gif>",$news);
$news = str_replace(":lol:","<img src=http://dalton-clan.com/darkskill/gb/smile/5.gif>",$news);
$news = str_replace(":(","<img src=http://dalton-clan.com/darkskill/gb/smile/6.gif>",$news);

//URL und sonstige funktion
$news=eregi_replace("([ \r\n])[ url]http://[ /url]([^ ,\r\n]*)","\\1[ url]http://\\2[ /url]",$news);
$news=eregi_replace("([ \r\n])[ url]https://[ /url]([^ ,\r\n]*)","\\1[ url]https://\\2[ /url]",$news);
$news=eregi_replace("([ \r\n])[ url]ftp://[ /url]([^ ,\r\n]*)","\\1[ url]ftp://\\2[ /url]",$news);
$news=eregi_replace("([ \r\n])[ url]www.[ /url]([^ ,\r\n]*)","\\1[ url]http://www.\\2[ /url]",$news);
$news=eregi_replace("^[ url]http://[ /url]([^ ,\r\n]*)","[ url]http://\\1[ /url]",$news);
$news=eregi_replace("^[ url]https://[ /url]([^ ,\r\n]*)","[ url]https://\\1[ /url]",$news);
$news=eregi_replace("^[ url]ftp://[ /url]([^ ,\r\n]*)","[ url]ftp://\\1[ /url]",$news);
$news=eregi_replace("^[ url]www.[ /url]([^ ,\r\n]*)","[ url]http://www.\\1[ /url]",$news);
$news=eregi_replace("\\[url\\]www.([^\\[]*)\\[/url\\]","<a href=\"http://www.\\1\" target=\"_blank\">\\1</a>",$news);
$news=eregi_replace("\\[url\\]([^\\[]*)\\[/url\\]","<a href=\"\\1\" target=_blank>\\1</a>",$news);
$news=eregi_replace("\\[ url=\"","[url=\"",$news);
$news=eregi_replace("\\[ url=([^\\[]*)\\]([^\\[]*)\\[\\/url\\]","<a href=\"\\1\" target=\"_blank\">\\2</a>",$news);

// Fett
$news=eregi_replace("\[b\]", "<b>", $news);
$news=eregi_replace("\[/b\]", "</b>", $news);

// Kursiv
$news=eregi_replace("\[i\]", "<i>", $news);
$news=eregi_replace("\[/i\]", "</i>", $news);

// Unterstrichen
$news=eregi_replace("\[u\]", "<u>", $news);
$news=eregi_replace("\[/u\]", "</u>", $news);

//Farbe
$news=eregi_replace("\[ color=([\#a-zA-Z0-9]+)]([^\[]+)\[/color\]", "<font color=\"\\1\">\\2</font>", $news);
$news=preg_replace( "/\[ url\=(.*)\](.*)\[\/url\]/i", "<a href=\"$1\">$2</a>", $news);
// Automatisches <br> und <p>
$news = nl2br($news);


$s1 = "SELECT * FROM $tabellecomments WHERE newsid = '$id'" ;
$q1 = mysql_query($s1) ;
$c = mysql_num_rows($q1) ;

echo "<table width=440 border=0 cellspacing=0 cellpadding=0>
  <tr>
    <td width=440 height=30 background=http://dalton-clan.com/darkskill/Bilder/newsbox_01.gif><table width=438 border=0 cellpadding=0 cellspacing=0>
      <tr>
        <td width=206>&nbsp; &nbsp;<strong>$titel</strong></td>
        <td width=27><a href=mailto:$email> </a></td>
        <td width=205><div align=right><a href=mailto:$email>$name</a> @&nbsp; $datum</div></td>
      </tr>
    </table></td>
  </tr>
</table>
<TABLE WIDTH=440 BORDER=0 CELLPADDING=0 CELLSPACING=0>
  <TR>
    <TD width=6 background=http://dalton-clan.com/darkskill/Bilder/newsbox_02.gif>&nbsp;</TD>
    <TD width=427 background=http://dalton-clan.com/darkskill/Bilder/newsbox_03.gif><table width=422 height=23 border=0 cellpadding=0 cellspacing=2>
      <tr>
        <td width=422 height=19 valign=middle>$news</td>
      </tr>
    </table>
      <table width=422 height=23 border=0 cellpadding=0 cellspacing=2>
        <tr>
          <td width=206 height=19 valign=bottom>          Links: <a href=$link target=_blank>$linkname</a></td>
          <td width=216 valign=bottom><div align=right><a href='$page
index.php?action=comments&id=$id'>comments($c)</a></div></td>
        </tr>
      </table>    </TD>
    <TD width=7 background=http://dalton-clan.com/darkskill/Bilder/newsbox_04.gif>&nbsp; </TD>
  </TR>
  <TR>
    <TD COLSPAN=3> <IMG SRC=http://dalton-clan.com/darkskill/Bilder/newsbox_05.gif WIDTH=440 HEIGHT=9 ALT=></TD>
  </TR>
  <TR>
    <TD COLSPAN=3>&nbsp;</TD>
  </TR>
  <TR>
    <TD COLSPAN=3>&nbsp;</TD>
  </TR>
</TABLE>";
  }
?>
  <div align="center">
    <p>
	<form name="form1" method="post" action="<? $php_self ?>">

 <?php

// Verbindung mit der Datenbank erstellen //
$db = mysql_connect($db_host, $db_user, $db_pass);

mysql_select_db ($db_name) or die ("Cannot connect to database");

// Tabelle //
$query = "SELECT *, DATE_FORMAT(datum,'%d.%m.%Y') AS datum_de FROM $tabellecomments where newsid = $id";
$result = mysql_query($query);
while($r=mysql_fetch_array($result))
 {
$name=$r["name"];
$email=$r["email"];
$text=$r["text"];
$id=$r["newsid"];
$titel=$r["titel"];
$datum=$r["datum_de"];


 // Automatisches <br> und <p>
$text = nl2br($text);

echo "<table width=351 border=0 cellspacing=4 cellpadding=0>
  <tr>
    <td width=107 valign=top><a href=mailto:$email><strong>$name</strong></a><br>    </td>
    <td width=108 valign=top>&nbsp;</td>
    <td width=157><div align=right>$datum
    </div></td>
  </tr>
  <tr>
    <td height=21 colspan=3><p>$text<br>
    </p></td>
  </tr>
  <tr>
    <td colspan=3><hr size=1 width=100% align=center color=#000000></td>
  </tr>
</table>";
}
?>
<?php

if (isset ($send) )
{

$db = mysql_connect($db_host, $db_user, $db_pass);
mysql_select_db ($db_name) or die ("Cannot connect to database");

  if (trim ($_POST["name"]) == "")
  {
    echo "Bitte geben sie ihren Name ein!<br>";
  }
  if (trim ($_POST["text"]) == "")
  {
    echo "Bitte geben sie ihren Text ein!";
  }
  else
  {
    echo "Erfolgreich eingetragen";

    $query = "INSERT INTO  $tabellecomments(name, email, text, newsid, titel, datum)
    VALUES('$_POST[name]','$_POST[email]','$_POST[text]','$id','$_POST[titel]', now())";
    $result = mysql_query($query);
    echo "<meta http-equiv='refresh' content='0; URL=$php_self'>";

  }
}
?>

  </p>
  </div>
<table width="276" border="0" align="center">
                      <tr>
                        <td> <div align="left">Name:</div></td>
                        <td> <div align="left">
                            <input type="text" name="name">
                          </div></td>
                      </tr>
                      <tr>
                        <td> <div align="left">Email:</div></td>
                        <td> <div align="left">
                            <input type="text" name="email">
                          </div></td>
                      </tr>
                      <tr>
                        <td> <div align="left"></div></td>
                        <td> <div align="left"> </div></td>
                      </tr>
                      <tr>
                        <td> <div align="left">Comment:</div></td>
                        <td> <div align="left">
                            <textarea name="text" cols="22" rows="4"></textarea>
                          </div></td>
                      </tr>
                      <tr>
                        <td> <div align="left"></div></td>
                        <td> <div align="left">
                            <input type="submit" name="Abschicken" value="submit">
                          </div></td>
                      </tr>
  </table>

  <br>
  <p align="center">
    <input type="hidden" name="send" value="true">

  </p>
  </form>
                  <br>
 
Hmm, Sorry aber bei deinem Code blickt man Wenig durch.
Das Extra Formatieren und Variablen Neuzuweisen ala
PHP:
$name=$r["name"]; 
$titel=$r["titel"]; 
$news=$r["news"]; 
$email=$r["email"]; 
$link=$r["link"]; 
$datum=$r["datum_de"]; 
$id=$r["id"]; 
$linkname=$r["linkname"];

Ist unsinnig, besonders noch dafür neue Variablen mit Werten zu erstellen schau
schau dir zu dem Thema mal Referenzen an.

Nun zurück zum Eig. ich weiss nicht wo deine Variable überschrieben wird aber wie schon gesagt schon alein durch dieses $name=$r[...] etc , das kannste auch direkt eintragen ist auch günstiger denke ich.

So nun mal zu deinem Prob.
Änder deine Queries einfach ala
Code:
WHERE id = '$_GET[id]'

Das sollte helfen da du dadurch nur auf die ID in der URL zugreifst und die willst ja haben.
 
Jetzt kommt folgende fehlermeldung:


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/dalton/public_html/sce/index.php on line 86

Geht es villeicht nicht anderst das eben der Code vor dem switch steht aber erst nach dem geladen wird?
 
Zuletzt bearbeitet:
Zurück