IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Table inconnue 'type_matiere_premiere' dans where clause alors qu'elle existe [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    108
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 108
    Par défaut Table inconnue 'type_matiere_premiere' dans where clause alors qu'elle existe
    Ce script a pour utilité de me permettre de modifier des enregistrements via des requêtes update
    le problème est que il y a un erreur qui survient Table inconnue 'type_matiere_premiere' dans where clause
    pourtant la table type matière première existe.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    CREATE TABLE type_matiere_premiere (
      code_typ_mat_pre int(20) NOT NULL auto_increment,
      code_four varchar(20) NOT NULL default '',
      code_mat_pre varchar(20) NOT NULL default '',
      couleur varchar(20) NOT NULL default '',
      des_typ_mat_pre varchar(20) NOT NULL default '',
      PRIMARY KEY  (code_typ_mat_pre),
      KEY code_four (code_four)
    ) TYPE=MyISAM;
    et voici le script le concernant!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    <html>
    <head><title>Modification mati&egrave;re premi&egrave;re</title></head>
    <body bgcolor="#00FFFF" text="#000000" vlink="#FF00FF" alink="#FFFFFF">
    <table width="946" height="75" border="3" bordercolor="#FF0000">
      <tr>
        <td width="224"><? echo "bienvenu ".$_SESSION['login'];?></td><td width="702"><div align="right" class="Cellule_droite_bottom"><a href="logout.php" class="Style3">déconnexion</a></div></td>
      </tr>
    </table>
    <?php
    mysql_connect("localhost", "root", "") or die("La connexion au serveur a échoué");
     
    mysql_select_db("art-mania") or die("La connexion à la base a échoué");
    	if (isset($_POST["btnmodif"]))
      	$d=$_POST["code_typ_mat_pre"];
    	else
      	$d=$_GET["id"]; 
    	 $requete="select * from type_matiere_premiere,matiere_premiere,entree_stock where type_matiere_premiere.code_typ_mat_pre='$d' and matiere_premiere.code_mat_pre=type_matiere_premiere.code_mat_pre and entree_stock.code_typ_mat_pre=type_matiere_premiere.code_typ_mat_pre";
     
    $result=mysql_query($requete);
     
    $ligne=mysql_fetch_assoc($result);
    echo '<form action=Modifier.php method=POST>';
    echo '<table>';
    echo '<tr><td>identifiant: </td><td><input type=text name=code_typ_mat_pre readonly=true value='.$d.'></td></tr>';
    echo '<tr><td>matiere premiere : </td><td><input type=text name=des_mat_pre value='.$ligne["des_mat_pre"].'></td></tr>';
    echo '<tr><td>type matière première : </td><td><input type=text name=des_typ_mat_pre value='.$ligne["des_typ_mat_pre"].'></td></tr>';
    echo '<tr><td>Couleur : </td><td><input type=text name=couleur value='.$ligne["couleur"].'></td></tr>';
    echo '<tr><td>quantité dans le stock:</td><td><input type=text name=entre_stock value='.$ligne["qte_stock"].'></td></tr>';
    echo '<tr><td>prix:</td><td><input type=text name="pr_ttc" value='.$ligne["pr_ttc"].'></td></tr>';
    echo '<tr><td></td><td><input type=submit value=Valider name=btnmodif></td></tr>';
    echo '</table>';
    echo '</form>';
     
    if (isset($_POST["btnmodif"])){
    $j=$_POST["entree_stock"];
    $c=$_POST["pr_ttc"];
    $n=$_POST["des_mat_pre"];
    $p=$_POST["des_typ_mat_pre"];
    $a=$_POST["couleur"];
    $requete1="UPDATE entree_stock SET qte_stock='$j',pr_ttc='$c' WHERE entree_stock.code_typ_mat_pre='$d'";
    echo "$requete1";
    $result=mysql_query($requete1)OR die(mysql_error());
    $requete2="UPDATE type_matiere_premiere SET des_typ_mat_pre='$p',couleur='$a' WHERE code_typ_mat_pre='$d'";
    echo "$requete2";
    $result=mysql_query($requete2)OR die(mysql_error());
    $requete3="UPDATE matiere_premiere SET des_mat_pre='$n' where 
    matiere_premiere.code_mat_pre=type_matiere_premiere.code_mat_pre and type_matiere_premiere.code_typ_mat_pre='$d'";
    echo "$requete3";
    $result=mysql_query($requete3)OR die(mysql_error());
    echo 'matière première modifiée';
    }
    mysql_close();
    ?>
    <br><a href=liste_matiere_premiere.php >Liste des matière premières</a>
    </body>
    </html>
    et merci d'avance pour votre aide!

  2. #2
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    Bonjour,
    Si tu utilises 2 tables dans ton UPDATE, il faut que tu les mentionnes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $requete3 = "UPDATE matiere_premiere , type_matiere_premiere
                 SET matiere_premiere.des_mat_pre = '" . $n . "' 
                 WHERE
                 matiere_premiere.code_mat_pre = type_matiere_premiere.code_mat_pre 
                 AND 
                 type_matiere_premiere.code_typ_mat_pre = '" . $d . "' ";
    Citation Envoyé par DocMysql
    Depuis MySQL version 4.0.4, vous pouvez aussi faire des opérations de UPDATE qui couvrent plusieurs tables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UPDATE items,month SET items.price = month.price
    WHERE items.id = month.id;
    L'exemple ci-dessus montre une jointure interne, en utilisant la virgule comme séparateur

  3. #3
    Membre confirmé
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    108
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 108
    Par défaut
    Citation Envoyé par N1bus Voir le message
    Bonjour,
    Si tu utilises 2 tables dans ton UPDATE, il faut que tu les mentionnes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $requete3 = "UPDATE matiere_premiere , type_matiere_premiere
                 SET matiere_premiere.des_mat_pre = '" . $n . "' 
                 WHERE
                 matiere_premiere.code_mat_pre = type_matiere_premiere.code_mat_pre 
                 AND 
                 type_matiere_premiere.code_typ_mat_pre = '" . $d . "' ";
    merci ça marche

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Champ 'Kaskroot' inconnu dans where clause
    Par visqueu dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 11/11/2010, 13h50
  2. Champ inconnu dans where clause
    Par sam01 dans le forum Requêtes
    Réponses: 2
    Dernier message: 10/06/2010, 12h48
  3. [MySQL] erreur champ ' ' inconnu dans where clause
    Par j2eejsp dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 29/01/2009, 00h28
  4. [SQL] #1109 - Table inconnue 'ville_latlong' dans where clause
    Par ffoxenn dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 23/01/2008, 17h06
  5. Réponses: 4
    Dernier message: 10/05/2006, 18h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo