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

PHP - MySQL Abfrage liefert anderes Ergebnis als direkte MySQL (PHP-MyAdmin) Abfrage!

Frage Entwicklung PHP

Mitglied: FunkerVogt

FunkerVogt (Level 1) - Jetzt verbinden

23.01.2014, aktualisiert 12:32 Uhr, 2192 Aufrufe, 5 Kommentare

Ich denke mal, die Antwort von Euch wird kurz und bündig. Zumindest hoffe ich
mit Eurer Hilfe, das Problem schnell geklärt zu haben!

Situation:

Es existiert eine Datenbank tbl_XxX, in der jeden Tag 96 Werte eingetragen werden.
Struktur: date (typ DATE) | time (typ time) | value (Typ float)

Für eine Weiterverarbeitung, möchte ich die Tage (jeden Tag nur einmal) auslesen.

also DB befüllt:
2014-01-08 werte1
2014-01-08 werte2
2014-01-08 werte3
2014-01-10 werte1
2014-01-10 werte2
2014-01-10 werte3
2014-01-11 werte1
2014-01-11 werte2
usw....

Ich benötige aber nur:
2014-01-08
2014-01-09
2014-01-10
2014-01-11
usw..

per PHP Abfrage.

Wenn ich "SELECT date FROM `tbl_XxX` Group by date" in phpMyAdmin ausführe
klappt das bestens aber wenn ich das im PHP-Code umsetze erhalte ich nur:
als Countwert: 2 und nur den ersten Wert aus der Tabelle.

01.
          $query = mysql_query("SELECT date FROM `tbl_XxX` Group by date"); 
02.
          $row = mysql_fetch_array($query); 
03.
          $datecount = count($row); 
04.
          echo $datecount; 
05.
          echo "</br>"; 
06.
          $row = array_values($row); 
07.
          echo $row[0];


Ausgabe: (egal ob ich 0 oder 1 in echo $row[x] einsetze:

2
2014-01-08

Countwert und Ergebnis ist falsch aber warum?


Danke für die Hilfe!

Mitglied: flow.ryan
23.01.2014 um 12:38 Uhr
Hallo,

das Problem ist, dass du das Array $row direkt ansprichst und nicht mit einer Schleife durchläufst:

01.
<?php 
02.
 
03.
while ($row = mysql_fetch_array($query)) 
04.
05.
    echo $row['date']; 
06.
07.
 
08.
?>
Außerdem solltest du das Feld "date" in der Abfrage in Hochkommata setzen:

01.
$query = mysql_query("SELECT `date` FROM `tbl_XxX` Group by `date`"); 
Gruß,
Florian.
Bitte warten ..
Mitglied: FunkerVogt
23.01.2014 um 12:43 Uhr
Danke Florian, das war es!

Das mit der Schleife wollte ich später erst einbauen.
Ich prüfe gern alles Schritt für Schritt!
Das mit den Hochkommatas ist richtig wurde von mir
zwischenzeitlich schon korrigiert!

problem gelöst

Daaaanke!


Gruß Uwe
Bitte warten ..
Mitglied: Arano
23.01.2014 um 17:30 Uhr
Hi,

mal zusätzlich zur Info: PHP-Manual - mysql_num_rows()


~Arano
Bitte warten ..
Mitglied: boulder02
05.05.2014 um 09:40 Uhr
Hi,
ich bin grad über deinen thread gestolpert. Auch wenn der schön gelöst ist, noch mal zwei Anstöße von meiner Seite:
- Verwende am besten die PDO Datenbank-Klasse von php (ab 5.1). Die mysql_ ... Befehle sind meines Wissens in den neuen php Versionen bereits alt veraltet gekennzeichnet.
- Wenn du in deinem Ergebnis jeden Tag nur einfach aufgelistet haben willst, kannst du das mit DISTINCT statt mit GROUP erfragen. Wenn auf deinem 'date'-Feld in der DB kein Index soll das angeblich performanter sein.
SELECT DISTINCT(`date`) FROM `tbl_XxX`

Gruß Boulder
Bitte warten ..
Mitglied: FunkerVogt
05.05.2014 um 10:19 Uhr
Vielen Dank für Deine Tips!
Sollte ich noch einmal in die Verlegenheit dieses Problems kommen, denke ich daran!

Super von Dir, dass Du dennoch Ratschläge trotz "erledigt" gibst!



Gruss

Uwe
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
PHP
MySQL-Abfrage mit php: Wert + true bzw. false (2)

Frage von tomolpi zum Thema PHP ...

PHP
gelöst PHP-MySQL - mysqli liefert einen Datensatz zu wenig (3)

Frage von Windows-Spieler zum Thema PHP ...

Datenbanken
gelöst MYSQL Abfrage (20)

Frage von datadexx zum Thema Datenbanken ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...