PHPNeuling: Es ein Link immer automatisch eintragen lassen?

Hallo,

hab mal eine Frage. Und zwar kann ich meinem PHP Skript sagen, dass er bei jedem Artikel was ich in meine Datebank eintragen ( verwende MySQL ) immer auch einen Link mit eintragen soll? Der ist immer gleich also bei jeder Nachricht.

Hier mal wie ich das bis jetzt geamcht habe aber noch OHNE Link:

$sql = "INSERT INTO wjt_news_2005
(
name,
betreff,
text,
IP,
betriebsystem,
woher_kommt_user,
logo
datum
)
VALUES
(
'" . $_SESSION['benutzername'] . "',
'" . addslashes($_POST["betreff"]) . "',
'" . addslashes($_POST["text"]) . "',
'" . $_SERVER["REMOTE_ADDR"]. "',
'" . $_SERVER["HTTP_USER_AGENT"]. "',
'" . $_SERVER['HTTP_REFERER']. "',
NOW()
)
";
mysql_query($sql) OR die(mysql_error());

GENAU da wo LOGO steht was muss ich machen, dass eben immer ein Link genau zu dem Logo eingefügt wird? Ich will den nicht jedes mal neu schreiben müssen sondern wie schon gesagt selber eintragen lassen.

Gruß PHPNeuling

  1. hi,

    hab mal eine Frage. Und zwar kann ich meinem PHP Skript sagen, dass er bei jedem Artikel was ich in meine Datebank eintragen ( verwende MySQL ) immer auch einen Link mit eintragen soll? Der ist immer gleich also bei jeder Nachricht.

    natürlich kann man das - aber wozu?
    an jedem datensatz in einer spalte exakt den selben wert abzulegen, ist doch hochgradig redundant.
    das einwohnermeldeamt speichert doch auch nicht an jedem personenstammsatz ab, dass der betreffende auf der erde wohnt ... (ich weiß, wenn die vogonen erst mal kommen, haben diese kurzsichtigen ein problem.)

    GENAU da wo LOGO steht was muss ich machen,

    ja, und zwar zunächst mal ein komma zwischen logo und datum setzen.

    dass eben immer ein Link genau zu dem Logo eingefügt wird? Ich will den nicht jedes mal neu schreiben müssen sondern wie schon gesagt selber eintragen lassen.

    und wo ist das problem, bei den VALUES ein weiteres hinzuzufügen, mit dem von dir gewünschten inhalt.

    sorry, aber ich verstehe das problem echt nicht.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hallo,

      natürlich kann man das - aber wozu?
      an jedem datensatz in einer spalte exakt den selben wert abzulegen, ist doch hochgradig redundant.
      das einwohnermeldeamt speichert doch auch nicht an jedem personenstammsatz ab, dass der betreffende auf der erde wohnt ... (ich weiß, wenn die vogonen erst mal kommen, haben diese kurzsichtigen ein problem.)

      warum ich das mache das hat schon seine Gründe :-) ich brauch einfach bei jedem Eintrag auch noch die URL zu einem Logo. Wieso und ob das gut ist bzw. nicht das ist jetzt erst mal ganz egal.

      ja, und zwar zunächst mal ein komma zwischen logo und datum setzen.

      jepp das habe ich gerade geamcht, wenn nicht dann wär eben mal wieder eine Fehlermeldung gekommen :-)

      und wo ist das problem, bei den VALUES ein weiteres hinzuzufügen, mit dem von dir gewünschten inhalt.

      sorry, aber ich verstehe das problem echt nicht.

      Joa mein Problem ist genau bei dem VALUES dass ich nicht weiß, wie man das eintragen lässt bzw. wie das heißen muss, hab das so noch nie geamcht.

      Gruß PHPNeuling

      1. hi,

        warum ich das mache das hat schon seine Gründe :-) ich brauch einfach bei jedem Eintrag auch noch die URL zu einem Logo. Wieso und ob das gut ist bzw. nicht das ist jetzt erst mal ganz egal.

        und unfug bleibt's trotzdem.

        Joa mein Problem ist genau bei dem VALUES dass ich nicht weiß, wie man das eintragen lässt bzw. wie das heißen muss, hab das so noch nie geamcht.

        dann schau dir im mysql-handbuch die INSERT-syntax an.
        und im PHP-manual vielleicht noch die grundlagen über strings, wenn es mit dem "einsetzen" hapern sollte.

        und addslashes() ist zum absichern von mysql-queries eine klassische "fehlbesetzung" - nutze bitte mysql_real_escape_string() stattdessen.
        und zwar bei _allen_ daten, die von außerhalb kommen - derzeit werden beispielsweise $_SERVER['HTTP_USER_AGENT'] und $_SERVER['HTTP_REFERER'] unbehandelt in die query eingesetzt, das ist gefährlich!

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
      2. Hallo PHPNeuling,

        warum ich das mache das hat schon seine Gründe :-)

        wahsaga hat voellig recht, wenn er sagt dieser Eintrag ist ueberfluessig. Du hast im OP geschrieben, dass der Link immer gleich sein soll, vermutlich wirst du noch die ID aus der Datenbank oder sowas anhaengen wollen. Du fragst also einfach deine Datenbank ab und generierst den Link durch entsprechende Zeicherkettung in PHP.
        Beispiel:
        Dein Link ist www.example.com, deine ID 1234, das Ergenis deiner Abfrage befindet sich im Array $daten. Dann machst du daraus in PHP '<a href="www.example.com?id=' . $daten['id'] . '">Linktext</a>'.

        Gruß,

        Dieter

        1. Hallo,

          ich weiß gar nicht was Ihr alle habt, dass man den Link immer mit einträgt auf ein paar 100 Einträge mehr kommt es dann auch nicht an oder warum seit Ihr so gegen diesen Eintrag?

          Gruß PHPNeuling

          1. Hallo PHPNeuling,

            ich weiß gar nicht was Ihr alle habt, dass man den Link immer mit einträgt auf ein paar 100 Einträge mehr kommt es dann auch nicht an oder warum seit Ihr so gegen diesen Eintrag?

            Redundante Datenhaltung ist ein Fehler. Bei 100 Eintraegen ist natuerlich ziemlich ohne Belang, aber du wirst irgendwann vielleicht mal mit einer richtig fetten Datenbank arbeiten, dann macht sich das sehr schnell bemerkbar. Ich wuerde mich nicht wohl dabei fuehlen, einem Neuling irgendwas auf eine grundlegend falsche Art zu erklaeren.

            Gruß,

            Dieter

            1. Hi,

              hmm da ist mir noch gerade was anderes gekommen. Wenn ich für die ganzen Logos und so eine eigene Tabelle anlegen und die dan einfach immer da raus holfe meinst du dass das besser währe?

              Ich denke die DB wird hmm kommt drauf an wie man groß versteht nicht so groß. Also das Jahr hat 365 Tage wir schreiben jeden Tag 20 Berichte, das heißt wir haben in einem Jahr 7300 News das ist ja für eine Db noch nicht viel oder?

              Gruß PHPNeuling

              1. hi,

                hmm da ist mir noch gerade was anderes gekommen. Wenn ich für die ganzen Logos und so eine eigene Tabelle anlegen und die dan einfach immer da raus holfe meinst du dass das besser währe?

                bisher klang es so, als ob du an jedem datensatz exakt die selbe information ablegen willst - das ist wohl aber doch nicht so?

                wenn die information für jeden datensatz individuell ist, kannst du sie am datensatz selber ablegen.

                wenn es aber nur eine bestimmte menge an "logos" gibt, von denen dann für den jeweiligen datensatz eines ausgewählt wird - dann ist eine separate tabelle für die logos, und verknüpfung über einen schlüssel natürlich sinnvoller.

                Ich denke die DB wird hmm kommt drauf an wie man groß versteht nicht so groß. Also das Jahr hat 365 Tage wir schreiben jeden Tag 20 Berichte, das heißt wir haben in einem Jahr 7300 News das ist ja für eine Db noch nicht viel oder?

                nö, das ist für die Db kleinkram.

                gruß,
                wahsaga

                --
                /voodoo.css:
                #GeorgeWBush { position:absolute; bottom:-6ft; }
                1. Hallo,

                  Ich denke die DB wird hmm kommt drauf an wie man groß versteht nicht so groß. Also das Jahr hat 365 Tage wir schreiben jeden Tag 20 Berichte, das heißt wir haben in einem Jahr 7300 News das ist ja für eine Db noch nicht viel oder?

                  nö, das ist für die Db kleinkram.

                  hmm gibts für eine Datenbank eigentlich eine grenze wo es einfach nimmer weiter geht oder was heißt für eine DB viel wenn wir mal eine Million schreiben? Aber so viele Einträge wird nie eine DB haben vorher wird eine zweite angelegt oder?

                  1. Hallo PHPNeuling,

                    Hier ist mal etwas Lesestoff http://lists.mushaake.org/pipermail/php/Week-of-Mon-20030901/001358.html

                    Gruß,

                    Dieter

          2. hi,

            ich weiß gar nicht was Ihr alle habt, dass man den Link immer mit einträgt auf ein paar 100 Einträge mehr kommt es dann auch nicht an

            natürlich, aus der sicht eines ressourcenverschwenders kommt es nie "auf ein paar mehr oder weniger" an.

            wer aber als programmierer/entwickler ein wenig "berufsehre" hat, wird mit seinen ressourcen immer so sparsam wie möglich umgehen - undabhängig davon, die diese in zukunft immer größer werden.

            oder warum seit Ihr so gegen diesen Eintrag?

            weil wir uns mit datendesign ein wenig intensiver befasst haben, begriffe wie normalisierung und redundanzvermeidung uns keine fremdworte sind - und aus erfahrung.

            es kommen oft genug leute hier an, die hilfe wollen, weil irgendwas mit ihrem verkorksten datenmodell nicht mehr abzufragen oder zu erweitern ist.

            erwarte also bitte nicht, dass wir heute ein derartig verkorkstes datenmodell unterstützen, um uns dann nächste woche mit deinen folgeproblemen auseinandersetzen zu dürfen.

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }