PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP für Fortgeschrittene und Experten (http://www.selfphp.de/forum/forumdisplay.php?f=13)
-   -   $SQL "UPDATE..."befehl funktioniert nicht...bitte um hilfe (http://www.selfphp.de/forum/showthread.php?t=19827)

Der-Unwissende 17.07.2008 16:49:11

$SQL "UPDATE..."befehl funktioniert nicht...bitte um hilfe
 
hallo ich habe ein problem mit meinen $sql "UPDATE..." (befehl ganz unten) ich lasse mir schon fast alle werte als echo befehl aus geben auch die $ergebnis die stimmt auch nur setzt er mir dieses ergebnis/neuer wert nicht in die daten bank

Quelltext:

$tag = date("w");
//******* zeigt Feiertage an...********
$neujahr = date ("m-d");
$tag_d_dt_einheit = date ("m-d");
$reformationstag = date ("m-d");
$tag_d_arbeit = date ("m-d");
$maifeiertag = date ("m-d");
$weihnachten = date ("m-d");
$erster_weihnachtsfeiertag = date ("m-d");
$zweiter_weihnachtsfeiertag = date ("m-d");
$silvester = date ("m-d");
$Jahr = 2008;
$Datumsformat = date ("y.m.d");
echo $ID;


//$aa = mysql_query("SELECT * FROM `urlaub` WHERE `AntragID` = $ID");
//$ab = mysql_query($aa) or die (mysql_error());
$ab = mysql_query("SELECT * FROM `urlaub` WHERE `AntragID` = $ID") or die (mysql_error());

while($row = mysql_fetch_object($ab))
{
echo $row->Von; //Test ob Eigenschaft vorhanden!
echo "*****************************";
$von = $row->Von;
//$datum1= strtotime ($_POST["$von"]); das ist Stuss, und hat hier nix zu suchen -> raus damit
echo $row->Bis; //Test ob Eigenschaft vorhanden!
echo "*****************************";
$bis = $row->Bis; //Test ob Eigenschaft vorhanden!
//$datum2= strtotime ($_POST["$bis"]);das ist Stuss, und hat hier nix zu suchen -> raus damit
echo $row->UserID; //Test ob Eigenschaft vorhanden!
echo "*****************************";
$id_beantrager = $row->UserID;
echo "az tage";
echo $row->Az-Tage; //Test ob Eigenschaft vorhanden!
echo "*****************************";
$az_tage= $row->Az-Tage;
}
echo "<br/>";
echo "--------------------------------------------------";
echo $von;
echo $bis;
echo $id_beantrager;
echo $az_tage;


/*while($row = mysql_fetch_object($ab))
{
$von["Von"]= $row->Von;
$datum1= strtotime ($_POST["$von"]);
$bis["Bis"]= $row->Bis;
$datum2= strtotime ($_POST["$bis"]);
$id_beantrager["User_ID"]= $row->UserID;
$az_tage["Az-Tage"]= $row->Az-Tage;
}
echo $von;
echo $bis;
echo $id_beantrager;
echo $az_tage;
*/
$ac = mysql_query("SELECT * FROM `benutzer` WHERE `UserID` = $id_beantrager")or die (mysql_error());
//$ad = mysql_query ($ac);
while($row = mysql_fetch_object($ac))
{
echo "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%";
echo " rest u";
echo $row->Rest_U;
$Rest_U_beantrager = $row->Rest_U;
}
echo "<br/>"; //Testzwecke
echo "______________"; //Testzwecke
echo" Resturlaub:";
echo $Rest_U;
echo $Rest_U_beantrager; //Testzwecke
echo $von; //Testzwecke
echo $bis; //Testzwecke
echo $datum1; //Testzwecke
echo $datum2; //Testzwecke

//$differenz = ((($datum2-$datum1)/86400)+1);
$differenz = (($bis - $von)/86400)+1;
echo "<br>";
echo"§§§§§§§§§";
echo $differenz;
for ($h;$von < $bis;$von++)
//for ($h;$datum1 < $datum2;$datum1++)

{
$az_tage = 0;
if ($neujahr == 01-01) $az_tage++;
if ($reformationstag == 10-31)$az_tage++;
if ($tag_d_dt_einheit = 10-03)$az_tage++;
if ($tag_d_arbeit = 04-01)$az_tage++;
if ($weihnachten == 12-24)$az_tage++;
if ($erster_weihnachtsfeiertag == 12-25)$az_tage++;
if ($zweiter_weihnachtsfeiertag == 12-26)$az_tage++;
if ($silvester == 12-31)$az_tage++;
if ($tag == 6 AND! $neujahr==01-01 AND! $reformationstag==10-31 AND! $tag_d_dt_einheit==10-03 AND! $tag_d_arbeit==04-01 AND! $weihnachten==12-24 AND! $erster_weihnachtsfeiertag==12-25 AND! $zweiter_weihnachtsfeiertag==12-26 AND! $silvester==12-31)$az_tage++;
if ($tag == 0 AND! $neujahr==01-01 AND! $reformationstag==10-31 AND! $tag_d_dt_einheit==10-03 AND! $tag_d_arbeit==04-01 AND! $weihnachten==12-24 AND! $erster_weihnachtsfeiertag==12-25 AND! $zweiter_weihnachtsfeiertag==12-26 AND! $silvester==12-31)$az_tage++;


//echo"Karfreitag: ",
if (date($Datumsformat, mktime(0, 0, 0, date("m", easter_date($Jahr)), date("d", easter_date($Jahr))-2, date("Y", easter_date($Jahr)))))$az_tage++;
//echo"<br>Ostersonntag: ",
if (date($Datumsformat,easter_date($Jahr)))$az_tage++;
//echo"<br>Ostermontag: ",
if (date($Datumsformat, mktime(0, 0, 0, date("m", easter_date($Jahr)), date("d", easter_date($Jahr))+1, date("Y", easter_date($Jahr)))))$az_tage++;
//echo"<br>Christi Himmelfahrt: ",
if (date($Datumsformat, mktime(0, 0, 0, date("m", easter_date($Jahr)), date("d", easter_date($Jahr))+39, date("Y", easter_date($Jahr)))))$az_tage++;
//echo"<br>Pfingstsonntag: ",
if (date($Datumsformat, mktime(0, 0, 0, date("m", easter_date($Jahr)), date("d", easter_date($Jahr))+49, date("Y", easter_date($Jahr)))))$az_tage++;
//echo"<br>Pfingstmontag: ",
if (date($Datumsformat, mktime(0, 0, 0, date("m", easter_date($Jahr)), date("d", easter_date($Jahr))+50, date("Y", easter_date($Jahr)))))$az_tage++;
//echo"<br>Fronleichnam: ",
if (date($Datumsformat, mktime(0, 0, 0, date("m", easter_date($Jahr)), date("d", easter_date($Jahr))+60, date("Y", easter_date($Jahr)))))$az_tage++;
}
if ($az_tage <= 0)
{$ergebnis = $Rest_U_beantrager - $differenz;
echo '****';
echo "ergebnis_if: ";
echo $ergebnis;
echo " REST_U_BEANTRAGER:::: ";
echo $Rest_U_beantrager;
}
else {
$ergebnis = ($Rest_U_beantrager - $differnz)+$az_tage;
echo '****';
echo "ergebnis_else: ";
echo $ergebnis;
echo " az_tage: ";
echo $az_tage;
}

$sql ="UPDATE `benutzer` SET `Rest_U` = '$ergebnis' WHERE `UserID` = '$ID_beantrager' ";
mysql_query ($sql) or die (mysql_error());



bitte um euere hilfe ich weiß nicht mehr weiter sitze da jetzt scho fast 5h und finde einfach nichts...

erstmal danke

mfg der unwissende

rarios 17.07.2008 17:17:04

AW: $SQL "UPDATE..."befehl funktioniert nicht...bitte um hilfe
 
1. Bitte Code in PHP-Tags im Forum posten! Macht Vieles leichter!
2. Ein e_reporting(E_ALL); am Anfang bitte und die Fehlermeldung anschauen/posten

Der-Unwissende 17.07.2008 20:55:27

AW: $SQL "UPDATE..."befehl funktioniert nicht...bitte um hilfe
 
PHP-Code:

$tag date("w");
//******* zeigt Feiertage an...********
$neujahr date ("m-d");
$tag_d_dt_einheit date ("m-d");
$reformationstag date ("m-d");
$tag_d_arbeit date ("m-d");
$maifeiertag date ("m-d");
$weihnachten date ("m-d");
$erster_weihnachtsfeiertag date ("m-d");
$zweiter_weihnachtsfeiertag date ("m-d");
$silvester date ("m-d");
$Jahr 2008;
$Datumsformat date ("y.m.d");
echo 
$ID;


//$aa = mysql_query("SELECT * FROM `urlaub` WHERE `AntragID` = $ID");
//$ab = mysql_query($aa) or die (mysql_error());
$ab mysql_query("SELECT * FROM `urlaub` WHERE `AntragID` = $ID") or die (mysql_error());

while(
$row mysql_fetch_object($ab))
{
echo 
$row->Von;         //Test ob Eigenschaft vorhanden!
echo "*****************************";
$von $row->Von;
//$datum1= strtotime ($_POST["$von"]); das ist Stuss, und hat hier nix zu suchen -> raus damit
echo $row->Bis;         //Test ob Eigenschaft vorhanden!
echo "*****************************";
$bis $row->Bis;            //Test ob Eigenschaft vorhanden!
//$datum2= strtotime ($_POST["$bis"]);das ist Stuss, und hat hier nix zu suchen -> raus damit
echo $row->UserID;       //Test ob Eigenschaft vorhanden!
echo "*****************************";
$id_beantrager $row->UserID;
echo 
"az tage";
echo 
$row->Az-Tage;     //Test ob Eigenschaft vorhanden!
echo "*****************************";
$az_tage$row->Az-Tage;
}
echo 
"<br/>";
echo 
"--------------------------------------------------";
echo 
$von;
echo 
$bis;
echo 
$id_beantrager;
echo 
$az_tage;


/*while($row = mysql_fetch_object($ab))
{
$von["Von"]= $row->Von;
$datum1= strtotime ($_POST["$von"]);
$bis["Bis"]= $row->Bis;
$datum2= strtotime ($_POST["$bis"]);
$id_beantrager["User_ID"]= $row->UserID;
$az_tage["Az-Tage"]= $row->Az-Tage;
}
echo $von;
echo $bis;
echo $id_beantrager;
echo $az_tage;
*/
$ac mysql_query("SELECT * FROM `benutzer` WHERE `UserID` = $id_beantrager")or die (mysql_error());
//$ad = mysql_query ($ac);
while($row mysql_fetch_object($ac))
{
echo 
"%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%";
echo 
" rest u";
echo 
$row->Rest_U;
$Rest_U_beantrager $row->Rest_U;
}
echo 
"<br/>";                //Testzwecke
echo "______________";      //Testzwecke
echo" Resturlaub:";
echo 
$Rest_U;
echo 
$Rest_U_beantrager;    //Testzwecke
echo $von;                 //Testzwecke
echo $bis;                //Testzwecke
echo $datum1//Testzwecke
echo $datum2//Testzwecke

//$differenz = ((($datum2-$datum1)/86400)+1);
$differenz = (($bis $von)/86400)+1;
echo 
"<br>";
echo
"§§§§§§§§§";
echo 
$differenz;
for (
$h;$von $bis;$von++)
//for ($h;$datum1 < $datum2;$datum1++)

{
$az_tage 0;
if (
$neujahr == 01-01$az_tage++;
if (
$reformationstag == 10-31)$az_tage++;
if (
$tag_d_dt_einheit 10-03)$az_tage++;
if (
$tag_d_arbeit 04-01)$az_tage++;
if (
$weihnachten == 12-24)$az_tage++;
if (
$erster_weihnachtsfeiertag == 12-25)$az_tage++;
if (
$zweiter_weihnachtsfeiertag == 12-26)$az_tage++;
if (
$silvester == 12-31)$az_tage++;
if (
$tag == AND! $neujahr==01-01 AND! $reformationstag==10-31 AND! $tag_d_dt_einheit==10-03 AND! $tag_d_arbeit==04-01 AND! $weihnachten==12-24 AND! $erster_weihnachtsfeiertag==12-25 AND! $zweiter_weihnachtsfeiertag==12-26 AND! $silvester==12-31)$az_tage++;
if (
$tag == AND! $neujahr==01-01 AND! $reformationstag==10-31 AND! $tag_d_dt_einheit==10-03 AND! $tag_d_arbeit==04-01 AND! $weihnachten==12-24 AND! $erster_weihnachtsfeiertag==12-25 AND! $zweiter_weihnachtsfeiertag==12-26 AND! $silvester==12-31)$az_tage++;


    
//echo"Karfreitag: ",
        
if (date($Datumsformatmktime(000date("m"easter_date($Jahr)), date("d"easter_date($Jahr))-2date("Y"easter_date($Jahr)))))$az_tage++;
    
//echo"<br>Ostersonntag: ",
           
if (date($Datumsformat,easter_date($Jahr)))$az_tage++;
    
//echo"<br>Ostermontag: ",
        
if (date($Datumsformatmktime(000date("m"easter_date($Jahr)), date("d"easter_date($Jahr))+1date("Y"easter_date($Jahr)))))$az_tage++;
    
//echo"<br>Christi Himmelfahrt: ",
        
if (date($Datumsformatmktime(000date("m"easter_date($Jahr)), date("d"easter_date($Jahr))+39date("Y"easter_date($Jahr)))))$az_tage++;
    
//echo"<br>Pfingstsonntag: ",
        
if (date($Datumsformatmktime(000date("m"easter_date($Jahr)), date("d"easter_date($Jahr))+49date("Y"easter_date($Jahr)))))$az_tage++;
    
//echo"<br>Pfingstmontag: ",
        
if (date($Datumsformatmktime(000date("m"easter_date($Jahr)), date("d"easter_date($Jahr))+50date("Y"easter_date($Jahr)))))$az_tage++;
    
//echo"<br>Fronleichnam: ",
        
if (date($Datumsformatmktime(000date("m"easter_date($Jahr)), date("d"easter_date($Jahr))+60date("Y"easter_date($Jahr)))))$az_tage++;
}
if (
$az_tage <= 0)
{
$ergebnis $Rest_U_beantrager $differenz;
echo 
'****';
echo 
"ergebnis_if: ";
echo 
$ergebnis;
echo 
" REST_U_BEANTRAGER:::: ";
echo 
$Rest_U_beantrager;
}
else {
$ergebnis = ($Rest_U_beantrager $differnz)+$az_tage;
echo 
'****';
echo 
"ergebnis_else: ";
echo 
$ergebnis;
echo 
" az_tage: ";
echo 
$az_tage;
}

$sql ="UPDATE `benutzer` SET `Rest_U` = '$ergebnis' WHERE `UserID` = '$ID_beantrager' ";
mysql_query ($sql) or die (mysql_error()); 

es wird kein mysql_error angezeigt trotzdem trägt er mein $ergebnis nicht in die Rest_U ein, obwohl die rechnung und der wert den ich mir mit den echo befehl auslesen lies stimmt, er wird einfach nicht eingetragen in der datenbank

Gweilo 17.07.2008 21:17:03

AW: $SQL "UPDATE..."befehl funktioniert nicht...bitte um hilfe
 
wenn nichts asgegeben wird bei dem query liegts entweder
- daran dass keine reihe ausgewaehlt wurde (gib mal mysql_affected_rows() aus, wenn dies 0 ist liegt's an deinem WHERE clause)
- daran dass der wert den du setzt (also die variable $ergebnis schon gleich ist). ok, auch hier hast du mysql_affected_rows() = 0

aber lass dir einfach mal die 2 variablen ausgeben und schau was schon in der DB drin steht. und vergleich diese werte... solche fehler muss man selbst erkennen und beheben koennen.

doppelklick 17.07.2008 22:23:37

AW: $SQL "UPDATE..."befehl funktioniert nicht...bitte um hilfe
 
Probier doch mal folgendes:

PHP-Code:

$sql ="UPDATE benutzer SET Rest_U = '$ergebnis' WHERE UserID = '$ID_beantrager' "

doppelklick

rarios 17.07.2008 23:49:04

AW: $SQL "UPDATE..."befehl funktioniert nicht...bitte um hilfe
 
Wozu? Das verschlimmert das Ganze doch nur.

Der-Unwissende 22.07.2008 09:16:04

AW: $SQL "UPDATE..."befehl funktioniert nicht...bitte um hilfe
 
leider habe ich keine veränderung:(, ich habe es mit mqsql_affected_row() probiert,

da erscheint dan: Warning mysql_affected_rows(): supplied argument is not a valid MySQL-Link resource in C:\......

ich finde einfach den fehler nicht und verzweifele einfach und bitte euch nochmal um hilfe, vielen dank der unwissende

@Work 22.07.2008 10:14:57

AW: $SQL "UPDATE..."befehl funktioniert nicht...bitte um hilfe
 
Hallo,

aber die Datenbank hast du schon geöffnet, oder?

MfG

Gweilo 22.07.2008 10:20:31

AW: $SQL "UPDATE..."befehl funktioniert nicht...bitte um hilfe
 
probier das selbe query auch mal im PhpMyAdmin

@Work 22.07.2008 10:24:15

AW: $SQL "UPDATE..."befehl funktioniert nicht...bitte um hilfe
 
Ich nochmal,

der Fehler liegt vielleicht hier:

PHP-Code:

$sql ="UPDATE benutzer SET Rest_U = '$ergebnis' WHERE UserID = '$ID_beantrager' "

die Variable wird als $id_beantrager definiert ^^!

Wie war das mit den Bäumen und dem Wald...

MfG


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:37:48 Uhr.

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