Besoin d'aide, presque ridicule mdr

Eléphanteau du PHP | 34 Messages

19 sept. 2012, 23:16

Bonjour, j'ai ce code php :
<html>
<?php if(isset($_GET["id"])) {
			$id = htmlspecialchars(trim($_GET["id"]));
			$q = mysql_query("SELECT * FROM `files` WHERE(`id`={$id})") or die(mysql_error());
				if(mysql_num_rows($q)) {
					$f = mysql_fetch_array($q);
					$ext = $f['extension'];
						[i]if($ext == "mp4") {
							$location = $f['location'];[/i]
?>
<a href="<?php echo $location; ?>" style="display:block;width:520px;height:330px" id="player"></a>
<script>flowplayer("player", "<?php echo $website; ?>/modules/video/flowplayer-3.2.5.swf");</script>
<?php } } } ?>
</body>
</html>
Comment on peut le voir il va cherche dans la base de données les fichiers mp4 puis, les affiche, j'aimerais rajouter plus d'extensions, je veux qu'il aille cherche des MP4, AVI et autres types d'extensions vidéo mais j'ai un trou de mémoire, je me rappelle plus.
Merci par avance. :lol:

Eléphant du PHP | 343 Messages

20 sept. 2012, 03:49

Un tableau avec les différents formats (array) et tu checkes avec in_array ;)
Développeur web

Eléphanteau du PHP | 34 Messages

20 sept. 2012, 04:31

Je suis débutant donc array je connais pas énormément .
Mais merci de ta réponse quand même.

J'ai appris le php en regardant des petits script et en collant des petits morceaux, avec des exemples, j'arrive plus facilement.

ViPHP
ViPHP | 2577 Messages

20 sept. 2012, 10:26

Tu as un test sur mp4 : if($ext == "mp4")

A toi de modifier ce test pour accepter d'autres extensions.

Mammouth du PHP | 2278 Messages

20 sept. 2012, 21:04

J'ai du mal à saisir car qu'est-ce que id :
le codage de l'extension?*autre chose?
si c'est l'extension:
select mot from mots where mot in('auto', 'voiture');
Bonjour, j'ai ce code php :
<html>
<?php if(isset($_GET["id"])) {
			$id = htmlspecialchars(trim($_GET["id"]));
			$q = mysql_query("SELECT * FROM `files` WHERE(`id`={$id})") or die(mysql_error());
				if(mysql_num_rows($q)) {
					$f = mysql_fetch_array($q);
					$ext = $f['extension'];
						[i]if($ext == "mp4") {
							$location = $f['location'];[/i]
?>
<a href="<?php echo $location; ?>" style="display:block;width:520px;height:330px" id="player"></a>
<script>flowplayer("player", "<?php echo $website; ?>/modules/video/flowplayer-3.2.5.swf");</script>
<?php } } } ?>
</body>
</html>
Comment on peut le voir il va cherche dans la base de données les fichiers mp4 puis, les affiche, j'aimerais rajouter plus d'extensions, je veux qu'il aille cherche des MP4, AVI et autres types d'extensions vidéo mais j'ai un trou de mémoire, je me rappelle plus.
Merci par avance. :lol:
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Eléphanteau du PHP | 34 Messages

20 sept. 2012, 21:25

J'ai du mal à saisir car qu'est-ce que id :
le codage de l'extension?*autre chose?
si c'est l'extension:
select mot from mots where mot in('auto', 'voiture');
Bonjour, j'ai ce code php :
<html>
<?php if(isset($_GET["id"])) {
			$id = htmlspecialchars(trim($_GET["id"]));
			$q = mysql_query("SELECT * FROM `files` WHERE(`id`={$id})") or die(mysql_error());
				if(mysql_num_rows($q)) {
					$f = mysql_fetch_array($q);
					$ext = $f['extension'];
						[i]if($ext == "mp4") {
							$location = $f['location'];[/i]
?>
<a href="<?php echo $location; ?>" style="display:block;width:520px;height:330px" id="player"></a>
<script>flowplayer("player", "<?php echo $website; ?>/modules/video/flowplayer-3.2.5.swf");</script>
<?php } } } ?>
</body>
</html>
Comment on peut le voir il va cherche dans la base de données les fichiers mp4 puis, les affiche, j'aimerais rajouter plus d'extensions, je veux qu'il aille cherche des MP4, AVI et autres types d'extensions vidéo mais j'ai un trou de mémoire, je me rappelle plus.
Merci par avance. :lol:
En faite, j'ai réussit à corriger mon problème, merci à tous de m'avoir répondu.

ViPHP
ViPHP | 2577 Messages

21 sept. 2012, 08:53

Ca serait sympa d'expliquer la solution finalement retenue et de marquer le sujet comme résolu.

Lorsqu'on propose des solutions on aime bien savoir si c'était utile

Eléphanteau du PHP | 34 Messages

22 sept. 2012, 01:22

Bien sûr désole,

il m'a suffit d'ajouter un "OR"
if($ext == "mp4" OR ext == "avi" OR ext == "flv" OR ext == "wmv" OR ext == "mov" OR ext == "mkv") {
$location = $f['location'];
En tant que nouveau sur php, je préférée les choses simples, une fois, bien dedans, je passerais au plus dur.Je crois que je vais rester sur votre forum.

Eléphanteau du PHP | 35 Messages

25 sept. 2012, 17:05

Hello,

Pour infos le mysql or die est assez dépassé. Un petit exemple rapide (je n'ai pas tester mais le plus important y ai) d'utilisation de PDO pour le requêtage.
http://fr2.php.net/manual/en/book.pdo.php
PDO te permettra de pouvoir changer de serveur de base de données sans changer ton code, de préparer tes requêtes, de binder des options etc.
<?php
try {
    
        $id = (int) $_GET['id'];
        
        if(null !== $id) {
            
            $dbh = new PDO('mysql:dbname=testdb;host=127.0.0.1', 'user', 'password');
            $sql = 'SELECT * FROM files WHERE id = :id';
            $sth = $dbh->prepare($sql);
        
            $sth->bindParam(':id', $id, PDO::PARAM_INT);
        
            $results = $sth->execute();
            $listExt = array('mp4', 'avi', 'mpeg');
            
            foreach ($results as $result) { ?>                
                <span style="font-style: italic">
                    <?php 
                        if(true === in_array($listExt, $result['extension'])) { 
                            $location = $result['extension'];
                        }
                     ?>
                </span>
            <?php }
        }
    } catch (Exception $e) {
        echo $e->getMessage();
        exit;
    }
?>
La paresse est mère du génie.