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

Websites optimieren für Google & Co.

Websites optimieren für Google & Co. 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 23.11.2010, 11:29:40
held_der_arbeit held_der_arbeit ist offline
Anfänger
 
Registriert seit: Nov 2010
Alter: 41
Beiträge: 27
forschleife mit DATE()

Guten Morgen liebe Forumgemeinde,
mich hat den bisherigen Morgen folgendes beschäftigt:

Ich möchte aus einer vorhandenen Tabelle Daten in eine neue Tabelle schreiben.
Und zwar die max und min werte bezogen auf Tage im Jahr.

PHP-Code:
mysql_connect($dbhost,$dbuser,$dbpass) or die ("datenbank nicht errecihbar");
mysql_select_db($dbname) or die ("die Datenbank gibt es nicht");

set_time_limit(60);
for (
DATE(Datum)>='2009-01-01';DATE(Datum)<='2009-12-31';DATE(Datum)++)
{
$abfrage="INSERT INTO tagesenergiewerte(Anlagen_ID,Seriennummer,day,e_min,e_max)
SELECT Anlagen_ID,Seriennummer,DATE(Datum),min(`E-Total`),max(`E-Total`)
FROM messdaten_wr
WHERE `E-Total`>0 AND Seriennummer='2000562619'"

mysql_query($abfrage)or die (mysql_error());

Dadurch erreiche ich folgende Meldung:
Fatal error: Can't use function return value in write context in.....

Ich vermute,ich bekomme die 'schnittstelle' zwischen der schleife und der abfrage nicht hin.
Ich möchte die schleife benutzen da ich nicht die werte für jeden tag im jahr einzeln eintragen will.
Bitte um Hilfe.
mfg
Mit Zitat antworten
  #2  
Alt 23.11.2010, 11:37:56
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: forschleife mit DATE()

Wo kommt "Datum" her?
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3  
Alt 23.11.2010, 11:40:22
held_der_arbeit held_der_arbeit ist offline
Anfänger
 
Registriert seit: Nov 2010
Alter: 41
Beiträge: 27
AW: forschleife mit DATE()

ebenfalls aus der tabelle.
verstehe, das muss mit in die abfrage....
aber wie?
Mit Zitat antworten
  #4  
Alt 23.11.2010, 11:40:41
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: forschleife mit DATE()

Zitat:
PHP-Code:
DATE(Datum)++ 
Du versuchst eine Funktion zu inkrementieren.
Das geht aber nur mit Variablen.
Und was ist die Konstante "Datum" ?

PHP-Code:
<?php
error_reporting
(-1);
ini_set('display_errors'TRUE);
setlocale(LC_ALL,'de_DE@euro''de_DE',  'de''ge');
date_default_timezone_set('Europe/Berlin');
 


function 
add_days($tag,$days)
{
  return 
date('Y-m-d',strtotime("$tag  +$days DAYS"));
}

$start '2009-10-17';
$ende  add_days($start,10);

for(
$i=$start;$i<$ende;$i=add_days($i,1))
{
  echo 
$i '<br>';
}
Mit Zitat antworten
  #5  
Alt 23.11.2010, 11:49:21
held_der_arbeit held_der_arbeit ist offline
Anfänger
 
Registriert seit: Nov 2010
Alter: 41
Beiträge: 27
AW: forschleife mit DATE()

Datum ist ein Spaltenname im DATETIME Format.
hatte fälschlicherweise angenommen, das man damit wie mit einer variable umspringen kann.
Mit Zitat antworten
  #6  
Alt 23.11.2010, 12:09:20
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: forschleife mit DATE()

Ja, zumindest davon biste ja jetzt geheilt!
;-)
Mit Zitat antworten
  #7  
Alt 23.11.2010, 12:17:25
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: forschleife mit DATE()

Zitat:
Zitat von held_der_arbeit Beitrag anzeigen
Datum ist ein Spaltenname im DATETIME Format.
hatte fälschlicherweise angenommen, das man damit wie mit einer variable umspringen kann.
Na dann, überarbeiten und bei weiteren Fragen wiederkommen ...
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #8  
Alt 23.11.2010, 14:04:35
held_der_arbeit held_der_arbeit ist offline
Anfänger
 
Registriert seit: Nov 2010
Alter: 41
Beiträge: 27
AW: forschleife mit DATE()

hey,
also vielen dank für die antworten,
aber ich habe da noch eine kurze andere frage..

wenn ich bei UPDATE die funktion min() nutze, wie mache ich das?

PHP-Code:
$abfrage="UPDATE tagesenergiewerte
INNER JOIN messdaten_Wr
ON tagesenergiewerte.Seriennummer=messdaten_wr.Seriennummer
SET tagesenergiewerte.e_min=min(messdaten_wr.`E-Total`)

WHERE `E-Total`>0 AND tagesenergiewerte.Anlagen_ID=messdaten_wr.Seriennummer"

bei dem code^ gibts 'Invalid use of group function'
dieser SET Befehl muss falsch sein:

PHP-Code:
SET tagesenergiewerte.e_min=min(messdaten_wr.`E-Total`) 
Mit Zitat antworten
  #9  
Alt 23.11.2010, 14:28:15
thomas_w thomas_w ist offline
Junior Member
 
Registriert seit: Aug 2010
Alter: 14
Beiträge: 395
AW: forschleife mit DATE()

Probier mal so... (ohne Garantie mangels Tabellenstrukturen und Testdaten)

Code:
UPDATE tagesenergiewerte 
   SET tagesenergiewerte.e_min= ( SELECT MIN(`E-Total`) 
                                    FROM messdaten_Wr 
                                   WHERE messdaten_wr.Seriennummer = tagesenergiewerte.Seriennummer
                                     AND messdaten_wr.Anlagen_ID = tagesenergiewerte.Anlagen_ID
                                     AND `E-Total` > 0 )
Grüße
Thomas
__________________
Die SQL-Backstube
Bietet Rezepte, Lösungen und ausführliche Beispiele rund um gesundes SQL und zufriedene Datenbanken.
Mit Zitat antworten
  #10  
Alt 23.11.2010, 14:57:53
held_der_arbeit held_der_arbeit ist offline
Anfänger
 
Registriert seit: Nov 2010
Alter: 41
Beiträge: 27
AW: forschleife mit DATE()

super!
das hat geklappt!:)

habe das skript jetzt noch mit
PHP-Code:
AND messdaten_wr.Datum=tagesenergiewerte.day 
erweitert so das es jetzt folgendermaßen aussieht:
PHP-Code:
$abfrage="UPDATE tagesenergiewerte 
   SET tagesenergiewerte.e_min= ( SELECT MIN(`E-Total`) 
                                    FROM messdaten_Wr 
                                   WHERE messdaten_wr.Seriennummer = tagesenergiewerte.Seriennummer
                                     AND messdaten_wr.Anlagen_ID = tagesenergiewerte.Anlagen_ID
                                     AND `E-Total` > 0 
                     AND messdaten_wr.Datum=tagesenergiewerte.day    )"

jetzt funktioniert es nicht mehr.
kann es daran liegen, das DATETIME nicht mit DATE verglichen werden kann?
Datum ist DATETIME und day ist DATE, normalerweise müsste doch die TIME ignoriert werden oder?
Mit Zitat antworten
Antwort

Stichworte
for


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
Statistik aus DATE ziehen. Mehrere Bedingungen zählen! sandroo MySQLi/PDO/(MySQL) 2 24.10.2009 19:25:24
date funktion, KW ermitteln aus Tag des jahres ?? wohlgemuth PHP Grundlagen 7 29.11.2007 02:29:32
wie mySQL DATE vergleichen mit php DATE EnzephaloN PHP Grundlagen 2 22.08.2006 12:53:15
Datenausgabe date >= now() geht nicht richtig Blue7 MySQLi/PDO/(MySQL) 6 28.06.2004 20:08:52
mktime & date Walter PHP für Fortgeschrittene und Experten 1 03.05.2002 20:00:56


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:29:34 Uhr.


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


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