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
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...
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 ;-)
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???
$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 . "))";
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?????
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.
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'))
{