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, 2227 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
Ähnliche Inhalte
PHP
MySQL-Abfrage mit php: Wert + true bzw. false (2)

Frage von tomolpi zum Thema PHP ...

Datenbanken
gelöst MySQL Abfrage um JOIN erweitern (14)

Frage von datadexx zum Thema Datenbanken ...

PHP
PHP MySQL Login (7)

Frage von Yanmai zum Thema PHP ...

Heiß diskutierte Inhalte
Erkennung und -Abwehr
Virenschutz - Meinungen (28)

Frage von honeybee zum Thema Erkennung und -Abwehr ...

Windows 10
Welches OS für Firmengeräte? (18)

Frage von MarkusVH zum Thema Windows 10 ...

Netzwerke
Abisolierwerkzeug (18)

Frage von SarekHL zum Thema Netzwerke ...

Exchange Server
SBS2011: POP3-Connector 10 MB Grenze Email Benachrichtigung (17)

Frage von bogi1102 zum Thema Exchange Server ...