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
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken |
16.07.2008, 17:34:48
|
Anfänger
|
|
Registriert seit: Jul 2008
Alter: 34
Beiträge: 14
|
|
FEHLER mit SQL bitte dringend hilfe
ich habe vollgendenes geschrieben um eine berechnung mit Datumswerten zu machen und daten aus einer Datenbank zuziehen, nur plagt mich ein böser MQSQL-fehler, eig. kommt ja da kein fehler habe aber "..or die (mysql_fehler())" geschrieben(hoffe richtig ebn geschrieben) jeden fall kommt follgender Fehler:
38You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Resource id #4' at line 1
Hier mein quelltext zum nachvollziehen:
<?php
session_start();
include("function.inc.php");
// copyright by der_unwissende69(c)
$User_ID=$_SESSION["User_ID"];
$ID=strip_tags($_GET['ID']);
$Rest_U=$_SESSION["Rest_U"];
if(!isset($_SESSION["username"]) OR $User_ID<30000)
{
echo '<font color="red"><b>Zugriff verweigert</b></font> ';
echo "<br>";
echo "<br>";
echo "<a href=\"login.php\">Zum Login ";
exit;
}
else
{
db_connect();
db_wahl();
//---------------------------------------------------------------
$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());
while($row = mysql_fetch_object($ab))
{
$von["Von"]= $row->Von;
$bis["Bis"]= $row->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");
$ad = mysql_query ($ac);
while($row = mysql_fetch_object($ad))
{
$Rest_U_beantrager["Rest_U"]= $row->Rest_U;
}
echo "<br/>"; //Testzwecke
echo "______________"; //Testzwecke
echo $Rest_U_beantrager; //Testzwecke
echo $von; //Testzwecke
echo $bis; //Testzwecke
//$differenz = (($bis-$von)/86400)+1;
for ($h;$von < $bis;$von++)
{
$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-25)$az_tage++;
if ($silvester == 12-31)$az_tage++;
if ($tag == 6 AND! $neujahr==01.01 AND! $reformationstag==10-31)$az_tage++;
if ($tag == 0)$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++;
$ergebnis = $Rest_U_beantrager - $differenz;
echo '****';
$sql = "UPDATE `table` SET `Rest_U` = '$ergebnis' WHERE `UserID` ='$ID_beantrager' ";
mysql_query ($sql);
//-------------------------------------------------------------------
$sql="UPDATE `urlaub` SET `Bearbeitet` = '1' WHERE `urlaub`.`AntragID` = $ID";
mysql_query($sql) or die ("Fehler bei der Genehmigung");
echo "Antrag Nr $ID genehmigt!";
echo "<br>";
echo'<a href="admin.php?id=10">Zurück</a>';
}
?>
würde mich echt freun wenn ich hilfe bekommen würde bin scho sehr am verzweifel, vielen dank der unwissende...
|
16.07.2008, 18:45:02
|
Junior Member
|
|
Registriert seit: May 2003
Ort: Trier
Alter: 47
Beiträge: 310
|
|
AW: FEHLER mit SQL bitte dringend hilfe
Zitat:
Zitat von Der-Unwissende
ich habe vollgendenes geschrieben um eine berechnung mit Datumswerten zu machen und daten aus einer Datenbank zuziehen, nur plagt mich ein böser MQSQL-fehler, eig. kommt ja da kein fehler habe aber "..or die (mysql_fehler())" geschrieben(hoffe richtig ebn geschrieben) jeden fall kommt follgender Fehler:
38You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Resource id #4' at line 1
Hier mein quelltext zum nachvollziehen:
<?php
session_start();
include("function.inc.php");
// copyright by der_unwissende69(c)
$User_ID=$_SESSION["User_ID"];
$ID=strip_tags($_GET['ID']);
$Rest_U=$_SESSION["Rest_U"];
if(!isset($_SESSION["username"]) OR $User_ID<30000)
{
echo '<font color="red"><b>Zugriff verweigert</b></font> ';
echo "<br>";
echo "<br>";
echo "<a href=\"login.php\">Zum Login ";
exit;
}
else
{
db_connect();
db_wahl();
//---------------------------------------------------------------
$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());
while($row = mysql_fetch_object($ab))
{
$von["Von"]= $row->Von;
$bis["Bis"]= $row->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");
$ad = mysql_query ($ac);
while($row = mysql_fetch_object($ad))
{
$Rest_U_beantrager["Rest_U"]= $row->Rest_U;
}
echo "<br/>"; //Testzwecke
echo "______________"; //Testzwecke
echo $Rest_U_beantrager; //Testzwecke
echo $von; //Testzwecke
echo $bis; //Testzwecke
//$differenz = (($bis-$von)/86400)+1;
for ($h;$von < $bis;$von++)
{
$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-25)$az_tage++;
if ($silvester == 12-31)$az_tage++;
if ($tag == 6 AND! $neujahr==01.01 AND! $reformationstag==10-31)$az_tage++;
if ($tag == 0)$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++;
$ergebnis = $Rest_U_beantrager - $differenz;
echo '****';
$sql = "UPDATE `table` SET `Rest_U` = '$ergebnis' WHERE `UserID` ='$ID_beantrager' ";
mysql_query ($sql);
//-------------------------------------------------------------------
$sql="UPDATE `urlaub` SET `Bearbeitet` = '1' WHERE `urlaub`.`AntragID` = $ID";
mysql_query($sql) or die ("Fehler bei der Genehmigung");
echo "Antrag Nr $ID genehmigt!";
echo "<br>";
echo'<a href="admin.php?id=10">Zurück</a>';
}
?>
würde mich echt freun wenn ich hilfe bekommen würde bin scho sehr am verzweifel, vielen dank der unwissende...
|
Hi,
entweder so:
Code:
$aa = "SELECT * FROM `urlaub` WHERE `AntragID` = $ID";
$ab = mysql_query($aa) or die (mysql_error());
Oder so:
Code:
$ab = mysql_query("SELECT * FROM `urlaub` WHERE `AntragID` = $ID") or die (mysql_error());
Einmal mysql_query() reicht. Diese Funktion führt den Query schon aus. Mit mysql_fetch_array() oder ähnlichem erhälst Du "nur" die Resultate.
Ka aka Knight1
Geändert von knight1 (16.07.2008 um 18:45:42 Uhr)
|
17.07.2008, 08:19:07
|
Anfänger
|
|
Registriert seit: Jul 2008
Alter: 34
Beiträge: 14
|
|
AW: FEHLER mit SQL bitte dringend hilfe
Ersteinmal recht herzlichen Dank für die rasche Antwort, der SQL Fehler ist endlich verbannt:-), nur Leider mekert er jetzt über meine "$differenz = (($bis - $von)/86400)+1;" -(habe natürlich das Auskomentieren rausgenommen) rum, diese Formel sollte dazu dienen die Datumssdifferenz zu ermittel und in Tage ausgeben, auch meine echo xxx //Testzwecke befehle geben mir außer der ID nur "ARRAY" aus und keine Werte, wer echt mega glücklich wenn mir da jmd. helfen könnte
mfg der unwissende
Geändert von Der-Unwissende (17.07.2008 um 08:24:39 Uhr)
|
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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 17:05:37 Uhr.
|