Zur Navigation

Ton abspielen bei neuen eintrag [2]

11 Jörg Kruse

ob in der letzten zeile in der spalte VHF_5340/1 eine 1 oder eine 0 steht

Ja, wie gesagt, fragst du immer nur die erste Zeile ab - und da steht vermutlich eine 1 in der Spalte VHF_5340/1.

Ich würde gezielt den letzten Datensatz abfragen. Wenn die Tabelle als Primärschlüssel eine ID mit auto_increment hat, kannst du z.B. den Datensatz mit der höchsten ID abfragen (in dem folgenden Beispiel mit dem Spaltennamen `id`):

$reg = mysql_query("SELECT `VHF_5340/1` FROM Alarm ORDER BY id DESC LIMIT 1");
$VHF1 = mysql_result($reg, 0, 0);

31.01.2011 23:08 | geändert: 31.01.2011 23:09

12 Basti5340

... wegen dem mit der 1. ne leider nicht da steht über all 0 und trotzdem spielt er es ab .... ich probiere es mal aus

01.02.2011 13:00

13 Basti5340

Gut ... jetz ging mir der sound auf den Keks dan hab ick raus genommen (kommt später wieder rein aber i-wie gibt er mir immer eine negative ausgabe.
<?php

$servername = "**********";
$benutzer = "*********";
$passwort = "**********";
$datenbank = "************";
$tabellenname = "Alarm";
$reg = mysql_query("SELECT VHF FROM Alarm WHERE ORDER BY ID DESC LIMIT 1 ");
$VHF1 = mysql_result($reg, 0, 0);
if ( $VHF1 == '1'){
echo 'ja';
}else{ 
echo 'nein';
}
?>
achso und die Tabellen reihe heist inzichen VHF ... so viel Veränderung XDD

02.02.2011 01:51

14 Jörg Kruse

Dem WHERE sollte noch eine Bedingung folgen oder es ist überflüssig.

Du solltest vielleicht noch am Anfang des Codes error_reporting einschalten, damit du erfährst, wann eine SQL-Abfrage nicht ausgeführt werden konnte.

error_reporting(E_ALL);

02.02.2011 10:34

15 Basti5340

gut jetz hab ich das gantz nach oben geschrieben und echo davor geschrieben jetzt gibt er mir auf der seite
22527 nein
aus

02.02.2011 14:07

16 Basti5340

ok und wen ich es ans ende setze schreibt er
30719
i-wie ist das verwirrent XD

02.02.2011 14:10

17 Jörg Kruse

und echo davor geschrieben

Was überflüssig ist; die Zeile "error_reporting(E_ALL);" sollte dafür sorgen, dass PHP Fehlermeldungen ausgibt, falls vorhanden; ein echo wird hierzu nicht benötigt und gibt hier wohl die Bitmaske der Konstante E_ALL aus.

Siehe hierzu auch:

http://php.net/manual/de/function.error-reporting.php

02.02.2011 15:29

18 Basti5340

also ohne echo macht er mir nur mein nein als ausgabe.

02.02.2011 16:37

19 Jörg Kruse

Hast du denn das WHERE rausgenommen bzw. mit einer Bedingung ergänzt? Die Abfrage in Beitrag 13 hätte nur einen Fehler zurückgegeben und kein Ergebnis.

Wenn PHP dir keine Fehler anzeigt, musst du möglicherweise auch noch display_errors auf 'On' setzen:

error_reporting(E_ALL);
ini_set('display_errors','On');

Übrigens definierst du hier Zugangsdaten ohne anschließend damit (mit mysql_connect() und mysql_select_db()) eine Datenbankverbindung aufzubauen:

$servername = "**********";
$benutzer = "*********";
$passwort = "**********";
$datenbank = "************";

Ohne Datenbankverbindung kannst du natürlich auch keine Datenbankabfrage stellen

02.02.2011 17:56 | geändert: 02.02.2011 17:59

20 Basti5340

jetz gibt er mir nichts aus
error_reporting(E_ALL);

$servername = "***********";
$benutzer = "******";
$passwort = "***********";
$datenbank = "***********";
$tabellenname = "**********";
mysql_connect ($servername, $benutzer, $passwort)
mysql_select_db ($datenbank)
$reg = mysql_query("SELECT VHF FROM Alarm ORDER BY ID DESC LIMIT 1 ");
$VHF1 = mysql_result($reg, 0, 0);
if ( $VHF1 == '1'){
echo 'ja';
}else{ 
echo 'nein';
}

02.02.2011 23:45