VIdeoPlayer: in eine PHP Schleife einbauen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
arbeiten
code
datei
datenbank
datensatz
falsch gemacht code
funktionierender code
http
index
nutzen
post
problem
quellcode
schleife
sonne
url
video
zeichen
zeile
-
Hallo Zusammen
Ich habe diesen Player für video, der funktioniert einwandfrei, wenn nur 1video ist.
nun möchte ich, dass es pro video zeile aus der datenbank einen player erstellt.
aber es gibt mir eine Fehlermeldung
funktionierender Code http://teraentwicklung.sonne.goip.de/video/index.html:
<html> <body> <script src="CodoPlayer.js" type="text/javascript"></script> <script> CodoPlayer({ title: "", poster: "poster.jpg", src: "relative://clip/video.mp4" }, { width: 800, height: 500, volume: 100, preload: false }); </script> </body> </html>
nicht funktionierender Code http://teraentwicklung.sonne.goip.de/video/index.php. Was habe ich falsch gemacht?
<html> <?php ini_set("display_errors",true); error_reporting(E_ALL); $_DSN = "dbname"; $_User = "dbuser"; $_PW = "dbpass"; $conn = odbc_connect($_DSN, $_User, $_PW) or die("Verbindung fehlgeschlagen"); //3. SQL ABfrage zum Server senden und resultat in $abfrage speichern $SQL0 = "SELECT * FROM clip"; $SQL0R = odbc_exec($conn, $SQL0); ?> <body> <script src="CodoPlayer.js" type="text/javascript"></script> <script> CodoPlayer({ <?php while($SQL0Z= odbc_fetch_array($SQL0R)) { echo 'title: "' . $SQL0Z["cliptitel"] .'",'; echo 'poster: "poster.jpg",'; echo 'src: "relative://clip/' . $SQL0Z["clipdatei"] ; } ?> }, { width: 800, // Remove width & height keys for responsive behaviour height: 500, volume: 100, preload: false /* For more settings visit http://codoplayer.com/configuration/ */ }); </script> <?php } ?> </body> </html>
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Deine php-Seite zeigt bei mir gar nichts an.
Was hast du denn genau vor?
1) Eigener Player pro Datei: Da musst du natürlich den Code für den Player auch in die Schleife mit rein packen.
2) 1 Player mit Dateien als Playlist: Schau dir die Syntax an (der Link zur Doku steht ja im Quellcode), die passt dafür nicht. -
ha das ist eben das problem, dass es mir nichts anzeigt auf meiner index.php datei.
es soll nicht wirklich eine playlist werden.
ich habe eine andere datei, wo alle clips auflistet und wenn man den einen clip anklickt, soll es den player öffnen mit dem entsprechenden clip.
also muss der script NUR 1clip laden.
dann muss meine php schleife vor dem "script src" eröffnet werden? -
Dann muss deine Datenbankanfrage auch so gestaltet werden, dass es nur diesen einen Datensatz aus der Datenbank abholt.
$SQL0 = "SELECT * FROM clip WHERE clip_id='".is_numeric($_POST['clip_id'])."'";
Jetzt wird dir dann auch nur das eine Video angezeigt. Anstelle von Post kannst du natürlich auch mit Get arbeiten.
-
habe die Codezeile
ersetzt mit$SQL0 = "SELECT * FROM clip";
$SQL0 = "SELECT * FROM Clip where (clip-id=1)";
Aber das Problem hat sich als solches nicht behoben -
Zum einen fehlt in dieser Zeile
echo 'src: "relative://clip/' . $SQL0Z["clipdatei"] ;
Ein "
Sollte dann so aussehen:
echo 'src: "relative://clip/' . $SQL0Z["clipdatei"] .'"';
Und wenn ich diese beiden Zeilen mal vergleiche
$SQL0 = "SELECT * FROM clip"; $SQL0 = "SELECT * FROM Clip where (clip-id=1)";
Fällt mir gleich auf, dass es zei unterschiedliche Tabellen sind. clip ist nicht Clip. Groß und Kleinschreibung sollte immer beachtet werden. In der Regel schreibt man alles klein.
Und ein - Zeichen ist auch immer schlecht. Nimm lieber den _ , um einzelne Wörter zu trennen. Also lieber clip_id.
Denn ein - ist reserviertes Zeichen und könnte in deiner Abfrage tatsächlich auch als ein solches von der Datenbank genommen werden. -
all-in1 schrieb:
Dann muss deine Datenbankanfrage auch so gestaltet werden, dass es nur diesen einen Datensatz aus der Datenbank abholt.
$SQL0 = "SELECT * FROM clip WHERE clip_id='".is_numeric($_POST['clip_id'])."'";
Jetzt wird dir dann auch nur das eine Video angezeigt. Anstelle von Post kannst du natürlich auch mit Get arbeiten.
Das "is_numeric" gibt lediglich ein true/false zurück. Je nachdem ob der übergebene Wert numerisch ist oder nicht. Macht also an der Stelle wenig Sinn das zu benutzen. Was du meinst ist vermutlich intval, das castet zu Integer.
Aber im Allgemeinen ist der Vorgang passend das entsprechend auf einen Eintrag zu begrenzen. Dazu braucht es aber dann auch keine Schleife mehr. Neben _POST und _GET kannst du als Array btw auch _REQUEST nutzen. Damit kannst du die ID in beiden Fällen nutzen, falls das gebraucht wird. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage