• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Daten aus mysql-db von Heute/Gestern in Array schreiben?

und natürlich habe ich alles gelesen
Das stimmt definitiv und nachweisbar nicht:
was liefert mysql_query im Erfolgsfall???
Ich vermisse hier ein fetch_array()
mysql_query liefert als Ergebnis lediglich eine Resource-ID zurück.
Die Funktion mysql_query() liefert eine Ressource zurück, aber kein Ergebnis-Array.
Soviel zu dem Thema!

weder fehlermeldung nch ein echo ist zusehen.
Das glaube ich nicht! Es würde mich sehr wundern, wenn du
a) keinen Parse-Error bekommst
b) keine Notice-Meldung bekommst
 
Zuletzt bearbeitet von einem Moderator:
Werbung:
ich lese mir wenn ich zuhause ruhe finde, alles nochmal durch. im moment wirbeln hier 3 kids um mich herum..

Das glaube ich nicht! Es würde mich sehr wundern, wenn du
a) keinen Parse-Error bekommst
b) keine Notice-Meldung bekommst

Kannst du glauben, ich bekomme nichts als eine leere seite.


Edit
Der Fehler sitzt in der Zeile
PHP:
$sql = mysql_query("SELECT Aussentemperatur FROM meteohub_1 WHERE Datum >=current_date()  ORDER BY etime DESC" or die(mysql_error());

Kommentiere ich diese aus, bekomme ich eine Fehlermeldung
test.php Notice: Undefined variable: sql in /var/www/web86/html/_test.php on line 26

Das ist die Zeile wo
echo $sql[0];
drin steht.
 
Zuletzt bearbeitet:
so, etwas weiter, zumindest kommt nun ein wert

PHP:
$con = mysql_connect($databasehost,$databaseusername,$databasepassword) or die(mysql_error());
mysql_select_db($databasename) or die(mysql_error());

$result = mysql_query("SELECT Aussentemperatur FROM meteohub_1 WHERE Datum >=current_date()  ORDER BY Datum DESC");
if (!$result) {
    echo 'Konnte Abfrage nicht ausführen: ' . mysql_error();
    exit;
}
$row = mysql_fetch_row($result);

echo $row[0];

mysql_close($con);

bei
echo
$row[1];

gibt es zwar einen fehler, aber das finde ich in einer ruhigen minute auch schon raus
Undefined offset: 1 in /var/www/web86/html/_test.php on line 32

Evtl liegst auch am Zeitformat in der Spalte DATUM
2013-06-02 11:19:02
 
Zuletzt bearbeitet:
Werbung:
Das Script macht genau das, was Du ihm sagst. Schau Dir als nächstes das PHP: mysql_fetch_row - Manual an. Beachte auch das Beispiel was dort angegeben ist. Oder such doch einfach mal bei google nach "anleitung php mysql mehrere datensätze auslesen und anzeigen" da findest Du sicherlich mehrere Möglichkeiten Dein Problem zu beheben.
 
Guck ich mir an.
Denke da fehlt noch ne schleife.

Mit dem Datumsformat bin ich mir aber unsicher, auch wie man Intervalle anzeigt, zb alles zwischen dem 5.5.2013 und 21.5.2013

Bin gerade unterwegs und tippe und lese mit dem Smartphone
 
Das Script macht genau das, was Du ihm sagst. Schau Dir als nächstes das PHP: mysql_fetch_row - Manual an. Beachte auch das Beispiel was dort angegeben ist. Oder such doch einfach mal bei google nach "anleitung php mysql mehrere datensätze auslesen und anzeigen" da findest Du sicherlich mehrere Möglichkeiten Dein Problem zu beheben.

Von dort hatte ich schon den Code geklaut.
Gebe aber erstmal auf, das hat keinen Sinn.

Auch ne while brauchte nicht weiter, ich teste hier nur noch rum und Frau ist
auch schon angenervt.

Mit dem Code kommt als Ausgabe:
PHP:
$con = mysql_connect($databasehost,$databaseusername,$databasepassword) or die(mysql_error());
mysql_select_db($databasename) or die(mysql_error());

$result = mysql_query("SELECT Aussentemperatur FROM meteohub_1 WHERE Datum >=current_date() ORDER BY Datum DESC");
if (!$result) {
    echo 'Konnte Abfrage nicht ausführen: ' . mysql_error();
    exit;
}

while($row = mysql_fetch_row($result));

echo "<br />";
    echo $row[0];
echo "<br />";
    echo $row[1];
echo "<br />";
    echo "Test Ende";

Code:
test.php


Test Ende

Keine Werte.... ;(

Naja. Gruss und schönen Sonntag
 
Werbung:
Keine Werte.... ;(
Wie denn auch???
PHP:
while($row = mysql_fetch_row($result));
Ein Semikolon am Ende einer while-Zeile ist immer schlecht und deine Schleife ist auch ansonsten kaputt! Es kann doch nicht sein, dass wir dir hier auch noch Schleifen erklären müssen!!! :(
 
Gut, dann wünsche ich Dir, und vor allem Deiner Frau, noch 'nen schönen Sonntag. Wenn Deine Frau wieder beruhigt ist, dann solltest Du Dir mal das Thema Kontrollstrukturen angucken, Dein Versuch das while ist zu nutzen ist ja nun gründlich in die Hose gegangen.

Dann ist mir gerade auch noch aufgefallen, dass Du Dir auch die Temperaturen von morgen ausgeben lassen willst? Aber das ändert nicht wirklich was.
 
@bdt600
Übersehen, ich probiere hier soviel Codemöglichkeiten aus, wenn ich alle hier abgelegt hätte, wären wir bei 20 Seiten.
Aber auch ohne ;,.... naja egal

@thuemmy
Natürlich wollte ich die Daten von morgen nicht, nur 1x die Daten von heute und 1x die Daten von gestern
Aber mit oder ohne while,...

@all
wenn mir jemand den richtigen code schreiben kann, wäre es nett. es macht im moment keinen spass nur links lesen zu müssen.
 
Werbung:
es macht im moment keinen spass nur links lesen zu müssen.
Von Spaß kann auch nicht die Rede sein, aber solange du die Grundlagen nicht gelernt hast, wird das nie was. So absolut simple Sachen wie Schleifen sollte man ohne nachzudenken schreiben können, alles andere führt zwangsläufig zum Frust bei dir und bei uns.

Das Semikolon ist ja nicht das einzige Problem bei deiner Schleife
 
Naja, aber die Links enthalten zum größten Teil Grundlagenwissen, und ohne das Wissen landest Du beim nächsten Grundlagenproblem genau wieder hier.

Aber damit Du für heute ein Erfolgserlebnis hast, aber nur unter der Bedingung, dass Du Dir den Code dann nochmal zu Gemüte führst und verstehst, was da geschrieben ist:
PHP:
<?php$
con = mysql_connect($databasehost,$databaseusername,$databasepassword) or
      die(mysql_error());mysql_select_db($databasename) or die(mysql_error());
// Sollte Dir alle Datensätze von heute und gestern liefern
$result = mysql_query("SELECT Aussentemperatur FROM meteohub_1 WHERE Datum <= current_date() ORDER BY Datum DESC");
if (!$result) {
    echo 'Konnte Abfrage nicht ausführen: ' . mysql_error();
    exit;
}
while($row = mysql_fetch_row($result)) { 
  echo $row[0] . "<br />"; // wird so oft ausgeführt wie Datensätze vorhanden sind
}
?>
Der Code sollte so in Ordnung sein, ist natürlich aber ungetestet.

Du solltest Dir aber auf jeden Fall eine Datenbank-Klasse anschauen, entweder mysqli oder PDO. mysql wird naher Zukunft nicht mehr Bestandteil von PHP sein.
 
Werbung:
danke... funktioniert. lese mir das Tutorial in ruhe durch. du benutzt nur ein $row[0], dachte es wäre möglich jeden wert direkt anzusprechen, $row[0],$row[1],$row[2],...
die augen werden mir hoffentlich nach dem lesen auf gehen.

gruss
 
Du solltest Dir tatsächlich nochmal das Manual zu mysql_fetch_row durchlesen und dabei auch das Beispiel genau ansehen, sowohl das SQL-Statement und dann das Ergebnis :-D

Wünsche noch nen schönen Abend.
 
Werbung:
habe nun mal alles gelesen, aber hier habe ich keinen Rat. In einigen Tuts wird genaus gemacht,
aber bei mir klappt es nicht. sicherlich gibt es einen grund, evtl kann mir einer sagen, warum
echo $data[0],usw nichts ausgibt

PHP:
while($row = mysql_fetch_row($result)) { 
  
  $data[]=$row;
  
}
// ---------------------------------------------------------------
echo $data[0];
echo $data[1];
 
Entweder, weil nichts in der DB gefunden wurde oder weil echo $data[0]; eigentlich nur "array" ausgeben kann.

Dein aktueller Quellcode sieht wie aus?
 
Werbung:
Also ganz scheinst Du es nicht gelesen zu haben, oder zumindest Teile davon nicht wirklich verstanden (sorry).
mysql_fetch_row liefert Dir ein Array mit dem Inhalt einer Zeile Deiner sql-Abfrage zurück. Und zwar der Reihenfolge Deiner SORT-Bedingung. Mit dem nächsten mysql_fetch_row wird die nächste Zeile übertragen, und zwar solange, bis die while-Bedingung nicht mehr erfüllt ist (alle Zeilen wurden abgearbeitet). Wenn Du jetzt durch
PHP:
$data[]=$row
die Zeile sicherst, dann schiebst Du ein Array in ein Array-Element Dadurch erhältst Du ein zweidimensionales Array. Deswegen liefert
PHP:
echo $data[0]
kein wirkliches Ergebnis. Neben einer
Notice: Array to string conversion in I:\xampp\htdocs\kgv\a_test.php on line 8
erhältst Du den Begriff Array​ und das war's
 
Ich scheine es wirklich nicht verstanden zu haben, aber man muss doch außerhalb der while-schleife jeden wert in einem Array ansprechen können.

Du sagst ja selbst das $row ein Array ist, warum kann ich es nicht wie ein Array ansprechen? Das ihr hier keinen php Experten vor euch habt, ist bestimmt schon aufgefallen, habe bisher nur etwas Kenntnisse mit VB.net

@bdt600
Ist der gleiche Code wie thuemmy ihn für mich gemacht hat, nur das Echo am ende sind hinzugekommen und das $data[] =$row
 
Zurück
Oben