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

Einführung in XHTML, CSS und Webdesign

Einführung in XHTML, CSS und Webdesign 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 > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 03.11.2010, 16:21:26
held_der_arbeit held_der_arbeit ist offline
Anfänger
 
Registriert seit: Nov 2010
Alter: 36
Beiträge: 27
held_der_arbeit befindet sich auf einem aufstrebenden Ast
Problem mit array_shift und array_pop!

Hey Leute,
ich hab ein wahrscheinlich leicht zu lösendes Problem bei dem ich aber dennoch nicht mehr weiterweis..:(
ich möchte den ersten wert eines array vom letzten wert abziehen und dachte daß das doch mit array_shift und array_pop bzw end() funktionieren sollte.
leider gibt er mir, egal welche form ich nutze, immer nur den ersten wert aus bzw gar keinen.
hier das skript: (nur das wesentliche)


$abfrage="SELECT `E-Total` AS e FROM messdaten_sbc WHERE Datum LIKE '2009-01-%% %%:%%:%%' AND Anlagen_ID=1";

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

$row=mysql_fetch_array($query);

$anfang = array_shift($row);
$ende = array_pop($row);
$ergebnis = $ende - $anfang;
echo $ergebnis;


Auch wenn ich eine whileschleife benutze funktioniert es nicht.
wäre über ein wenig Hilfestellung sehr erfreut,
gruesse
Mit Zitat antworten
  #2  
Alt 03.11.2010, 16:25:29
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Beiträge: 2.269
DokuLeseHemmung befindet sich auf einem aufstrebenden Ast
AW: Problem mit array_shift und array_pop!

PHP-Code:
$anfang array_shift($row); // in $row steht nur ein Wert und der wird auhc gelifert.
$ende array_pop($row); // hier ist row schon längst leer 

Geändert von DokuLeseHemmung (03.11.2010 um 16:42:00 Uhr)
Mit Zitat antworten
  #3  
Alt 04.11.2010, 08:22:28
held_der_arbeit held_der_arbeit ist offline
Anfänger
 
Registriert seit: Nov 2010
Alter: 36
Beiträge: 27
held_der_arbeit befindet sich auf einem aufstrebenden Ast
AW: Problem mit array_shift und array_pop!

guten morgen,

noch mal zum thema array_shift/pop..
ich hab es wie gesagt auch mit einer while loop versucht aber bin zu keinem brauchbaren ergebnis gekommen. Ich bekomme es nicht mal hin, das mir der start und endwert vom array angegeben wird..

$query=mysql_query($abfrage) or die (mysql_error());
while ($row=mysql_fetch_array($query))
{
$anfang= array_shift($row);
echo $anfang;
$ende = array_pop($row);
echo $ende;
}

klappt nicht, wo ist mein denkfehler?

wie würde der richtige code aussehen?
mfg
Mit Zitat antworten
  #4  
Alt 04.11.2010, 09:10:47
held_der_arbeit held_der_arbeit ist offline
Anfänger
 
Registriert seit: Nov 2010
Alter: 36
Beiträge: 27
held_der_arbeit befindet sich auf einem aufstrebenden Ast
AW: Problem mit array_shift und array_pop!

alles klar,
so klappts:

$abfrage="SELECT min(`E-Total`) AS emin,max(`E-Total`) AS emax FROM messdaten_sbc WHERE Datum LIKE '2009-%%-%% %%:%%:%

%'AND Anlagen_ID=1";
$query=mysql_query($abfrage) or die (mysql_error());

while ($row=mysql_fetch_row($query))

{

$anfang= $row[0];
$ende= $row[1];
$e_tot = $ende - $anfang;
echo $e_tot;
}


gruss
Mit Zitat antworten
  #5  
Alt 04.11.2010, 14:00:32
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 42
Beiträge: 1.938
cortex befindet sich auf einem aufstrebenden Ast
AW: Problem mit array_shift und array_pop!

nutze die forentags zur darstellung von quellcodes; die wenigsten hier haben lust, sich irgendein unformatiertes "geschmiere" reinzuziehen.

cx
Mit Zitat antworten
  #6  
Alt 04.11.2010, 16:15:37
held_der_arbeit held_der_arbeit ist offline
Anfänger
 
Registriert seit: Nov 2010
Alter: 36
Beiträge: 27
held_der_arbeit befindet sich auf einem aufstrebenden Ast
AW: Problem mit array_shift und array_pop!

hallo leute,
diesmal hängts woanders aber das problem ist im grunde ähnlich denke ich.

Also ich versuche euch mal mei problem zu schildern:
ich habe eine Tabelle messdaten_sbc in der im im abstand von 15 min seit Jahren daten gespeichert werden, z.B Energieertrag in kWh.(von einer PV-Anlage)also alle 15 minuten wird der Zählerstand gespeichert.

Jetzt gibts mehrere von diesen Anlagen in verschiedenen Gebieten plz, dafür gibts ne andere tabelle , auch mit den ausrichtungen der anlagen.

ich möchte jetzt das mir , wenn ich ein Datum und eine postleitzahl eingebe das mir alle anlagen gezeigt werden in dem gebiet stehen und die Energie , die in dem entsprechenden angegebenen Zeitraum (Jahr,monat,tag) gewandelt wurde.

mein herangehen war:



PHP-Code:
$abfrage="SELECT min(`E-Total`) AS emin,max(`E-Total`) AS 

emax,plant,kwp,ausrichtung,neigung,modul  FROM  messdaten_sbc INNER JOIN plants_2 ON 

plants_2.id=messdaten_sbc.Anlagen_ID WHERE messdaten_sbc.Datum LIKE '2008-08-11 %%:%%:%%' 

AND plants_2.plz='14337'";
$query=mysql_query($abfrage) or die (mysql_error());

    while ($row=mysql_fetch_row($query))

    {
    

    $anfang= $row[0];
    echo $anfang;?><br><?php

    $ende
=   $row[1];
    echo 
$ende;?><br><?php
    
    $e_tot 
$ende $anfang;

    echo 
$row[2];?><br><?php
    
echo "kwp:".$row[3]."    installierte Leistung";?><br><?php
    
echo "ausrichtung:".$row[4];?><br><?php
    
echo "neigung:".$row[5];?><br><?php
    
echo "modul :".$row[6];?><br><?php
    
echo "kWh :".$e_tot;?><br><?php

    $E_rel
=$e_tot/$row[3];
    echo 
"kWh/kwp:".$E_rel;

    }
klappt soweit ganz gut, nur das mir nur EINE anlage ausgegeben wird.

Ich vermute das ihr mehr infos braucht, aber ich dachte mir das php-profis auf anhieb einen fehler finden.
Würde mich freuen!

mfg
Mit Zitat antworten
  #7  
Alt 06.11.2010, 15:05:16
Xor Xor ist offline
Anfänger
 
Registriert seit: Aug 2008
Alter: 29
Beiträge: 124
Xor befindet sich auf einem aufstrebenden Ast
AW: Problem mit array_shift und array_pop!

Würde mich nicht als Profi behaupten, Fehler finde ich allerdings genug! (PHP-HTML-Codetrennung, Lesbarkeit, Wartbarkeit....)
Aber all das wird dir wahrscheinlich nicht bei deinem funktionellen Problem helfen...

Versuch es zumindest mal einzugrenzen, indem du z.B. mit einem Client die MySQL-Query auf dem Datenbankserver ausführst um zu schauen, ob dir denn auch nur eine Ergebnis-Zeile ausgegeben wird.

Wenn nicht --> Fehler im PHP-Code.
Wenn schon --> Query überdenken!

PS: Wie kommst du drauf dass es am selben Fehler hängt, wenn du fast nur die Query verändert hast?
__________________
Allergisch auf:
  • "Ich brauch ein Script für..."
  • "...dringend..."
  • Anfrage-->Antwort-->Nie wieder melden
Mit Zitat antworten
  #8  
Alt 08.11.2010, 15:37:11
held_der_arbeit held_der_arbeit ist offline
Anfänger
 
Registriert seit: Nov 2010
Alter: 36
Beiträge: 27
held_der_arbeit befindet sich auf einem aufstrebenden Ast
AW: Problem mit array_shift und array_pop!

guten tag,
@ xor: es liegt am query..

also ich weis vieleicht warum ich nur ein datensatz bekomme, und zwar:

aus der tabelle plants_2 stehen die abgefrageten daten alle in einer zeile, in der tabelle messdaten müssen die daten emin und emax erst noch in den dem kriterium(Datum) entsprechenden datensätzen gesucht werden.Hier die tabellen:

plants_2:
plant|plz|ausrichtung|neigung|modul|id
------|---|-------------|---------|-------|----
bla |12|-----34-----|----20---|poly--| 1


messdaten_sbc:
id|plants_2_id|Datum|E-Total
--|-------------|--------|---------
1-|----1-------|12.03..|133---- <----emin
.
.
.
99|-----1-----|12.03..| 354 <-----emax

würde man das problem mit zwei whileschleifen und zwei abfragen hinkriegen oder muss man die tabelle weiter normalisieren?
wahrscheinlich gibts ne einfache lösung...aber ich bin halt noch ein newbie:(
Mit Zitat antworten
Antwort

Stichworte
array


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
Problem mit MySQL in Typo3-CMS yamukud MySQL 0 09.10.2009 13:21:18
Subquery Problem (Verständnis?) newgame MySQL 1 29.05.2009 22:01:27
Upload von Fotos, die in eine DB eingetragen werden sollen. Problem 2 jf-flasher PHP Grundlagen 2 01.02.2009 17:20:41
Problem mit Lokalisierung eines SESSION - Problems Fabian85 PHP für Fortgeschrittene und Experten 5 03.10.2005 20:17:54
mysql und php problem schmidt PHP für Fortgeschrittene und Experten 9 31.10.2003 18:05:13


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:02:06 Uhr.


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


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