Christopher: Javascript fehler

Grüß euch! Hab in den Script nen kleinen Fehler nur ich find in nicht :-(
Danke für eure Hilfe.

<?
include('config/mysql.inc.php');

$tabelle = "news";

$dbverbindung = mysql_connect ($host, $user, $password);
$dbanfrage = "SELECT * FROM $tabelle ORDER by date DESC";
$result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung);
$id = $_GET['id'] + 1;

while ($ausgabe = mysql_fetch_array ($result))

{
echo ("

<script type='text/javascript'>
function oeffneFenster(seite)
{
var kleinesfenster = window.open(seite,'_blank',
'width=300,height=400,resizeable=no,scrollbars=yes');
return false;
}
</script>

<table width='100%'>
<td class='text2' width='5%'>$ausgabe[tag].</td>
<td class='text2' width='15%'>$ausgabe[monat]</td>
<td class='text2' width='10%'>$ausgabe[jahr]</td>
<td class='text2' width='50%'>
<a href='news_details.php?id=$ausgabe[id]' onClick='return kleinesfenster('news_details.php?id=$ausgabe[id]')'
target='_blank'>$ausgabe[uberschrift]</a></td>
<br>
</table>

");
} mysql_close ($dbverbindung)

?>

  1. hi,

    Grüß euch! Hab in den Script nen kleinen Fehler nur ich find in nicht :-(

    und wir finden nicht mal eine fehler_beschreibung_ in deinem posting.

    *seufz*,
    wahsaga

    --
    "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
    1. Hello!

      Schau her! Zu erklärung::

      Aus der MYSQL Datenbank werden die Einträge wiedergegeben
      Datum Überschrift usw.. will ich jetzt die ganze News lesen, so klicke ich einfach drauf und es kommt eine neue Seite mit 400x400 z.b!

      Nur das Problem er macht mir nur den ersten Eintrag in der Datenbank auf!

      Weiss du vl. wo man das genauer nachlesen kann oder was ich da machen muss?

      Danke in Voraus Christopher

      1. hi,

        Nur das Problem er macht mir nur den ersten Eintrag in der Datenbank auf!

        und was steht an den entsprechenden stellen beim funktionsaufruf/linkziel für eine ID - jedesmal die passende, oder immer die selbe, oder ...?

        gruß,
        wahsaga

        --
        "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
      2. Hier das Aktuelle Script! Es wird aber nur der 1.Datensatz geöffnet.

        <?
        include('config/mysql.inc.php');

        $tabelle = "news";

        $dbverbindung = mysql_connect ($host, $user, $password);
        $dbanfrage = "SELECT * FROM $tabelle ORDER by date DESC";
        $result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung);
        $id = $_GET['id'] + 1;

        while ($ausgabe = mysql_fetch_array ($result))

        {
        echo ("

        <SCRIPT LANGUAGE='JavaScript'><!--

        var tipWin = null;

        function opentip()
        {
                str='news_details.php?id=$ausgabe[id]';
                tipWin = window.open(str,'tipWin','width=400,height=400,resizeable=no,scrollbars=yes');
                window.open(str,'tipWin','width=400,height=400');
                tipWin.opener = self;
        }
        //-->
        </SCRIPT>

        <table width='100%'>
        <td class='text2' width='5%'>$ausgabe[tag].</td>
        <td class='text2' width='15%'>$ausgabe[monat]</td>
        <td class='text2' width='10%'>$ausgabe[jahr]</td>
        <td class='text2' width='70%'>
        <a href='javascript:opentip()'>$ausgabe[uberschrift]</a></td>
        <br>
        </table>

        ");
        } mysql_close ($dbverbindung)

        ?>

        1. hi,

          Hier das Aktuelle Script! Es wird aber nur der 1.Datensatz geöffnet.

          und das wundert dich?

          while ($ausgabe = mysql_fetch_array ($result))
          {
          echo ("
          <SCRIPT LANGUAGE='JavaScript'><!--

          hiermit schreibst du ja bei jedem schleifendurchlauf ein neues script ins dokument, also auch

          function opentip()

          jedes mal eine neue funktion opentip().
          das davon nachher nur die letzte gültigkeit besitzt, sollte klar sein.

          str='news_details.php?id=$ausgabe[id]';

          also wird auch nur die detailseite zur letzten ID geöffnet.

          gruß,
          wahsaga

          --
          "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
          1. Aha Danke aber trotzdem weiss ich nimmer weiter! Sonst würde ich ja nix posten!

            1. hi,

              Aha Danke aber trotzdem weiss ich nimmer weiter! Sonst würde ich ja nix posten!

              dann solltest du dir jetzt erst mal überlegen, wie der ablauf logisch aussehen muss (kann).

              • eine einzige funktion zum öffnen des popups, die dann die ID beim aufruf als parameter übergeben bekommt, reicht vollkommen. diese kommt also in den head der seite, oder gleich in eine externe JS-datei.

              • jetzt musst du nur noch da, wo du die news ausgibst, auch jeweils den funktionsaufruf mit der jeweiligen ID hinschreiben.

              gruß,
              wahsaga

              --
              "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
              1. Aha naja glaube mal es geht so ungefährt
                <head>
                <script type="text/javascript" src="config/js.php"></script>
                </head>

                <a href='javascript:opentip(news_details.php?id=$ausgabe[id])>Öffnen</a>

                ###js.php####

                <SCRIPT LANGUAGE='JavaScript'>

                <!--

                var tipWin = null;

                function opentip()
                {
                        str='id=$ausgabe[id]';
                        tipWin = window.open(str,'tipWin','width=400,height=400,resizeable=no,scrollbars=yes');
                        window.open(str,'tipWin','width=400,height=400');
                        tipWin.opener = self;
                }
                //-->
                </SCRIPT>

                Oder???

                1. hi,

                  Aha naja glaube mal es geht so ungefährt

                  nein, dass ist immer noch ohne ahnung zusammengestümperter code ...

                  <a href='javascript:opentip(news_details.php?id=$ausgabe[id])>Öffnen</a>

                  da ein javascript-objekt mit dem namen news_details.php?id=$ausgabe[id] nicht existiert, möchtest du vermutlich lieber einen string an die funktion übergeben.
                  außerdem möchtest du onClick verwenden, um javascript-funktionsaufrufe einzubinden, statt dieses furchtbare href="javascript:..."

                  function opentip()

                  wenn du allerdings der funktion beim aufruf einen parameter übergeben willst, solltet du dann in der definition diesen auch anbringen.

                  str='id=$ausgabe[id]';
                          tipWin = window.open(str, ...

                  was soll denn das sein?

                  ist id=$ausgabe[id] etwa die adresse der seite, die du öffnen möchtest?
                  und wozu übergibst du einen parameter, wenn du ihn dann in der funktion überhaupt nicht berücksichtigst?

                  Oder???

                  dir fehlt offenbar noch massiv das grundlagenwissen bezüglich der techniken, die du einzusetzen gedenkst.
                  ich würde vorschlagen, dass du dir davon erst mal ein bisschen mehr aneignest.

                  gruß,
                  wahsaga

                  --
                  "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
                2. Tag Christopher.

                  Aha naja glaube mal es geht so ungefährt

                  Du bist schon auf der richtigen Fährte.

                  <head>
                  <script type="text/javascript" src="config/js.php"></script>
                  </head>

                  Genau so, die Funktion gehört in den Kopfbereich.

                  <a href='javascript:opentip(news_details.php?id=$ausgabe[id])>Öffnen</a>

                  Ähm, du bringst hier HTML und PHP durcheinander. Besser wäre es z.B. so:

                  <a href="news_details.php?id=<?php echo $ausgabe[id] ?>"
                     onclick="opentip('news_details.php?id=<?php echo $ausgabe[id] ?>)')">
                     Öffnen
                  </a>

                  Oder du schreibst es mit Hilfe einer print-Anweisung:

                  print "<a href="news_details.php?id=$ausgabe[id]" onclick="opentip('news_details.php?id=$ausgabe[id]')">Öffnen</a>";

                  Auf Grund der doppelten Anführungszeichen ersetzt PHP bei Variante 2 alle innerhalb dieser Anweisung vorkommenden Variablen mit ihrem Wert. Anführungszeichen, die als solche ausgegeben werden sollen, musst du mit einem Backslash maskieren.

                  <SCRIPT LANGUAGE='JavaScript'>

                  Bitte so: <script language="JavaScript" type="text/javascript">

                  function opentip()

                  Du willst der Funktion ein Argument übergeben, dann teile ihr das auch so mit:

                  function opentip(url)

                  str='id=$ausgabe[id]';

                  Völlig überflüssig, den gewünschten URL hast du bereits in der übergebenen Variable url stehen:

                  tipWin = window.open(url,'tipWin','width=400,height=400,resizeable=no,scrollbars=yes');

                  So sollte es vom Ansatz her gehen.

                  [dsf 3.6]
                  Siechfred

                  --
                  »Sie kochten heimlich mit Wasser und tranken öffentlich Wein.«
  2. var kleinesfenster = window.open(seite,'_blank',
    'width=300,height=400,resizeable=no,scrollbars=yes');
    return false;

    Probiers mal so:

    var kleinesfenster = window.open(seite,'_blank','width'=300',height='400',resizeable='no',scrollbars='yes');
    return false;

    1. hi,

      Probiers mal so:

      var kleinesfenster = window.open(seite,'_blank','width'=300',height='400',resizeable='no',scrollbars='yes');

      das ist ja kompletter unfug.

      welche parameter window.open() haben kann, solltest du noch mal nachlesen gehen.

      gruß,
      wahsaga

      --
      "Look, that's why there's rules, understand? So that you _think_ before you break 'em."