Daten in WHERE-Klausel vergleichen


 
Neues Thema eröffnen   Neue Antwort erstellen    Webmaster Forum -> Hilfe für Webmaster -> PHP / MySQL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
BB-BF-BM
Gast

BeitragDaten in WHERE-Klausel vergleichen Antworten mit Zitat

Ich schreibe gerade an einem User-System und möchte mit einem SQL-Befehl Daten aus einer Tabelle holen:
PHP-Code:
1
2
3
4
5
6
7
8
9
10
$sql 'UPDATE '.SESSION_TABLE.'
                SET
                    last_visit = \''
.$this->time.'\',
                    user_ip = \''
.$_SERVER['REMOTE_ADDR'].'\',
                    user_agent = \''
.$_SERVER['HTTP_USER_AGENT'].'\',
                    referer = \''
.( isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '' ).'\',
                    last_page = \''
.$_SERVER['REQUEST_URI'].'\' 
                WHERE
                    session_id = \''
.$sid.'\'';
            
$db->query($sql); 

Nun möchte ich aber nur die Daten holen, wenn die IP aus dem Datensatz mit der des Users übereinstimmt:
PHP-Code:
1
2
3
4
5
6
7
8
9
10
11
$sql 'UPDATE '.SESSION_TABLE.'
                SET
                    last_visit = \''
.$this->time.'\',
                    '
.( !$config->check_ip 'user_ip = \''.$_SERVER['REMOTE_ADDR'].'\',' '' ).'
                    user_agent = \''
.$_SERVER['HTTP_USER_AGENT'].'\',
                    referer = \''
.( isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '' ).'\',
                    last_page = \''
.$_SERVER['REQUEST_URI'].'\' 
                WHERE
                    session_id = \''
.$sid.'\' 
                '
.( $config->check_ip 'AND user_ip = \''.$_SERVER['REMOTE_ADDR'].'\'' '' );
            
$db->query($sql); 
Gibt es auch eine Möglichkeit, nur die ersten beiden Stellen der IP zu vergleichen (xxx.xxx.***.***), OHNE dass ich vorher mit einem SELECT-Befehl mir erst die gespeicherte IP hole, und sie dann mit explode() aufteile?
27 Jun 2006 10:46
wpSEO, das Plugin für WordPress SEO
David
Administrator

Beitrag Antworten mit Zitat

Explode ist die einzige Möglichkeit, die mir so spontan einfällt. Man könnte auch die IP auf die ersten 7 Zeichen reduzieren, was aber nicht das Wahre ist. Es müssen ja nicht immer dreistellige Zahlen sein... Vielleicht haben unsere Experten eine Idee?

_________________
MfG David Mirzoian
axinio Internet Marketing - professionelle Suchmaschinenoptimierung
27 Jun 2006 13:15
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
V4hn
Moderator

BeitragRe: Daten in WHERE-Klausel vergleichen Antworten mit Zitat

du weißt aber,
das du mit dem Befehl Daten REINSCHREIBST und nicht holst?

soweit ich dich verstanden habe, sollte es so gehen:
PHP-Code:
1
2
3
4
5
6
7
8
9
10
11
12
$ip_a explode('.'$_SERVER['REMOTE_ADDR']);
$sql "UPDATE ".SESSION_TABLE."
                SET
                    last_visit = '"
.$this->time."',
                    "
.( !$config->check_ip "user_ip = '".$_SERVER['REMOTE_ADDR']."'," "" )."
                    user_agent = '"
.$_SERVER['HTTP_USER_AGENT']."',
                    referer = '"
.(isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : "" )."',
                    last_page = '"
.$_SERVER['REQUEST_URI']."' 
                WHERE
                    session_id = '"
.$sid."' 
                "
.( $config->check_ip "AND user_ip LIKE '".$ip_a[0]."."$ip_a[1].".%'" "" );
            
$db->query($sql); 

_________________
27 Jun 2006 15:42
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
David
Administrator

Beitrag Antworten mit Zitat

@ V4hn, so wie ich das verstanden habe, sucht BB-BF-BM eine Möglichkeit ohne Explode Wink

_________________
MfG David Mirzoian
axinio Internet Marketing - professionelle Suchmaschinenoptimierung
27 Jun 2006 16:04
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
V4hn
Moderator

Beitrag Antworten mit Zitat

du hast es ja auch falsch verstanden Wink
es geht darum,
dass er sich die ip nicht erst aus der DB auslesen will vorher...

meine ich zumindest^^
sonst ließe sich das zu 100% auch über regex machen...
da hab ich mich mit dem Syntax nur noch nicht wirklich beschäftigt

_________________
27 Jun 2006 16:06
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
BB-BF-BM
Gast

Beitrag Antworten mit Zitat

V4hn hat Folgendes geschrieben:
es geht darum,
dass er sich die ip nicht erst aus der DB auslesen will vorher...
da hast du mich richtig verstanden.

Übrigens: Du hast recht, das ist der Befehl, mit dem ich die Daten vorher in der DB aktualisiere, bevor ich sie auslese Embarassed

Werde morgen mal deine Variante ausprobieren nd mich dann wieder melden!
27 Jun 2006 19:15
axinio Internet Marketing
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Webmaster Forum -> Hilfe für Webmaster -> PHP / MySQL Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  

Ähnliche Beiträge
Thema Webmaster Forum Antw. Autor Verfasst am
Keine neuen Beiträge JS Übernahme von Daten aus einer Tabelle Ankündigungen / Feedback & Hilfe 1 Werner 05 Okt 2011 10:38 Letzten Beitrag anzeigen
Keine neuen Beiträge Kontaktformular mit Daten & Bild ... PHP / MySQL 0 moeses78 31 Jan 2011 12:13 Letzten Beitrag anzeigen
Keine neuen Beiträge 2 Arrays vergleichen PHP / MySQL 6 MGoldi 24 Aug 2010 21:58 Letzten Beitrag anzeigen
Keine neuen Beiträge Probleme mit textarea, Daten werden n... Hilfe für Webmaster 7 ass-online.eu 18 März 2008 10:27 Letzten Beitrag anzeigen
Keine neuen Beiträge Daten in ein Div Element schreiben Javascript 0 maffy 13 März 2007 12:10 Letzten Beitrag anzeigen