SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Webseiten professionell erstellen

Webseiten professionell erstellen zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > MySQLi/PDO/(MySQL)
Hilfe Community Kalender Heutige Beiträge Suchen

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 20.02.2007, 19:04:29
Benutzerbild von Socrates
Socrates Socrates ist offline
Member
 
Registriert seit: Jul 2006
Ort: Göttingen/Deutschland
Alter: 35
Beiträge: 586
Where verneinen

Hallo! Ich bastle mir grade einen counter und bin auf die simple Frage gestoßen, wie verneine ich eine WHERE -Abfrage also z.B.
PHP-Code:
$sql "SELECT COUNT(*) as Anzahl FROM Online WHERE Name != 'Gast'"
So wie es hier steht funktioniert das allerdings nicht schade! Wäre für eure Hilfe dankbar!
MfG, Andy
__________________
BSc. Applied Computer Science
http://www.bornageek.com
Mit Zitat antworten
  #2  
Alt 20.02.2007, 19:10:46
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: Where verneinen

was funktioniert denn daran nicht?

normalerweise sollte es nämlich mit != keine probleme geben. ansonsten tuts ein WHERE NOT a = 'b' auch...

Geändert von feuervogel (20.02.2007 um 19:12:08 Uhr)
Mit Zitat antworten
  #3  
Alt 20.02.2007, 19:45:15
Damir Damir ist offline
Administrator
 
Registriert seit: Jan 2002
Ort: Köln
Alter: 53
Beiträge: 1.276
AW: Where verneinen

Hi,


PHP-Code:
$sql "SELECT COUNT(*) as Anzahl FROM Online WHERE Name <> 'Gast'"
Aber eigentlich sollte es ja auch so wie feuervogel gesagt hat funktionieren....

Damir
Mit Zitat antworten
  #4  
Alt 20.02.2007, 20:01:34
Benutzerbild von Socrates
Socrates Socrates ist offline
Member
 
Registriert seit: Jul 2006
Ort: Göttingen/Deutschland
Alter: 35
Beiträge: 586
AW: Where verneinen

Also wie gesagt, habe ich einen counter gebastelt, der aber leider nicht das tut, was er soll nämlich anzeigen, wenn ein registrierter user eingeloggt ist und dann auch dessen namen ausgeben. Da ich aber keine weiteren Fehler finde, würde ich euch bitten ma kurz drüber zu schauen. Die session id enthält eine einmalige id, die jedem registrierten user fest zugeordnet wird und ihn so erkennbar macht.

PHP-Code:
<?php
session_start
();
$verbindung mysql_connect("host","user","passwort") or die ("Keine Verbindung moeglich!");
mysql_select_db("datenbank") or die ("Die Datenbank existiert nicht!");


    
$sql "SELECT COUNT(*) as Anzahl FROM Online WHERE IP = '".$_SERVER['REMOTE_ADDR']."'";
    
$result mysql_query($sql) OR die(mysql_error());
    
$row mysql_fetch_assoc($result);
    if(
$row['Anzahl'] && !isset($_SESSION["id"])) 
    {
        
// Nur Datum Updaten
        
$sql "UPDATE Online SET Datum = NOW() WHERE IP = '".$_SERVER['REMOTE_ADDR']."'";
        
mysql_query($sql) OR die(mysql_error());
    }
    
    elseif(
$row['Anzahl'] && isset($_SESSION["id"]))
    {
        
$sessid $_SESSION["id"];
        
$sql "SELECT nick as name FROM user WHERE id = '$sessid'";
        
$result mysql_query($sql) OR die(mysql_error());
        
$row mysql_fetch_assoc($result);
        
$name $row['name'];
        
        
$sql "UPDATE Online SET Name = '$name' WHERE IP = '".$_SERVER['REMOTE_ADDR']."'";
        
mysql_query($sql) OR die(mysql_error());
        
        
$sql "UPDATE Online SET Datum = NOW() WHERE IP = '".$_SERVER['REMOTE_ADDR']."'";
        
mysql_query($sql) OR die(mysql_error());
    }
    
    else 
    {
        
// Neuer eintrag wenn $_SESSION["id"] nicht gesetzt
        
if(!isset($_SESSION["id"]))
        {
        
$sql "INSERT INTO Online (IP, Datum, Name) VALUES ('".$_SERVER['REMOTE_ADDR']."', NOW(), 'Gast')";
        
mysql_query($sql) OR die(mysql_error());
        }
        
        
// Neuer eintrag wenn $_SESSION["id"] gesetzt
        
elseif (isset($_SESSION["id"]))
        {
        
$sessid $_SESSION["id"];
        
$sql "SELECT nick as name FROM user WHERE id = '$sessid'";
        
$result mysql_query($sql) OR die(mysql_error());
        
$row mysql_fetch_assoc($result);
        
$name $row['name'];
        
        
$sql "INSERT INTO Online (IP, Datum, Name) VALUES ('".$_SERVER['REMOTE_ADDR']."', NOW(), '$name')";
        
mysql_query($sql) OR die(mysql_error());
        }
    }

    
// alte Datensätze löschen
    
$sql "DELETE FROM Online WHERE DATE_SUB(NOW(), INTERVAL 3 MINUTE) > Datum";
    
mysql_query($sql) OR die(mysql_error());

    
// Anzahl Ausgeben alle
    
$sql "SELECT COUNT(*) as Anzahl FROM Online";
    
$result mysql_query($sql) OR die(mysql_error());
    
$row mysql_fetch_assoc($result);

    echo 
"<h6>Benutzer online: ".$row['Anzahl']."</h6><br />";

    
// Anzahl Ausgeben user
    
$sql "SELECT COUNT(*) as Anzahl FROM Online WHERE NOT Name = 'Gast'";
    
$result mysql_query($sql) OR die(mysql_error());
    
$row mysql_fetch_assoc($result);

    echo 
"<h6>Registrierte Benutzer: ".$row['Anzahl']."</h6><br />";

    
// Anzahl Ausgeben gäste
    
$sql "SELECT COUNT(*) as Anzahl FROM Online WHERE Name = 'Gast'";
    
$result mysql_query($sql) OR die(mysql_error());
    
$row mysql_fetch_assoc($result);

    echo 
"<h6>G&auml;ste: ".$row['Anzahl']."</h6><br /><hr style='width:95%; color:#000000; border-style:solid; border-width:1px;'>";

    
// Name Ausgeben user
    
$sql "SELECT Name FROM Online WHERE NOT Name = 'Gast'";
    
$result mysql_query($sql) OR die(mysql_error());
    while(
$row mysql_fetch_object($result))
    {
    
$name $row->Name;
    echo 
'<h6>' $name '&nbsp;|</h6>';
    }
    
mysql_close($verbindung);
?>
Meiner Meinung nach sollte das so eigentlich gut funktionieren.
MfG, Andy
__________________
BSc. Applied Computer Science
http://www.bornageek.com

Geändert von Socrates (20.02.2007 um 20:47:33 Uhr)
Mit Zitat antworten
  #5  
Alt 20.02.2007, 20:29:11
Heinrich Heinrich ist offline
Member
 
Registriert seit: Feb 2006
Beiträge: 883
AW: Where verneinen

Wo kommt der "Gast" (d.h. dieser String) denn eigentlich her?
Mit Zitat antworten
  #6  
Alt 20.02.2007, 20:38:52
Benutzerbild von Socrates
Socrates Socrates ist offline
Member
 
Registriert seit: Jul 2006
Ort: Göttingen/Deutschland
Alter: 35
Beiträge: 586
AW: Where verneinen

Das wird oben in der if-abfrage, die im else steht in die datenbank eingetragen und dann immer nur überprüft bzw ausgelesen.
PHP-Code:
        if(!isset($_SESSION["id"]))
        {
        
$sql "INSERT INTO Online (IP, Datum, Name) VALUES ('".$_SERVER['REMOTE_ADDR']."', NOW(), 'Gast')";
        
mysql_query($sql) OR die(mysql_error());
        } 
MfG, Andy
__________________
BSc. Applied Computer Science
http://www.bornageek.com
Mit Zitat antworten
  #7  
Alt 20.02.2007, 21:11:54
Heinrich Heinrich ist offline
Member
 
Registriert seit: Feb 2006
Beiträge: 883
AW: Where verneinen

Sorry, hatte das wegen des horizontalen Scrollbalkens nicht gesehen.

Jetzt fällt mir auch nix Gescheites ein.

Wenn ich das auf deiner HP richtig lokalisiere, steht da garnix. Mach' doch ml mit einem String eine Testausgabe. Und vielleicht liest du mit mysql_fetch_object usw. das array Name nicht richtig aus..... ist aber nur geraten.
Mit Zitat antworten
  #8  
Alt 21.02.2007, 17:25:17
Benutzerbild von Socrates
Socrates Socrates ist offline
Member
 
Registriert seit: Jul 2006
Ort: Göttingen/Deutschland
Alter: 35
Beiträge: 586
AW: Where verneinen

Also ich weiß jett woran es liegt, aber ich weiß nicht, wie ich es ändern soll. Und zwar erkennt er die $_SESSION["id"] nicht. Wenn ich sie auf der Seite ausgeben lasse, auf der ich den counter include, habe ich kein problem er zeigt sauber die id des users an. lasse ich die session aber im counter-script ausgeben passiert rein garnichts. Woran kann das liegen?
MfG, Andy
__________________
BSc. Applied Computer Science
http://www.bornageek.com
Mit Zitat antworten
  #9  
Alt 21.02.2007, 18:02:19
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
AW: Where verneinen

Wenn Du das Counter-Script ausführst und eine Ausgabe von $_SESSION['id'] tätigst, dann zeigt er Dir $_SESSION['id'] nicht an, weil diese nicht deklariert ist.
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #10  
Alt 21.02.2007, 18:05:08
Benutzerbild von Socrates
Socrates Socrates ist offline
Member
 
Registriert seit: Jul 2006
Ort: Göttingen/Deutschland
Alter: 35
Beiträge: 586
AW: Where verneinen

warum das ich denke sessions werden, wenn sie in cookies gespeichert werden vom browser gespeichert und sollten so überall abfragbar sein. oder klappt es deswegen nicht, weil counter.php included wird? wenn ja welche alternative habe ich an die infos in der session zu kommen?
MfG, Andy
__________________
BSc. Applied Computer Science
http://www.bornageek.com
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Leeres Resultat? Sk3y MySQLi/PDO/(MySQL) 10 13.11.2006 18:57:40
query bringt mit WHERE xyz OR xyz zu viele ergebnisse panametrics MySQLi/PDO/(MySQL) 1 15.09.2006 19:48:56
Unknown column 'mitarbeiternr' in 'where clause' Notting PHP Grundlagen 5 30.04.2006 21:27:51
WHERE MATCH ... AGAINST..., zusätzliche WHERE Anweisungen definieren?! 8805-evergreen. MySQLi/PDO/(MySQL) 6 10.03.2006 21:48:06
Das soll nach 1 h ausgeführt werden! Spike15 PHP Grundlagen 12 04.04.2005 16:29:57


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:19:38 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt