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 ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 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 > SELFPHP > MySQLi/PDO/(MySQL)

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 13.07.2006, 09:30:53
Benutzerbild von Quago
Quago Quago ist offline
Anfänger
 
Registriert seit: Jul 2006
Ort: Esslingen
Alter: 39
Beiträge: 142
Vergleich

ich habe ein broblem!! ihr denkt euch sicherlich das das jeder hat der hier um hilfe sucht ... stimmt warscheinlich....
also ich will einen sql vergleich machen er sollte dies erfüllen
PHP-Code:
    $sql="SELECT * From mgw_urlaub WHERE userid=" $user " AND bdat<=" $bdat " OR bdat=" $vdat " AND vdat>=" $vdat " AND vdat<=" $bdat
habe das ganze auch schon mit between versucht!!! auf diesen befehl macht er die gewünschte aktion gar nicht in dieser macht er die 1. beiden richtig aber berücksichtigt den rest nicht habe auch das or schon rausgeschmissen da es dann ein teoretisch 90% der fälle trotzdem beherscht!
will er aber auch nicht er lässt mich trotzdem gemütlich weitermachen und blockiert mich nicht hat jemand eine idee???
wäre super da ich nun glaube ich mehrere tut`s und seiten durchforsten habe sitze ich mit meinem latein am ende!!!
mfg quago
__________________
Nicht alles was glänzt ist Gold
Mit Zitat antworten
  #2  
Alt 13.07.2006, 10:02:43
Andes Andes ist offline
Member
 
Registriert seit: Jun 2006
Ort: Bayern
Alter: 56
Beiträge: 930
AW: Vergleich

Du kannst doch Klammern zu Eingrenzung verwenden. Musst sie halt so setzen wie du sie brauchst.

Beispiel
PHP-Code:
$sql="SELECT * From mgw_urlaub WHERE userid=" $user " AND bdat<=" $bdat " OR (bdat=" $vdat " AND vdat>=" $vdat " AND vdat<=" $bdat.")";

oder

$sql
="SELECT * From mgw_urlaub WHERE (userid=" $user " AND bdat<=" $bdat ") OR (bdat=" $vdat " AND vdat>=" $vdat " AND vdat<=" $bdat.")"
__________________
Grüße Andes

Geändert von Andes (13.07.2006 um 10:03:18 Uhr)
Mit Zitat antworten
  #3  
Alt 13.07.2006, 11:02:38
Benutzerbild von Quago
Quago Quago ist offline
Anfänger
 
Registriert seit: Jul 2006
Ort: Esslingen
Alter: 39
Beiträge: 142
AW: Vergleich

danke für die schnelle antwort allerdings funktioniert auch diese variante nicht
habe dann auch noch das hier ausprobiert
PHP-Code:
        $sql="SELECT * From mgw_urlaub WHERE (userid=" $user " AND vdat<=" $vdat " AND vdat<=" $bdat ") OR (bdat>=" $vdat " AND bdat<=" $bdat ")"
was allerdings genauso wenig funktioniert ich glaube allerdings das ich evt einen denkfehler habe...
aber für mich heist obige zeile das er wenn die id zu dem user gehört UND das startdatum größergleich dem alten startdatum UND kleinergleich dem enddatum ODER das enddatumgrößergleich dem startdatum UND das endatum kleinergleich dem alten start datum dann...aber machen will er dies nicht...
PHP-Code:
if(!$res $conn->Execute($sql)) exit(showSQLerror($sql$conn->ErrorMsg(), __LINE____FILE__));
                
$row $res->FetchRow();
                if (
$row != '')
                    {
        
$smarty->assign("warnung",Lang::getLanguageString("egw_achtungdat"));    
        
$smarty->assign("sysdate",date("Y-m-d"));
        
$smarty->assign("betreff",$betreff);
        
$smarty->assign("hinweis_1",$hinweis_1);
        
$smarty->display("urlaub_details.tpl");
    return 
false;
                    } 
das ist meine anschließende aktion welche er durchführt wenn ich ihm z.b. sage er soll sperren wenn id=id also funktioniert diese zeile doch oder???
nochmals vielen dank ihr seit echt klasse und geduldig ;-)
__________________
Nicht alles was glänzt ist Gold
Mit Zitat antworten
  #4  
Alt 13.07.2006, 11:11:42
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: Vergleich

Zitat:
$row = $res->FetchRow();
if ($row != '')
bist du dir sicher, dass falls das query keine ergebnisse liefert, dann FetchRow einen leeren string zurückgibt?
Mit Zitat antworten
  #5  
Alt 13.07.2006, 11:16:00
Benutzerbild von Quago
Quago Quago ist offline
Anfänger
 
Registriert seit: Jul 2006
Ort: Esslingen
Alter: 39
Beiträge: 142
AW: Vergleich

zumindest spert er mir meinen neuen eintrag und sagt mir dass doppeltbuchungen nicht möglich sind!
ich bin an einem punkt wo ich das schmeiß und komplett neu mach ^^
aber ich habe auch keie 3. lösung gefunden zu <= oder between weist du evt noch was???
__________________
Nicht alles was glänzt ist Gold
Mit Zitat antworten
  #6  
Alt 13.07.2006, 11:47:43
Benutzerbild von Quago
Quago Quago ist offline
Anfänger
 
Registriert seit: Jul 2006
Ort: Esslingen
Alter: 39
Beiträge: 142
AW: Vergleich

@feuervogel = wenn ich sperren lasse wenn 1 herauskommt sperrt er ja auch immer egal was für daten ich im gebe!!!
__________________
Nicht alles was glänzt ist Gold
Mit Zitat antworten
  #7  
Alt 13.07.2006, 12:50:31
Andes Andes ist offline
Member
 
Registriert seit: Jun 2006
Ort: Bayern
Alter: 56
Beiträge: 930
AW: Vergleich

Diese Klammernsetzung beuted:
PHP-Code:
$sql="SELECT * From mgw_urlaub WHERE (userid=" $user " AND vdat<=" $vdat " AND vdat<=" $bdat ") OR (bdat>=" $vdat " AND bdat<=" $bdat ")"
wenn (userid gleich user und vdat kleiner/gleich $vdat und vdat kleiner/gleich $bdat ) oder (bdat größer/gleich $vdat und bdat kleiner/gleich $bdat)
Das heißt das entweder erste Klammer (gibt es einen User mit der ID und entsprechend die anderen Felder dieses Users der Variable) oder zweite Klammer (entspricht irgendein Eintrag bei den die zwei Felder der Variablen entsprechen) zutreffen muss.
Also würdest du auch User finden die das Script gar nicht aufgerufen haben.

So würde es wohl eher stimmen. Zumindest fragst du damit nur nach einem bestimmten User und bei dem muss entweder die eine Klammer oder die andere Klammer erfüllt sein.
PHP-Code:
$sql="SELECT * From mgw_urlaub WHERE userid=" $user " AND ((vdat<=" $vdat " AND vdat<=" $bdat ") OR (bdat>=" $vdat " AND bdat<=" $bdat "))"
__________________
Grüße Andes
Mit Zitat antworten
  #8  
Alt 13.07.2006, 13:45:45
Benutzerbild von Quago
Quago Quago ist offline
Anfänger
 
Registriert seit: Jul 2006
Ort: Esslingen
Alter: 39
Beiträge: 142
AW: Vergleich

ok das ist nun besser danke trotzdem werde ich noch nicht geblockt!!!!
ich denke das es nun noch an der sache liegt die feuervogel gesagt hatte...

Zitat:
Zitat von feuervogel
bist du dir sicher, dass falls das query keine ergebnisse liefert, dann FetchRow einen leeren string zurückgibt?
aber was muss ich in meine if schleife einfügen das wen $user && $vdat && $bdat was ausgeben muss dies da evt rein???? wenn ja wie müsste dies denn dann aussehen mit dem or oder muss mann dann nur 1 berücksichtigen oder kann mann dort ebenfalls unterscheiden?????
__________________
Nicht alles was glänzt ist Gold
Mit Zitat antworten
  #9  
Alt 13.07.2006, 13:53:31
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: Vergleich

Zitat:
Zitat von Quago
ich denke das es nun noch an der sache liegt die feuervogel gesagt hatte...
das satzzeichen ? schließt eine frage ab, keine aussage.
Zitat:
aber was muss ich in meine if schleife einfügen das wen $user && $vdat && $bdat was ausgeben muss dies da evt rein???? wenn ja wie müsste dies denn dann aussehen mit dem or oder muss mann dann nur 1 berücksichtigen oder kann mann dort ebenfalls unterscheiden?????
ich kenne keine if-schleifen, weiß nicht was du mit deiner frage meinst und lese in deinem posting keine antwort auf meine frage.

Geändert von feuervogel (13.07.2006 um 13:55:56 Uhr)
Mit Zitat antworten
  #10  
Alt 13.07.2006, 14:38:07
Benutzerbild von Quago
Quago Quago ist offline
Anfänger
 
Registriert seit: Jul 2006
Ort: Esslingen
Alter: 39
Beiträge: 142
AW: Vergleich

Zitat:
Zitat von feuervogel
das satzzeichen ? schließt eine frage ab, keine aussage.
Dies sollte ein ausdruck meiner verwunderung sein ist aber egal!

Zitat:
ich kenne keine if-schleifen, weiß nicht was du mit deiner frage meinst und lese in deinem posting keine antwort auf meine frage.
habe dies nun eingehend gepfüft und bin zu dem entschluss gekommen, dass das fetchrow mir nichts augiebt!!! hast du eine idee wie mann das machen kann??? hier nocheinmal mein qt!
PHP-Code:
    function opCreate() 
        {
        global 
$conn$smarty$appconf$user;
            if(
queryRights2_bool('root_modules_urlaub_write'))
            {
        
            
$urlaubsart =            (int)$_POST["urlaubsart"];
            
$betreff    =            (string)$_POST["betreff"];
            
$hinweis_1    =            (string)$_POST["hinweis_1"];
            
$vdat        =            (string)$_POST["start"];
            
$bdat        =            (string)$_POST["end"];
        
        

         
$sql="SELECT * From mgw_urlaub WHERE userid=" $user " AND ((vdat>=" $vdat " AND vdat<=" $bdat ") OR (bdat>=" $vdat " AND bdat<=" $bdat "))";
                if(!
$res $conn->Execute($sql)) exit(showSQLerror($sql$conn->ErrorMsg(), __LINE____FILE__));
                
$row $res->FetchRow();

                if (
$row != '')
                    {
        
$smarty->assign("warnung",Lang::getLanguageString("egw_achtungdat"));    
        
$smarty->assign("sysdate",date("Y-m-d"));
        
$smarty->assign("betreff",$betreff);
        
$smarty->assign("hinweis_1",$hinweis_1);
        
$smarty->display("urlaub_details.tpl");
    return 
false;
                    }    

                
$sql="INSERT INTO mgw_urlaub (userid, vdat, bdat, art, hinweis_1, betreff, Created)
            VALUES ($user,'$vdat','$bdat',$urlaubsart,'$hinweis_1', '$betreff', "
.$conn->DBTimeStamp(time()).")";
        if(!
$conn->Execute($sql)) exit(showSQLerror($sql$conn->ErrorMsg(), __LINE____FILE__));

       return 
true;
            }
        else{
           
$smarty->assign("errorheader",Lang::getLanguageString("permerror"));
           
$smarty->assign("permerror",Lang::getLanguageString("permerrormsg"));
           
$smarty->display($appconf["gentemplates"] ."/perm_errors.tpl");
           exit();
            }
        
        } 
__________________
Nicht alles was glänzt ist Gold
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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
Vergleich schlägt fehl oder brauche ich noch eine Variable? Franzx MySQLi/PDO/(MySQL) 6 18.06.2006 13:33:41
Vergleich von GET-Variable mit Array mirok666 PHP Grundlagen 2 21.03.2006 13:58:40
Ist ein Vergleich 'datum'>=NOW() möglich? don soletti MySQLi/PDO/(MySQL) 10 26.02.2005 09:23:45
Datums vergleich Rawi PHP für Fortgeschrittene und Experten 6 21.09.2004 17:02:34
Vergleich von zwei Spalten Killas PHP für Fortgeschrittene und Experten 8 14.06.2004 18:30:30


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:25:53 Uhr.


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


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