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 :

Deux questions sql


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 319
    Par défaut Deux questions sql
    - la premiere est ce que quelqu un peut me xpliquer la focntion isset car quand je regarde un peu j ai du mal à saisir ...

    - j ai mon fichier php qui me permet de modifier mes entrées dans ma abse de données mais j ai un problème ave cmon update il me renvoie l'erruer suivante :

    Erreur SQL !
    Duplicate entry 'ABR003' for key 1

    voic le fichier merciii

    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
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Catalogue</title>
    <link rel="stylesheet" type="text/css" href="style.css">
    </head>
    <body link="#000000" vlink="#FFFFFF" alink="#FFFFFF">
    <div id="body">
     
    <?php
     
     include ('config.php');
     include ('connexion.php'); 
     
     //nom_label
     $nom_label = $_POST["nom_label"] ;
     
     //reference
     $reference = $_POST["reference"];
     
     
     
     $sql1 = "SELECT contenu.reference, contenu.artiste, contenu.album, contenu.format, label.nom_label FROM contenu, label WHERE label.id_label = contenu.id_label AND label.nom_label = '".$_POST  
     
    ['nom_label']."' ";
     
     $req1= mysql_query($sql1) or die( mysql_error() ) ;
     
     $total = mysql_num_rows($req1);
     
     
     if($total!=0) 
     
       {
            echo '<form method ="post" action="modif2.php">';
            echo '<table>'."\n";
            echo '<tr>';
            echo '<td ><b><u>Label</u></b></td>';
            echo '<td ><b><u>reference</u></b></td>';
            echo '<td><b><u>artiste</u></b></td>';
            echo '<td><b><u>album</u></b></td>';
            echo '<td><b><u>format</u></b></td>';
            echo '</tr>'."\n";
     
     while($row = mysql_fetch_array($req1)) 
     
      {
            echo '<tr>';
            echo '<td><input type="text" name="nom_label" value="'.$row["nom_label"].'"/></td>'; 
            echo '<td><input type="text" name="reference" value="'.$row["reference"].'"/></td>'; 
            echo '<td><input type="text" name="artiste" value="'.$row["artiste"].'"/></td>'; 
            echo '<td><input type="text" name="album" value="'.$row["album"].'"/></td>'; 
            echo '<td><input type="text" name="format" value="'.$row["format"].'"/></td>'; 
            echo '</tr>'."\n";
      }
     
            echo '</table>'."\n";
            echo '<input type="submit" name="btOk" value="Modifier!"/>';
            echo '</form>';
            if (isset($_POST['btOk']))
      {
     
     
     
     $sql3= "UPDATE
          label, contenu
    SET
          nom_label='".$_POST['nom_label']."', reference='".$_POST['reference']."',
          artiste='".$_POST['artiste']."',album='".$_POST['album']."',
          format='".$_POST['format']."'
    WHERE
          nom_label='".$_POST['nom_label']."'";
     
     
     
     $req3= mysql_query($sql3) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error());
     
     
     
     if($req3)
     
     
      {
            echo ("L'insertion a été correctement effectuée") ;
      }
     
     else
     
      {
            echo("L'insertion à échouée") ;
      }
     
      }
     
      } 
     
    ?> 
     
    </body></html>
     
    <?php
    mysql_close();
    ?>

  2. #2
    Membre éclairé
    Avatar de onet
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    365
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2002
    Messages : 365
    Par défaut
    isset() permets de savoir si la variable existe. Et renvois true / false

    Quand a ton duplicate entry, c'est parce que tu as mis un champ en clé primaire et unique. En conséquence, si tu as déja une ligne contenant cet id, tu ne peux pas en écrire un seconde.

    Onet

  3. #3
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    Citation Envoyé par stefanelle Voir le message
    - la premiere est ce que quelqu un peut me xpliquer la focntion isset car quand je regarde un peu j ai du mal à saisir ...
    ==> isset() vérifie que la variable existe (elle peut être remplie, nulle, vide, 0, etc mais elle EXISTE)

    Citation Envoyé par stefanelle Voir le message
    - j ai mon fichier php qui me permet de modifier mes entrées dans ma abse de données mais j ai un problème ave cmon update il me renvoie l'erruer suivante :

    Erreur SQL !
    Duplicate entry 'ABR003' for key 1
    Il existe déjà dans ta DB une ligne où le champ #1 vaut 'ABR003' (et ce champ est surement en UNIQUE ou PRIMARY dans ta DB)

  4. #4
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 319
    Par défaut
    merci pour le isset :-)

    pour la cle primaire j ai mis un champ en cle primaire dans ma syntaxe update ?

  5. #5
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    les champs PRIMARY sont uniques

  6. #6
    Membre éclairé
    Avatar de onet
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    365
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2002
    Messages : 365
    Par défaut
    Citation Envoyé par stefanelle Voir le message
    merci pour le isset :-)

    pour la cle primaire j ai mis un champ en cle primaire dans ma syntaxe update ?
    La question n'est pas de savoir si tu l'as mis dans ton update (tu ne peux pas le faire), mais plutot de savoir si la structure de ta table contient ce champs (ce qui doit etre le cas a mon avis).

    Onet

  7. #7
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 319
    Par défaut
    ah oui c est vrai le champ que je modifie etait en primaire ....

    je m en occupe mercid e votre reponse

    ce qui veut dire que comme ma on champ reference est en cle primaire je ne pourrais pas faire un update sur une des entrées ?

  8. #8
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    Citation Envoyé par stefanelle Voir le message
    ce qui veut dire que comme ma on champ reference est en cle primaire je ne pourrais pas faire un update sur une des entrées ?
    Tu peux modifier le contenu des champs PRIMARY mais le problème qu'il se pose ici, c'est que tu essaies de lui donner la même valeur qu'une autre ligne

Discussions similaires

  1. Deux questions
    Par sheira dans le forum ASP
    Réponses: 10
    Dernier message: 25/11/2005, 12h49
  2. [Together] Deux questions sur Borland Together UML
    Par srvremi dans le forum Autres
    Réponses: 4
    Dernier message: 02/11/2005, 09h32
  3. Question sql
    Par rico3434 dans le forum Langage SQL
    Réponses: 19
    Dernier message: 18/09/2005, 20h10
  4. [Débutant] Deux questions concernants les vues
    Par 13obscur dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 19/04/2005, 14h29
  5. deux questions
    Par Invité4 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 21/03/2005, 14h20

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