peemousse | Le topic original se trouve ici :
http://forum.hardware.fr/hardwaref [...] 4786-1.htm
Je pose ma question dans le forum PHP parce que ce qu'elle ne correspond plus au forum SGBD/SQL
re coucou,
Bon ca commence à prendre un peu forme tout ce bazar
Il y a quand même un truc qui me turlupine. C'est que j'ai l'impression de pisser pas mal de code... je suis certain que pour la majorité de mes requetes y a moyen de faire plus court !
Voici un exemple : un module pour ajouter les nouveaux artistes dans la table "song" et dans la table "mapping".
Code :
- //connexion à la base
- @mysql_pconnect($BD_server, $BD_user, $BD_password) or die("Impossible to connect to the Database." );
- @mysql_select_db($BD_base) or die("Impossible to connect to the Database." );
- /* on récupère les champs de l'artiste original */
- $artistoriginal = trim(htmlspecialchars(addslashes($_POST["artistoriginal"])));
- $titleoriginal = trim(htmlspecialchars(addslashes($_POST["titleoriginal"])));
- $albmuoriginal = trim(htmlspecialchars(addslashes($_POST["albumoriginal"])));
- $yearoriginal = trim(htmlspecialchars(addslashes($_POST["yearoriginal"])));
- /* on récupère les champs de la reprise */
- $artistsample = trim(htmlspecialchars(addslashes($_POST["artistsample"])));
- $titlesample = trim(htmlspecialchars(addslashes($_POST["titlesample"])));
- $albumsample = trim(htmlspecialchars(addslashes($_POST["albumsample"])));
- $yearsample = trim(htmlspecialchars(addslashes($_POST["yearsample"])));
- /*on vérifie que la chanson original n'est pas déja dans la base de donnée*/
- $sql_original="SELECT * FROM song
- WHERE artist='$artistoriginal' AND title = '$titleoriginal' AND album = '$albumoriginal' AND year = '$yearoriginal'";
- $req_original=mysql_query($sql_original);
- $res_original=Mysql_numrows($req_original);
- /*on vérifie que la chanson sample n'est pas déja dans la base de donnée*/
- $sql_sample="SELECT * FROM song
- WHERE artist='$artistsample' AND title = '$titlesample' AND album = '$albumsample' AND year = '$yearsample'";
- $req_sample=mysql_query($sql_sample);
- $res_sample=Mysql_numrows($req_sample);
- /* JE VOUS FAIS GRACE DES TESTS */
- $sqloriginal = "INSERT INTO song VALUES('','$artistoriginal','$titleoriginal','$albumoriginal','$yearoriginal')";
- $sqlsample = "INSERT INTO song VALUES('','$artistsample','$titlesample','$albumsample','$yearsample')";
- // on insère les informations du formulaire dans la table
- mysql_query($sqloriginal) or die('Erreur SQL !'.$sqloriginal.'<br>'.mysql_error());
- mysql_query($sqlsample) or die('Erreur SQL !'.$sqlsample.'<br>'.mysql_error());
- //on récupère l'id de l'original
- $sqlidoriginal="SELECT id from song
- WHERE artist='$artistoriginal' AND title = '$titleoriginal' AND album = '$albumoriginal' AND year = '$yearoriginal'";
- $reqidoriginal=mysql_query($sqlidoriginal);
- $dataoriginal=mysql_fetch_array($reqidoriginal);
- $idoriginal=$dataoriginal['id'];
- //on récupère l'id du sample
- $sqlidsample="SELECT id from song
- WHERE artist='$artistsample' AND title = '$titlesample' AND album = '$albumsample' AND year = '$yearsample'";
- $reqidsample=mysql_query($sqlidsample);
- $datasample=mysql_fetch_array($reqidsample);
- $idsample=$datasample['id'];
- echo $idoriginal;
- echo $idsample;
- echo "songs add in the song database<br>";
- $sqlmapping="INSERT into mapping VALUES('','$idoriginal','$idsample')";
- mysql_query($sqlmapping) or die('Erreur SQL !'.$sqlmapping.'<br>'.mysql_error());
- echo "songs add in the mapping database <br>";
|
Je trouve ca lourd comme procédure... n'étant pas un As du binôme php/sql j'attends vos conseils.
Si c'est la bonne méthode merci de me le dire aussi ^^ pour me rassurer.
merci
Message édité par peemousse le 15-07-2004 à 17:48:20
|