Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

MYSQL-DATEDIFF Ausgabe

Frage Entwicklung Datenbanken

Mitglied: SuatAl

SuatAl (Level 1) - Jetzt verbinden

30.10.2009 um 13:26 Uhr, 6728 Aufrufe, 3 Kommentare

Hallo an alle,

bin gerade ziemlich am Verzweifeln!!!

Folgendes Problemchen:

Ich habe eine MYSQL-DB mit verschiedenen Terminen. Nun möchte ich anhand von DATEDIFF() das aktuelle Datum mit
diesen Terminen Vergleichen und die Differenz ausgeben lassen.
Die Differenz wird auch ausgerechnet- ich bekomme als Ausgabe leider nur:

ARRAY oder array[1] bzw. resource_id#6

hier der Code: Vielleicht könnt Ihr den Fehler erkennen?

01.
function differenz($termine,$dat) { 
02.
    $sql3="SELECT DATEDIFF('$termine','$dat')"
03.
    $result3=@mysql_query($sql3); 
04.
    $r=mysql_fetch_assoc($result3); 
05.
    if(!$result3) die('Datenbankfehler3: ' .mysql_error());  
06.
    var_dump($r);      -----------------> Hier kommt z.B. folgende Ausgabe:    array(1) { ["DATEDIFF('2010-10-10','2009-10-30')"]=>  string(3) "345" }  
07.
    echo $r;                ------------------> Hier kommt fogende Ausgabe:      Array 
08.
    While($s=mysql_fetch_array($result3)) 
09.
10.
        echo $s;        ------------------> Hier kommt folgende Ausgabe:      Arraybool(false)  
11.
    } 
Wie bekomme ich denn die 345 aus dem Array $r ausgegeben?

Vielen Dank im voraus!!!

MfG,
SuatAl
Mitglied: SamTrex
30.10.2009 um 13:35 Uhr
Hi,
blicke nicht so ganz durch ....
Aber wenn $r ein Array ist mußt du es mit dem Index ansprechen um den entsprechenden Inhalt auszugeben.

Wenn ich es richtig interpretiere wäre der Index bei dir 3
01.
echo $r(3);
MfG Sam
Bitte warten ..
Mitglied: Arano
30.10.2009 um 15:41 Uhr
Nein nein nein...

..das sollte man doch auf den ersten Blick schon erkennen können !

Der Ansatz mit dem Index ist wohl richtig, aber "3" ist dieser nicht, 3 ist die länge der Zeichenkette (String) des Wertes.
"string(3) "345"" Der String "345" ist 3 Zeichen lang.
Man siehe ins PHP-Manual - var_dump()

Der Index hier lautet: "DATEDIFF('2010-10-10','2009-10-30')", so wie er auch in den eckigen Klammern der var_dump() Ausgabe steht. Weil dies aber nicht gerade leserlich ist solltest du deinen Query etwas modifizieren, etwa so:
01.
SELECT 
02.
    DATEDIFF('$termine','$dat') AS `differenz`
Danach wird die Ausgabe von var_dump() etwa so aussehen:
01.
array(1) { 
02.
    ["differenz"]=>  string(3) "345" 
03.
}  

Schönes Wochenende
~Arano
Bitte warten ..
Mitglied: SuatAl
03.11.2009 um 07:46 Uhr
Danke für die Tips!!!1

Ich hatte es auch mit dem Index versucht- leider ohne Erfolg

Danke Arano- dein Ansatz hat mich zum Erfolg geführt!!!!

Grüße,
Suat
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Sticky Notes - Autostart unterbinden

Tipp von Pedant zum Thema Windows 10 ...

Ähnliche Inhalte
Datenbanken
MySQL - Mehrere Instanzen

Frage von ForgottenRealm zum Thema Datenbanken ...

Datenbanken
gelöst SQL Abfrage - Ausgabe von Person mit Privat- und Dienstadresse (3)

Frage von CBruns zum Thema Datenbanken ...

Batch & Shell
gelöst Ausgabe filtern (2)

Frage von DoktorApfel zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst Base64 Decode (Batch,VBS) (26)

Frage von clragon zum Thema Batch & Shell ...

Flatrates
DeutschlandLAN der Telekom - welche internen IPs? (19)

Frage von qualidat zum Thema Flatrates ...