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

TYPO3 Kochbuch

TYPO3 Kochbuch 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
Hilfe Community Kalender Heutige Beiträge Suchen

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

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 13.02.2009, 08:35:44
Mathiis Mathiis ist offline
Anfänger
 
Registriert seit: Aug 2008
Alter: 44
Beiträge: 21
Array sortieren

Hallo, ich lese einige Datensätze (Termine) aus einer MySQL DB aus und möchte sie dann
einem Tag zuordnen. Ich bin mittlerweile soweit, dass ich die Tage ausgelesen bekomme.
Diese werden aber nicht sortiert. Es wird alles in tmp[3] geschrieben.

PHP-Code:
error_reporting(E_ALL);    
        
$firstweekday='20090209000001';
    
$lastweekday='20090213235959';    

    
$tmp = array();
        
$tmp[1] = array();
        
$tmp[2] = array();
        
$tmp[3] = array();
        
$tmp[4] = array();
        
$tmp[5] = array();
        
$tmp[6] = array();
        
$db = @new mysqli('localhost''root''nwServDB''netacad');
if (
mysqli_connect_errno()) {
    die (
'Konnte keine Verbindung zur Datenbank aufbauen: '.mysqli_connect_error().'('.mysqli_connect_errno().')');
}
$sql "SELECT 
        UNIX_TIMESTAMP(termin_startdate) as weekday,
        termin_id, termin_startdate, termin_enddate     
        FROM weekplan_termin WHERE termin_fach     = 2 
        AND termin_startdate 
        BETWEEN '"
.$firstweekday."' AND '".$lastweekday."'
        ORDER by termin_startdate"
;
$result $db->query($sql);
if (!
$result) {
    die (
'Etwas stimmte mit dem Query nicht: '.$db->error);
}
echo 
'Die Ergebnistabelle besitzt '.$result->num_rows." Datensätze<br />\n";
        while(
$row $result->fetch_row()) {
           
$tmp[date("N",$row['termin_startdate'])][] = $row;
        }
    foreach (
$tmp as $value){
            
print_r($value)."\n";
    }
     
var_dump($result); 
Hier die Ausgabe:

Array ( ) Array ( ) Array ( ) Array ( [0] => Array ( [0] => 1234162800 [1] => 1 [2] => 2009-02-09 08:00:00 [3] => 2009-02-09 11:00:00 ) [1] => Array ( [0] => 1234188000 [1] => 2 [2] => 2009-02-09 15:00:00 [3] => 2009-02-09 18:30:00 ) [2] => Array ( [0] => 1234252800 [1] => 3 [2] => 2009-02-10 09:00:00 [3] => 2009-02-10 12:00:00 ) [3] => Array ( [0] => 1234508400 [1] => 4 [2] => 2009-02-13 08:00:00 [3] => 2009-02-13 10:30:00 ) ) Array ( ) Array ( )

Außerdem bekomme ich noch die Meldung: Undefined index: termin_startdate in
der Zeile: $tmp[date("N",$row['termin_startdate'])][] = $row;

Weiß jemand Rat?
Mit Zitat antworten
  #2  
Alt 13.02.2009, 14:29:20
Benutzerbild von urvater
urvater urvater ist offline
Senior Member
 
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 55
Beiträge: 1.044
AW: Array sortieren

Zitat:
Zitat von Mathiis Beitrag anzeigen
Hallo, ich lese einige Datensätze (Termine) aus einer MySQL DB aus und möchte sie dann
einem Tag zuordnen.
PHP-Code:
while($row $result->fetch_row()) {
       
$tmp[date("N",$row['termin_startdate'])][] = $row
Hier die Ausgabe:

Array ( ) Array ( ) Array ( ) Array ( [0] => Array ( [0] => 1234162800 [1] => 1 [2] => 2009-02-09 08:00:00 [3] => 2009-02-09 11:00:00 ) [1] => Array ( [0] => 1234188000 [1] => 2 [2] => 2009-02-09 15:00:00 [3] => 2009-02-09 18:30:00 ) [2] => Array ( [0] => 1234252800 [1] => 3 [2] => 2009-02-10 09:00:00 [3] => 2009-02-10 12:00:00 ) [3] => Array ( [0] => 1234508400 [1] => 4 [2] => 2009-02-13 08:00:00 [3] => 2009-02-13 10:30:00 ) ) Array ( ) Array ( )

Außerdem bekomme ich noch die Meldung: Undefined index: termin_startdate in
der Zeile: $tmp[date("N",$row['termin_startdate'])][] = $row;

Weiß jemand Rat?
Durch mysql_fetch_row bekommst du nicht die Namen mit übermittelt. In $row existiert nur $row[0] etc.
Willst du die Spaltennamen im Array haben müsstest du mysql_fetch_array oder fetch_assoc nutzen.
Vermutlich ist dies auch der Grund weshalb alles in $tmp[3] geschrieben wird, da dein $tmp generell ja eine falsche Zuweisung bekommt.

Edit:
PHP-Code:
date("N",xxx);
//änder mal in
date("n",xxx); 

Geändert von urvater (13.02.2009 um 14:34:18 Uhr)
Mit Zitat antworten
Antwort


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.

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
Mehrdimensionales Array sortieren sinfo PHP Grundlagen 15 28.11.2008 20:10:35
Array formatiert ausgeben Faang PHP Grundlagen 3 15.08.2008 01:47:43
Doppelte einträge aus einem Mehrdimensionalen Array aussortieren und löschen PHoenix_KM PHP für Fortgeschrittene und Experten 2 17.04.2008 18:19:53
Mehrdimensionales Array sortieren MrLongbaugh PHP Grundlagen 10 06.03.2008 12:02:47
Einzelne Daten aus Textdatei Auslesen azubinator PHP Grundlagen 153 17.12.2004 13:36:58


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


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


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