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, 6743 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 ..
Ähnliche Inhalte
Datenbanken
gelöst MySQL "order by" erst bestimmtes Wort, dann alphabetisch (9)

Frage von AS-N00 zum Thema Datenbanken ...

Windows Server
MySQL Dienst startet nicht mehr nach Absturz SBS2011 (4)

Frage von JohnMcenroe zum Thema Windows Server ...

Datenbanken
gelöst MYSQL View group by (2)

Frage von schneerunzel zum Thema Datenbanken ...

Batch & Shell
gelöst Echo Ausgabe ohne Variablenauflösung (9)

Frage von bartek76 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Router & Routing

PfSense auf Supermicro Intel Xeon D-15x8 SoC Bare Bone

Tipp von Dobby zum Thema Router & Routing ...

Windows Server

Exchange 2010 auf Windows Server 2016 und AD

(2)

Tipp von Herbrich19 zum Thema Windows Server ...

KVM

How to: Libvirt Port forwarding

(2)

Anleitung von fundave3 zum Thema KVM ...

Heiß diskutierte Inhalte
Router & Routing
über Vmware auf eine FritzBox mit IPv6 per VPN (17)

Frage von Zockervogel zum Thema Router & Routing ...

Basic
Programmierung von Windows Programmen (8)

Frage von Ghost108 zum Thema Basic ...

Windows Userverwaltung
Gleiches Benutzerprofil für Anmeldung an TS und am lokalen System?? (6)

Frage von eastfrisian zum Thema Windows Userverwaltung ...