php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2010

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.02.2010, 15:05  
Benutzer
 
Registriert seit: 17.02.2009
Beiträge: 40
coram befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Liste im Array(?) vervollständigen

Ich sitze seit gestern schon an einem Problem, das sich als viel kniffliger herausgestellt hat, als ich zuerst dachte.
Ich habe eine Liste aus einer CSV-Datei welche per PHP eingelesen, in ein Array gespeichert und dann in die Datenbank geschrieben wird.
Code:

00 | abc | d
01 | fsa | d
02 | asd | g
04 | hrd | d 
Die erste spalte stellt jeweils die volle Stunde dar und die Liste erstreckt sich über mehrere Tage. Leider ist die Liste aber so aufgebaut, wenn der Wert z.B. von 2 Uhr und 3 Uhr gleich sind, wird drei Uhr nicht aufgeführt. Letztlich brauche ich aber eine komplette Liste mit allen 24 Werten / Tag.
Wie bekomme ich es also hin, dass der Wert von 2 Uhr auch bei 3 Uhr angezeigt wird.
coram ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 04.02.2010, 15:18  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.269
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Das kommt auf deine Struktur drauf an. Willst du den CSV-Dump erweitern, es gesondert/doppelt in der DB eintragen oder nur in der Ausgabe so anzeigen lassen?
Chriz ist offline  
Alt 04.02.2010, 15:18  
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

Möchtest du die Werte in der Datenbank hinzufügen oder möchtest du beim auslesen einfach eine komplette Liste anzeigen? Weil beim auslesen könntest du einfach einen Counter mitlaufen lassen der eben jede Stunde darstellt. Existiert ein Datensatz zu dieser Stunde zeigst du ihn an und speicherst dessen Wert in einer Variable zwischen. Wenn kein Datensatz zu der Stunde aus dem Counter existiert fügst du den Wert aus dieser Variable ein.
Flor1an ist gerade online  
Alt 04.02.2010, 15:19  
Erfahrener Benutzer
 
Registriert seit: 13.05.2009
Beiträge: 1.166
PHP-Kenntnisse:
Fortgeschritten
dennis81 befindet sich auf einem aufstrebenden Ast
Standard

Merk dir den vorherigen Datensatz. Kommt dann nicht z.B.$neu['stunde'] > $alt['stunde'] + 1, dann schreib den alten Wert mit Stunde + 1 noch mal in die DB.

Das war jetzt ein wenig abstrakt...
__________________
Es ist schon alles gesagt! Nur noch nicht von allen! (Karl Valentin)
Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)
dennis81 ist gerade online  
Alt 04.02.2010, 16:35  
Benutzer
 
Registriert seit: 17.02.2009
Beiträge: 40
coram befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Flor1an Beitrag anzeigen
Möchtest du die Werte in der Datenbank hinzufügen oder möchtest du beim auslesen einfach eine komplette Liste anzeigen? Weil beim auslesen könntest du einfach einen Counter mitlaufen lassen der eben jede Stunde darstellt. Existiert ein Datensatz zu dieser Stunde zeigst du ihn an und speicherst dessen Wert in einer Variable zwischen. Wenn kein Datensatz zu der Stunde aus dem Counter existiert fügst du den Wert aus dieser Variable ein.
Das würde mir beim weiteren Arbeiten einige Schwierigkeiten machen, währe aber zur Not eine Möglichkeit. Hab's gestern schon probiert, aber auch die Idee mit nem Counter bin ich nicht gekommen.
Zitat:
Zitat von dennis81 Beitrag anzeigen
Merk dir den vorherigen Datensatz. Kommt dann nicht z.B.$neu['stunde'] > $alt['stunde'] + 1, dann schreib den alten Wert mit Stunde + 1 noch mal in die DB.

Das war jetzt ein wenig abstrakt...
Hab ich gestern auch schon probiert, aber mit einer for-Schleife, da ging das gar nicht. Jetzt habe ich foreach, da sollte es klappen. So ganz tuts das aber auch nicht.
Problem ist scheinbar der Wechsel zwischen 23 Uhr und 0 Uhr.
Die letzten Einträge in der Datei sind von 22 Uhr. Also muss der 23Uhr-Wert erstellt werden. Merkwürdiger Weise schreibt er aber nicht mal mehr 22 Uhr in die DB - da ist dann ab 21 Uhr Schluss.

PHP-Code:
        foreach($neu_multi AS $basal){ 
            
                 
$tag     $basal[0];
                 
$datum   $basal[1];
                 
$time    $basal[2];
                 
$zeit    $basal[3];
                 
$wert    $basal[4];
                 
$profil  $basal[5];            
                 
                 if(isset(
$alt_zeit[0]) AND ($zeit $alt_zeit[0]+1)){
                     
$zeit   $alt_zeit[0]+1;
              }
             

     
                 
$insert "INSERT INTO tabelle
                                         SET      datum  = '$datum',
                                                       zeit   = '$zeit',
                                                       wert   = '$wert',
                                                       profil = '$profil' 
                                               "
;
                 
$ins mysql_query($insert)OR die(mysql_error());     
                 
                 
$alt_zeit   = array($zeit);
                 
$alt_wert   = array($wert);
                 
$alt_profil = array($profil);
        
     } 
coram ist offline  
Alt 04.02.2010, 16:41  
Erfahrener Benutzer
 
Registriert seit: 05.02.2009
Beiträge: 1.401
PHP-Kenntnisse:
Fortgeschritten
Destruction ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
 $insert "INSERT INTO tabelle
                                         SET      datum  = '$datum',
                                                       zeit   = '$zeit',
                                                       wert   = '$wert',
                                                       profil = '$profil' 
                                               "

Das stimmt aber so nicht
__________________
"Dummheit redet viel..Klugheit denkt und schweigt.." [Amgervinus]
Destruction ist offline  
Alt 04.02.2010, 16:55  
Benutzer
 
Registriert seit: 17.02.2009
Beiträge: 40
coram befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Destruction Beitrag anzeigen
PHP-Code:
 $insert "INSERT INTO tabelle
                                         SET      datum  = '$datum',
                                                       zeit   = '$zeit',
                                                       wert   = '$wert',
                                                       profil = '$profil' 
                                               "

Das stimmt aber so nicht
Was stimmt daran nicht *Kopfwundkratz*. Vorallem das einfach einfügen funktioniert ja...
coram ist offline  
Alt 04.02.2010, 17:01  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

Du vermischt INSERT und UPDATE Syntax

Vergleiche:
INSERT INTO ... VALUES(...)

UPDATE ... SET ... WHERE ..
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline  
Alt 04.02.2010, 17:14  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.990
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

Nope, die gibts bei mysql 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  
Alt 04.02.2010, 17:25  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

Ups.. stimmt auffallend nach einem Blick ins Manual oO
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline  
 


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
PHPLot von der Datenbank zum mehrdimensionalen Array mannimammut PHP Tipps 2009 1 15.12.2009 10:40
[Erledigt] Mehrdimensionales Array als verschachtelte Liste ausgeben mit foreach kristina PHP Tipps 2009 5 26.08.2009 14:27
merge Array? tommy_725 PHP Tipps 2009 3 07.08.2009 18:30
[Erledigt] Tabellen die sich selbst referenzieren Squall PHP Tipps 2009 19 04.08.2009 21:33
[Erledigt] array sortieren PHP Tipps 2004 17 13.05.2009 10:44
Array umwandeln von zwei zu mehrdimensional erselbst PHP Tipps 2009 6 02.04.2009 23:30
Turnierbaum aus array erstellen kingflo PHP-Fortgeschrittene 11 30.07.2008 11:32
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
Problem beim vergleichen von 2 Arrays PHP Tipps 2005-2 1 06.10.2005 14:25
[UNRESOLVED] array in html liste PHP Tipps 2005-2 4 09.08.2005 13:04
[Erledigt] Mehrdimensionales Array in eindimensionales Array umwandeln PHP-Fortgeschrittene 3 03.01.2005 22:31
Abfrage mit id aus anderer Tabelle suter PHP Tipps 2004-2 15 16.12.2004 14:25

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php array aufzählung, php array liste, php liste array, php list array, php array list, fsa, php array listen, liste in array, erledigt liste, liste aus arrays, liste als array, liste aller gewaltverbrecher, phplot datenbank, array php liste, php array als liste auslesen, array auflistung php, list a php array, php array in list, php aufzährung zu array, php erledigt liste

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:22 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