jojo28
Invité n'ayant pas de compte PHPfrance
21 mai 2014, 18:58
mon code html
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Mon blog</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<center>
<!-- Notre fonction d' ajout est placer dans un form -->
<form action="ajouter.php" method="post" enctype="multipart/form-data">
<!-- balise pour renseigner le nom du répertoire musical -->
<li><h3>Nom du morceau <input type="text" name="titre" placeholder=" Nom morceau" required></h3></li><br>
<!-- Bouton de sélection pour ajouter les pistes -->
<input type="file" name="file_array[]"></p>
<p><input type="file" name="file_array[]"></p>
<p><input type="file" name="file_array[]"></p>
<p><input type="file" name="file_array[]"></p>
<!-- bouton de validation -->
<input type="submit" name="envoyer" onclick="return(confirm('Etes-vous sûr de vouloir ajouter la musique?'))" value="Ajouter les pistes au morceau">
</form>
</center>
</body>
et mon fichier php
<?php
//on insére notre classe de connexion pour intérargir entre la base de donnée et le site
require_once '../../accesBDD.php';
class Musique
{
//on déclare toute nos variables
private $_titre;
private $_fichier;
private $_chemin;
//on déclare nos variables de méthode
private $_sqlAjouter;
private $_reqAjouter;
//on déclare nos variables de méthode
private $_sqlSupprimerPiste;
private $_reqSupprimerPiste;
//on déclare nos variables de méthode
private $_sqlSupprimerMorceau;
private $_reqSupprimerMorceau;
public function __construct($titre)
{
$this->_titre = $titre ;
}
public function ajouterMorceau($BDD)
{
//Ici nous utilisons notre variable sql pour effectuer une requête sql
$this->_sqlAjouter = 'INSERT INTO morceau(id_morceau, nom_morceau) VALUES(:morc, :titremorceau)' ;
//Ensuite, nous utilisons notre variable de requête pour dans un premier temps effectuer une connexion
//Et après, nous preparons notre requête sql qui a était défini auparavant
$this->_reqAjouter = $BDD->getConnexion()->prepare($this->_sqlAjouter);
//Et enfin, nous exécutons notre requête sql en insérant des données dans notre base de donnée
//Lors de l' insertion je défini un lastInsertId qui correspond à ma clé primaire dans ma table morceau
//Celle-ci s' incrémente toute seule et je la récupére ainsi pour l' insérer dans ma table piste sous clé étrangère
//Elle permettra ainsi de faire la liaison de savoir quel piste appartienne à telle morceau
$this->_reqAjouter->execute(array( ':morc' => lastInsertId,
':titremorceau' => $this->_titre));
//id_data est une variable défini de la récupération de ma clé primaire
$id_data = $BDD->getConnexion()->lastInsertId();
//définition du fichier
$fichier = $name_array = $_FILES['file_array']['name'];
//stockage des fichiers uploader dans le dossier Musique
$chemin = '../../Musique/';
//quelque déclaration complémentaire pour définir une taille maximum du fichier a uploader ou du type du fichier a uploader...etc
$tmp_name_array = $_FILES['file_array']['tmp_name'];
$type_array = $_FILES['file_array']['type'];
$size_array = $_FILES['file_array']['size'];
$error_array = $_FILES['file_array']['error'];
//boucle
for($i = 0; $i < count($tmp_name_array); $i++)
{
//Ici, nous redigirons le fichier à uploader dans le répertoire spécifiée au préalable
if(move_uploaded_file($tmp_name_array[$i], $chemin .$fichier[$i]))
{
//Ici nous utilisons notre variable sql pour effectuer une requête sql
$this->_sqlAjouter = 'INSERT INTO piste(piste1, id_piste, id_morceau) VALUES( :piste1, :idpiste , :idmorceau)' ;
//Ensuite, nous utilisons notre variable de requête pour dans un premier temps effectuer une connexion
//Et après, nous preparons notre requête sql qui a était défini auparavant
$this->_reqAjouter = $BDD->getConnexion()->prepare($this->_sqlAjouter);
//Et enfin, nous exécutons notre requête sql en insérant des données dans notre base de donnée
$this->_reqAjouter->execute(array(
//Le $fichier[i] défini le nom de la musique qui a été dans notre bdd
':piste1' => $fichier[$i],
':idpiste' => '',
//Et le id_data est la récupération de la cléprimaire de notre première table pour ainsi l' insérer dans notre deuxième table sous forme de clé étrangère
'idmorceau'=> $id_data));
}
//Si le fichier a bien était uploader alors
else
{
'upload OK';
}
}
}
Modifié en dernier par
moogli le 21 mai 2014, 22:44, modifié 1 fois.
Raison : bbcode php ...