Zur Navigation

Ton abspielen bei neuen eintrag

1 Basti5340

Hi zusammen,
also ich habe folgendes Problem bzw. folgene Idee ich möchte eine seite schreiben die einen sound abspielt wen in der DB eine zeile angelegt wird wo der wert in der spalte VHF = 1 ist . ich weis aber leider nicht wie ich das machen soll . Kann mir Jemand Helfen ?
Liebe Grüße aus Berlin.

30.01.2011 16:09 | geändert: 30.01.2011 16:12

2 Jörg

Du initialisiert eine Variable für die Bedingung des Ton-Abspielens

$play_sound = false;

Nach einem erfolgten INSERT mit den gewünschten Werten setzt du die Variable auf true

$play_sound = true;

Dann kannst du bei der Ausgabe des HTML-Codes in einem entsprechenden if-Konstrukt den Code zum Abspielen des Tons einbauen

<?php if ($play_sound) { ?>
<!-- HTML-Code zum Abpielen des Tons -->
<?php } ?>

30.01.2011 18:40

3 Basti5340

gut ok ... das leutet ein nur ich verstehe nicht gantz was ich hinter play_sound schreiben soll also ich habe zur zeit
<html>
  <head>
    <meta http-equiv="refresh" content="10";>
    <title>ist egal</title>
  </head>
  <body>
  <?php
  $dbHost = "*****";
  $dbUser = "*******";
  $dbPass = "*****";
  $dbName = "*******";
  $connect = @mysql_connect($dbHost, $dbUser, $dbPass);
  $selectDB = @mysql_select_db($dbName, $connect);
  $sql =  "SELECT * FROM `Alarm`";
  $db_erg = mysql_query( $sql );
  
  $reg = mysql_query("SELECT VHF 5340/1 FROM Alarm");
  $VHF1 = @mysql_result($reg, 0, 0);

  $play_sound = ($VHF1 = '1')
  echo $play_sound
  ?>
  </body>
</html>
nur schreibt er leider nichts als echo

31.01.2011 01:07

4 Jörg

Da wird keine Zeile in die Datenbank eingetragen ("INSERT"), sondern aus dieser abgefragt ("SELECT"). Aber ist das überhaupt eine gültige Abfrage?

$reg = mysql_query("SELECT VHF 5340/1 FROM Alarm");

Was für einen Zweck soll das "5340/1" hier erfüllen? Wenn du das @ vor dem mysql_result() wegmachst, wird vermutlich eine Fehlermeldung ausgegeben, weil dei Abfrage syntaktisch nicht korrekt ist

An der folgenden Stelle könntest du die Bedingung einbauen:

$VHF1 = @mysql_result($reg, 0, 0);
if ($VHF1 == '1') {
    ?>
<!-- hier den HTML-Code zum Abpielen des Tons einbauen -->
<?php
}

Um in einer Webseite Musik abspielen zu lassen, gibt es mehrere Wege:

http://aktuell.de.selfhtml.org/artikel/grafik/flashmusik/
http://de.selfhtml.org/html/dateiweit/hintergrundmusik.htm
http://de.selfhtml.org/html/multimedia/index.htm

31.01.2011 02:04

5 Basti5340

Ok ich versuche das mal... 'VHF 5340/1' ist der Tabellen Spalten name ....
das mit dem sound abspielen bekomme ich hin XD

31.01.2011 17:51

6 Jörg

Spaltennamen mit Leerzeichen sind nicht ganz unproblematisch. In einer SQL-Abfrage würde ich solche Namen durch Backticks begrenzen:

$reg = mysql_query("SELECT `VHF 5340/1` FROM Alarm");

31.01.2011 18:01

7 Basti5340

Also jetz hab ich die spalte VHF5340/1 umbenant in VHF_5340/1 und auch die ` gesetzt doch jetzt spielt er den sound immer ab egal ob 1 in der spalte steht oder nicht

31.01.2011 18:37

8 Basti5340

Ein ausschnit aus dem Quellcode


$reg = mysql_query("SELECT `VHF_5340/1` FROM Alarm");
$VHF1 = @mysql_result($reg, 0, 0);
if ($VHF1 == '1') {
    ?>
<bgsound src="ding.wav" loop="infinite">
<embed src="ding.wav" autostart="true" loop="true" hidden="true" height="0" width="0">

<?php
}else{
echo ' da muss ich mal kugen';
}

31.01.2011 18:48

9 Jörg

egal ob 1 in der spalte steht oder nicht

In welchem Datensatz denn? oder hat die Tabelle Alarm nur einen Datensatz? Dir ist schon klar, dass du hier den ersten Datensatz abfragst (?):

$reg = mysql_query("SELECT `VHF_5340/1` FROM Alarm");
$VHF1 = @mysql_result($reg, 0, 0);

31.01.2011 18:52

10 Basti5340

naja also die datenbank hat zur zeit glaube 30 einträge aber da kommen durch ein formular immer welsche dazu . Naja und er soll in der datenbank funkspiel-berlin in der tabelle Alarm in der Spalte VHF_5340/1 Heraus bekommen ob in der letzten zeile in der spalte VHF_5340/1 eine 1 oder eine 0 steht wen da eine 1 steht soll er einen sound abspielen.

31.01.2011 22:42