mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Mi 24.04.2024 18:09 Benutzername: Passwort: Auto-Login

Thema: PHP --- MYSQL einfügen vom 06.01.2006


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> PHP --- MYSQL einfügen
Autor Nachricht
Psych0re
Threadersteller

Dabei seit: 06.01.2006
Ort: -
Alter: -
Geschlecht: -
Verfasst Fr 06.01.2006 04:31
Titel

PHP --- MYSQL einfügen

Antworten mit Zitat Zum Seitenanfang

Hallo,

wollte mal fragen ob man bei einem INSERT auch mit IF NOT EXIST arbeiten kann.

Grund:

Ich möchte einen Besucherzähler mit MYSQL einrichten der Besucher des Heutigen Tages und der Gesamtheit, aber auch bei Interesse, die Besucher an anderen Tagen anzeigt. Diese Realisierung ist bereits schon passiert.

Aber mich stört es das ich bei jedem Klick auf die page eine Abfrage an die Datenbank stellen muss ob es diesen Browser mit der IP schon gibt und wenn ja kein INSERT sonst INSERT. Es würde die Datenbank um ein vielfaches entlasten wenn es eine möglichkeit gäbe, INSERT wenn IP & Browser nicht zu einem eintrag von Heute Passen.

Vorstellung:

Code:

$sql = "INSERT INTO
               besucher (browser,ip,datum)
           IF NOT EXIST
               values('".$SERVER['HTTP_USER_AGENT']."','".$_SERVER['REMOTE_ADDR']."','NOW')";
mysql_query($sql);


vielleicht kennt ihr ja eine Lösung, die dieses Problem ohne der Nachfolgenden Performance verschlingenden source löst.

Das wäre mein Standard:
Code:

$sql = "SELECT
                 COUNT(*) as anzahl
           FROM
                 besucher
           WHERE
                 browser = '".$_SERVER['HTTP_USER_AGENT']."' && ip = '".$_SERVER['REMOTE_ADDR']."' && datum = '".date("Y-m-d", strtotime(NOW))."'";

$sql_result = mysql_query($sql);
$eintraege = mysql_fetch_array($sql_result);

if($eintraege['anzahl'] == 0){
        $sql_INSERT = "INSERT INTO
                                     besucher(browser,ip,datum)
                                VALUES
                                      ('".$_SERVER['HTTP_USER_AGENT']."','".$_SERVER['REMOTE_ADDR']."','NOW')";
         mysql_query($sql);


hmm hoffe ihr habt es verstanden...... * Keine Ahnung... *
  View user's profile Private Nachricht senden
beeviZ

Dabei seit: 30.09.2002
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Fr 06.01.2006 04:58
Titel

Antworten mit Zitat Zum Seitenanfang

so in der art mach ichs auch immer. bin ja mal gespannt ob das noch anders geht. aber ich bezweifle das.
  View user's profile Private Nachricht senden
Anzeige
Anzeige
Zeithase

Dabei seit: 09.05.2005
Ort: Erfurt
Alter: 39
Geschlecht: Männlich
Verfasst Fr 06.01.2006 10:47
Titel

Re: PHP --- MYSQL einfügen

Antworten mit Zitat Zum Seitenanfang

Psych0re hat geschrieben:
wollte mal fragen ob man bei einem INSERT auch mit IF NOT EXIST arbeiten kann.


Antwort A.
Antwort B.

EXISTS geht nur in Verbindung mit SELECT, DROP und CREATE, so weit ich das gelesen habe.


Zuletzt bearbeitet von Zeithase am Fr 06.01.2006 10:53, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
Psych0re
Threadersteller

Dabei seit: 06.01.2006
Ort: -
Alter: -
Geschlecht: -
Verfasst Fr 06.01.2006 23:04
Titel

Antworten mit Zitat Zum Seitenanfang

Danke für eure Antworten.

Ich habe eine andere Lösung gefunden.

In der DB habe ich ein Unique INDEX eingefügt und einfach einen INSERT IGNORE im Script ausgefürt.

Das Unigue INDEX umfasste die zeilen browser, ip, datum. Wenn jetzt ein INSERT ausgführt wird wo browser, ip, datum gleich wie ein anderer eintrag ist wird eine Fehlermeldung ausgegeben deswegen auch das IGNORE.

Eine anmerkung noch dieses würde auch sehr gut für eine Register Script Funkionieren daher man mit mysql_query(bla) or die("Benutzername Existiert bereits") die Fehlermeldung "Benutzername Existiert bereits" ausgeben und manipulieren kann.

Ich danke karmacoder aus dem IRC für diese Hilfestellung.
  View user's profile Private Nachricht senden
 
Ähnliche Themen BLOB in mysql per php oder mysql einfügen
php, mysql active state einfügen
Textdatei zeilenweise in schleife in MySQL-Tabelle einfügen?
HTML code in MySQL Daten bank einfügen macht Probleme
[PHP + mySQL] Kann Fehler in einer mySQL-Phrase nicht finden
[PHP/MySQL] MySQL Error: 1054, falsche Tabelle ausgewählt?
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.