php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 17.06.2010, 09:43  
Neuer Benutzer
 
Registriert seit: 17.06.2010
Beiträge: 2
PHP-Kenntnisse:
Anfänger
Fipps befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] jede x-ten Wert aus Abfrage in Array schreiben

Hallo zusammen,

als Frischling in der PHP und MySQL-Welt stoße ich mit meinem Vorhaben gerade an meine Grenzen.

Hintergrund:

Ein Programm schreibt jede Minute Temperaturdaten in eine Datenbank. Für eine relativ übersichtliche Tagesauswertung möchte ich aber nur jeden z.B. zehnten Wert in einem jpgraph Diagramm anzeigen.
Habe es mit folgendem Code geschafft wenigstens nur auf die Anzahl von 143 Werten zu kommen, allerdings sind es die ersten 143 Werte und nicht jeder 10. von 1439....

PHP-Code:
$stmt1 "SELECT Zeit, Temp
        FROM fwerte
        WHERE Datum = '2010-06-10'"
;

$query mysql_query($stmt1) or die("Anfrage nicht erfolgreich");
$anzahl mysql_num_rows($query);
 

    
$y[] = array(); 
    
$y2[] = array(); 
   
$i 0;
$Counter 1;
    while (
$res mysql_fetch_assoc($query) AND $Counter <= $anzahl) { 
        
$y[$i] = $res[Temp]; 
        
$y2[$i] = $res[Zeit]; 
 
 
print_r($y[$i]);
 
print_r($y2[$i]);
 echo 
"<br>";
$Counter = ($Counter 10);
  }
 echo 
$anzahl
Ich hoffe es kann mir jemand helfen
Fipps ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 17.06.2010, 09:46  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Du könntest das direkt in der MySQL Abfrage erledigen.

Code:
SELECT Zeit, Temp
FROM fwerte
WHERE Datum = '2010-06-10' AND MOD(id, 10) = 0
Angenommen du hast eine Spalte id die immer um eins erhöht wird (auto_increment) dann kannst du einfach checken id modulo 10 = 0 -> wird nur bei jedem 10ten Wert wahr, somit hast du jeden 10t in deinem Resultat.
Flor1an ist offline   Mit Zitat antworten
Alt 17.06.2010, 10:40  
Neuer Benutzer
 
Registriert seit: 17.06.2010
Beiträge: 2
PHP-Kenntnisse:
Anfänger
Fipps befindet sich auf einem aufstrebenden Ast
Standard

es ist nicht zu fassen, es funktioniert. Habe es selber schon mal mit mod versucht, aber irgendwie bin ich nicht erfolgreich gewesen.

Super, vielen Dank Flor1an..
Fipps ist offline   Mit Zitat antworten
Alt 17.06.2010, 13:48  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

WObei eine ID als fortlaufend vorauszusetzen immer fragwürdig ist. DU könntest auch darüber nachdenken, nicht nur jeden 10. Wert zu nutzen, sondern immer aus 10 Werten den Durchschnitt zu berechnen.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 17.06.2010, 15:40  
Erfahrener Benutzer
 
Registriert seit: 15.04.2010
Beiträge: 813
PHP-Kenntnisse:
Fortgeschritten
Paul.Schramenko befindet sich auf einem aufstrebenden Ast
Standard

Wärs nicht vielleicht besser alle Temperaturen aus der Db zu holen und dann einen Durchschnitt von beispielsweise 10 aufeinadner Folgenden Werten zu berechnen?
__________________
"My software never has bugs, it just develops random features."
"Real programmers don't comment. If it was hard to write, it should be hard to understand!"
Positive Bewertungen sind nicht unwillkommen...
Paul.Schramenko ist offline   Mit Zitat antworten
Alt 17.06.2010, 16:08  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Ähm, ich hätte schwören können, ich hätte das gerade geschrieben. Ach - habe ich ja auch
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 17.06.2010, 17:32  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Na Paul.Schramenko hat ja schon des öfteren antworten wiederholt ...
Flor1an ist offline   Mit Zitat antworten
Alt 18.06.2010, 08:19  
Erfahrener Benutzer
 
Registriert seit: 30.07.2008
Beiträge: 1.167
PHP-Kenntnisse:
Fortgeschritten
xm22 sorgt für eine eindrucksvolle Atmosphärexm22 sorgt für eine eindrucksvolle Atmosphärexm22 sorgt für eine eindrucksvolle Atmosphäre
Standard

Statt Dich auf die ID zu verlassen, könntest Du auch selber eine fortlaufende Nummer vergeben.
Code:
INSERT INTO... SET `position` = (SELECT MAX(`position`) + 1 FROM...)...
xm22 ist offline   Mit Zitat antworten
Alt 18.06.2010, 09:33  
Erfahrener Benutzer
 
Registriert seit: 04.07.2003
Beiträge: 359
PHP-Kenntnisse:
Fortgeschritten
Sirke befindet sich auf einem aufstrebenden Ast
Standard

Die IDs haben ja nicht das Problem, dass man nicht sicherstellen kann, dass ein neuer Datensatz eine um eine größere ID hat, sondern Probleme bei zwei Eingabeinstanzen, beim Löschen von älteren/fehlerhaften Datensätzen und neuem/korrigiertem Anfügen, etc.

€dit: Letztlich sagt ja der Ausdruck MOD( id, 10 ) = 0 nicht mal jeder 10. Datensatz, sodern nur jeder Datensatz dessen ID durch 10 teilbar ist. Was passiert wenn ein Messgerät jede Sekunde einen Datensatz speichert und ein zweites Messgerät alle 10 Sekunden, dann kann es u.U. vorkommen, dass KEIN Datensatz für das erste Messgerät diese Bedingung erfüllt.
Ich würde besser einen Zeitpunkt speichern und mit diesem jeden 10. Datensatz errechnen. Also z.B. bei dem Beispiel oben die Sekunden extrahieren und diese dann mit dem Ausdruck oben selektieren...

Geändert von Sirke (18.06.2010 um 09:41 Uhr).
Sirke ist offline   Mit Zitat antworten
Alt 18.06.2010, 09:41  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Was bei gesammelten Temeraturdaten wohl kaum der Fall sein wird. In solchen Anwendungen wird meist nur gespeichert, aber nie editiert oder gelöscht!
Flor1an ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Sortierung mehrerer Arrays philosapiens PHP Tipps 2010 16 08.06.2010 05:22
[Erledigt] Problem bei update mit array feldern fulltilt PHP Tipps 2010 6 13.02.2010 00:59
Array auf wert durchsuchen und stelle im Array angeben AllOutAnime PHP Tipps 2010 5 31.01.2010 19:30
SQL Abfrage mit array in WHERE AKraisser Datenbanken 1 22.01.2010 18:05
PHPLot von der Datenbank zum mehrdimensionalen Array mannimammut PHP Tipps 2009 1 15.12.2009 10:40
Turnierbaum aus array erstellen kingflo PHP-Fortgeschrittene 11 30.07.2008 11:32
Keys aus Array löschen die keinen Wert beinhalten? PHP Tipps 2006 7 06.04.2006 16:07
Array schlüssel über wert finden Dave Waterstone PHP-Fortgeschrittene 3 29.03.2006 17:54
array als Return wert aus einer Function heraus PHP-Fortgeschrittene 7 09.02.2006 22:46
Array auslesen andrew22 PHP Tipps 2006 3 21.01.2006 23:06
Array Formatierung PHP Tipps 2006 3 17.01.2006 19:12
Menü mit Unterpunkten supertramp Beitragsarchiv 7 18.10.2005 22:40
Abfrage in array? BartTheDevil89 Datenbanken 5 10.05.2005 14:21
[Erledigt] Mehrdimensionales Array in eindimensionales Array umwandeln PHP-Fortgeschrittene 3 03.01.2005 22:31
bbcode - Classe PHP-Fortgeschrittene 4 18.09.2004 17:30

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql jeden xten wert auslesen, mysql jeden zweiten wert, sql nur jeden zehnten, mysql nur jeden 10ten datensatz, sql jedes zehnte ergebnis, array jeden x wert löschen, sql jeden zweiten datensatz, nur jeden x-ten datensatz, abfrage jedem zweiten wert, sql jeden 10. datensatz, sql xten eintrag, sql jedes 10te werte, php,jeder zehnte eintrag, mysql jeden x-ten wert, query in array schreiben, sql jeden zehnten wert, array jeden xten wert, php jede x, sql jeden 10ten wert php, php werte in array schreiben

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:27 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum