Problème concaténation

morpheus22170 Messages postés 99 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 8 septembre 2009 - 20 nov. 2008 à 15:11
morpheus22170 Messages postés 99 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 8 septembre 2009 - 20 nov. 2008 à 16:50
Bonjour,

comme le titre l'indique j'ai un problème de concaténation. Je suis sur une base de données de type "bibliothèque"

Mon problème vient de l'insertion d'un livre. celle ci comporte les informations suivantes:
numéro de livre, nom du livre, année de parution, description , l'auteur et la catégorie

L'auteur est en faite une concaténation que j'ai effectué dans la table auteurs avec Nom et Prénom (exemple dans la liste dans mon formulaire d'inscription de livre: Auteur    Dupont martine.

La catégorie correspond au numéro du nom de la liste dans le formulaire (là polar -> 1)

Mon problème est que j'arrive pas à transformer l'auteur et la catégorie en chiffre. Je veux a tout pris laisser la concaténation pour l'auteur ( vous pouvez comprendre qu'il peut avoir plusieurs noms mais pas le même prénom)

Donc résumons, je voudrais avoir dans ma table ce style:
1, Chien Jaune, 1931, Aventure de Maigret, 2 (Simenon Georges), 1 (polar)

mon code ne fonctionnant pas:

InscriptionLivre.php

<td>Catégorie:</td>
        <td>";
        $userB = "root";
        $hostB = "localhost";
        $passwordB = "";
        $databaseB = "bibliotheque";
        $connexionB = mysql_connect($hostB, $userB, $passwordB) or die ("Connexion au serveur impossible");
        $dbB = mysql_select_db($databaseB, $connexionB) or die ("Sélection de la base de données impossible");
        $rqB = "SELECT * FROM categories";
        $resultB = mysql_query($rqB) or die ("Exécution de la requête impossible");
       
        echo "<select name='nomcategorie'>\n";
        while ($ligneB = mysql_fetch_array($resultB))
        { extract($ligneB);
            echo "<option value='$ligneB[1]'> $ligneB[1]\n";
        }
        echo "</select>\n";
        echo "</tr>
        <tr>
        <td>Auteur:</td>
        <td>";
        $userC = "root";
        $hostC = "localhost";
        $passwordC = "";
        $databaseC = "bibliotheque";
        $connexionC = mysql_connect($hostC, $userC, $passwordC) or die ("Connexion au serveur impossible");
        $dbC = mysql_select_db($databaseC, $connexionC) or die ("Sélection de la base de données impossible");
        $rqC = "SELECT * FROM auteurs";
        $resultC = mysql_query($rqC) or die ("Exécution de la requête impossible");
       
        echo "<select name='auteur'>\n";
        while ($ligneC = mysql_fetch_array($resultC))
        { extract($ligneC);
            echo "<option value='$ligneC'> $ligneC[1] $ligneC[2]\n";
        }
        echo "</select>\n";
        echo "</tr>
...

Inscrirelivre.php

$numlivre = $_POST['numlivre'];
        $nomlivre= $_POST['nomlivre'];
        $ddate= $_POST['ddate'];
        $description= $_POST['description'];
        $nomcategorie= $_POST['nomcategorie'];
        $s1.''.$s2= $_POST['$ligneC'];
               
        echo $nomcategorie;
        echo $s1;
        echo $s2;
       
        $user = "root";
        $host = "localhost";
        $password = "";
        $database = "bibliotheque";
       
        $connexion = mysql_connect($host, $user, $password) or die ("Connexion au serveur impossible");
        $db = mysql_select_db($database, $connexion) or die ("Sélection de la base de données impossible");
        $req="SELECT NumCat FROM categories WHERE NomCat='$nomcategorie')";
        $res= mysql_query($res, $connexion);
       
        $connexionA = mysql_connect($host, $user, $password) or die ("Connexion au serveur impossible");
        $dbA = mysql_select_db($database, $connexion) or die ("Sélection de la base de données impossible");
        $reqA="SELECT NumAut FROM auteurs WHERE NomAut='$s1' AND PrenomAut='$s2')";
        $resA= mysql_query($reqA, $connexionA);
        $chiffreauteur == $resA;
       
        $connexion1 = mysql_connect($host, $user, $password) or die ("Connexion au serveur impossible");
        $db1 = mysql_select_db($database, $connexion) or die ("Sélection de la base de données impossible");
        $req1="INSERT INTO livres VALUES('$numlivre', '$nomlivre', '$ddate', '$description', '$res', '$chiffreauteur')";
        $res1= mysql_query($req1, $connexion1);
        if($res1 == 1 )
            echo ("Insertion réussie avec succès");
        else
        {
            echo ("Problème d'insertion");
        }

quand je fait echo $nomcategorie;  polar apparaît bien mais il ne met pas 1 dans la table "livres"
et j'ai rien aussi pour l'auteur (2 normalement)

Merci de bien vouloir m'aider.

1 réponse

morpheus22170 Messages postés 99 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 8 septembre 2009
20 nov. 2008 à 16:50
bon je viens de réparer mon problème pour mettre le numéro de catégorie au lieu du nom

$nomcategorie= $_POST['nomcategorie'];

...

$connexion = mysql_connect($host, $user, $password) or die ("Connexion au serveur impossible");
        $db = mysql_select_db($database, $connexion) or die ("Sélection de la base de données impossible");
        $req = "SELECT NumCat FROM categories WHERE NomCat='$nomcategorie'";
        $res= mysql_query($req, $connexion);
        $resultat = mysql_fetch_array($res);

....

$req1="INSERT INTO livres VALUES('$numlivre', '$nomlivre', '$ddate', '$description', '$resultat[0]', '$chiffreauteur')";
        $res1= mysql_query($req1, $connexion1);
        if($res1 == 1 )
            {
            echo ("Insertion réussie avec succès");
            echo $req1;
            }
        else
        {
            echo ("Problème d'insertion");
        }

Réponse

INSERT INTO livres VALUES('6', 'ch\'ti du nord ????', '1985', 'Ch\'ti arrive ds le no\'rd', '1', '')

mais j'ai toujours le problème pour casser l'auteur en nom et prénom (après le 1 ci dessus)

Comment casser en deux une variable récupérer ???
0
Rejoignez-nous