dynamischer Link

Alles, was PHP betrifft, kann hier besprochen werden.

dynamischer Link

Postby meisun » 30. August 2004 15:28

Hallo,
bin völlig neu hier und arbeite noch nicht lange mit php.
Ich möchte gerne von einem kurzen Artikel auf den gesamten langen Artikel verlinken mit Hilfe der Übergabe $newsid. Es wird aber bei jedem Link immer nur derselbe lange Artikel angezeigt und zwar der Artikel, der als Erstes in die Datenbank geschrieben wurde.

Hilfe :(



Code: Select all
<?php


    $sql = "SELECT
               Head,
               News,
               Artikel,
               Datum,
               ID
            FROM
               News
            ORDER BY
               Datum DESC";







     $result = mysql_query($sql) OR die(mysql_error());
   

    if(mysql_num_rows($result)) {
        while($row = mysql_fetch_assoc($result)) {
            $newsid = $row["ID"];
            echo "<div class=\"newseintrag\">\n";

            echo nl2br($row['News']);
            echo "<br></br>";
            echo nl2br($row['Artikel']);  // \n in <br /> umwandeln
            echo " ";
            echo "<a href=\"newsartikel_anzeigen2.php?showartikel=$newsid\">anzeigen</a>";
            echo "<p></p>";
            echo "</div>\n";

        }
        } else {
            echo"<p>Keine News vorhanden</p>\n";
        }
       

    // ID und Text aller News abfragen
    $result = @mysql_query("SELECT ID, Datum, Head, News, Artikel   FROM News
                           WHERE ID=$newsid");
    if (!$result) {

      echo("<p>Fehler bei der Ausf&uuml;hrung der Abfrage: " . mysql_error() . "</p>");
      exit();
    }

    //Der Artikel der News wird angezeigt

    if (isset($showartikel)) {
      $sql = "SELECT
               Head,
               Artikel,
               Datum,
               ID
            FROM
               News";


      if (@mysql_query($sql)) {
            $row = mysql_fetch_assoc($result);



            echo "    <div class=\"small\">\n";
            echo $row['Datum'];
            echo "    </div>\n";
            echo "    <div class=\"textbold\">\n";
            echo nl2br($row['Head']);
            echo "    </div>\n";
            echo nl2br($row['Artikel']); // \n in <br /> umwandeln
            echo "    &nbsp;\n";
            echo "<p></p>";
            echo "</div>\n";

      } else {
        echo("<p>Fehler beim Anzeigen der News: " .
             mysql_error() . "</p>");
      }
    }
?>
[/code]
meisun
 
Posts: 1
Joined: 30. August 2004 15:09

Postby lain » 31. August 2004 08:32

Code: Select all
// ID und Text aller News abfragen
    $result = @mysql_query("SELECT ID, Datum, Head, News, Artikel   FROM News
                           WHERE ID=$newsid");

da fragst du nicht alle news ab, sondern eine news Oo

finde das alles ein wenig konfus:

Code: Select all
if (isset($showartikel)) {
      $sql = "SELECT
               Head,
               Artikel,
               Datum,
               ID
            FROM
               News";

soll an dieser stelle nicht der bestimmte artikel ausgewaehlt werden? dann brauchst du HIER die where bedingung.

nochmal knapp

block 1:
Code: Select all
// aus der datenbank alle news auslesen ..
$select = "SELECT id, kurztext, autor FROM tabelle";
$query = mysql_query($select);
// und mit einer schleife ausgeben
while($row = mysql_fetch_assoc($query)) {
  print("<i>{$row['kurztext']}</i> - {$row['autor']}<br />");
  print("<a href=\"{$_SERVER['PHP_SELF']}?showarticle={$row['id']}\" target=\"_self\">[ mehr ]</a>");
}


block 2:
Code: Select all
// abfragen ob eine news ganz angezeigt werden soll
// also wenn die variable gesetzt ist
if (isset($_GET['showarticle']) && !empty($_GET['showarticle'])) {
  // ein select mit where eingrenzen
  $select = "SELECT langtext, autor FROM tabelle WHERE id='{$_GET['showarticle']}'";
  // select absetzen
  $query = mysql_query($select);
  // array abholen
  $row = mysql_fetch_assoc($query);
  // und ausgeben
  print("ausfuehrlicher text:<br /><i>{$row['langtext']}</i> - {$row['autor']}");
}

soweit verstanden? für syntax fehler gibt es keine garantie.. habs ausm kopf geschrieben und soll dem verstaendnis dienen ;)

fragen?
lain
 
Posts: 38
Joined: 19. March 2004 13:48

Postby lain » 31. August 2004 08:34

allgemein:

verwende zur abfrage von POST und GET Variablen die superglobal arrays $_POST und $_GET.
lain
 
Posts: 38
Joined: 19. March 2004 13:48


Return to PHP

Who is online

Users browsing this forum: No registered users and 2 guests