Problème de requete sql avec php

tipi75 Messages postés 723 Statut Membre -  
bissdebrazza Messages postés 2886 Statut Contributeur -
Bonsoir tout le monde,

Voici ma requête sql, qui ne marche pas:

$reqUpdateProduit=mysql_query("UPDATE produit SET nomBijoux='.$nomBijoux.',longueur ='.$longueur.',poids='.$poids.',saison='.$saison.',annee1='.$annee1.',annee2='.$annee2.',prixHT='.$prixHT.',descriptionBijoux='.$descriptionBijoux.',
enLigne='.$enLigne.',numType='.$numeroType[0].' WHERE numBijoux='.$numBijoux.'");

Merci pour votre aide.
Configuration: Windows XP
Firefox 3.0.7

16 réponses

  1. bissdebrazza Messages postés 2886 Statut Contributeur 712
     
    salut!
    essai ceci:
    $reqUpdateProduit=mysql_query("UPDATE produit SET nomBijoux='$nomBijoux',longueur ='$longueur',poids='$poids',saison='$saison',annee1='$annee1',annee2='$annee2',prixHT='$prixHT',descriptionBijoux='.$descriptionBijoux.',
    enLigne='$enLigne',numType='$numeroType[0]' WHERE numBijoux='$numBijoux'");
    
    
    0
  2. tipi75 Messages postés 723 Statut Membre 27
     
    ça ne change rien. J'ai même une phrase en plus qui me dit:

    Duplicata du champ '2-11' pour la clef 'PRIMARY'

    Qu'est ce que cela veut dire?

    Merci
    0
  3. bissdebrazza Messages postés 2886 Statut Contributeur 712
     
    c'est quelle erreur ça te renvoie?Pour l'autre message,ça veut dire que tu veux modifier la valeur de la clé,or c'est impossible!
    0
  4. tipi75 Messages postés 723 Statut Membre 27
     
    attend j'ai un autre soucis, j'ai une variable de ma requête qui ne possède pas de valeur.

    Voici mes bouts de code:
    <TD><font color="white"><B>Type de bijou*</B></font></TD>

    <?php
    require("fonction.php");
    Connect();

    $sql = mysql_query("SELECT numType, libType FROM type ORDER BY 2");
    echo"<TD align = center>";
    echo"<fieldset STYLE='height:125' width='75'><br/>";

    // création de la légende
    echo "<LEGEND><i><font color=\"#15616E\">Sélectionnez le type du bijou</font></i></LEGEND>";

    // création de la liste déroulante, ne pas oublier le name
    echo "<select name='type[]' STYLE='width:150' size='4'>";

    // Parcourir la requête
    while ($type = mysql_fetch_assoc($sql))
    {
    $leType = $type['libType'];
    echo "<option value ='".$type['numType']."' > " .$leType. " </option>";
    };
    echo "</select>";
    echo "</fiedset>";
    echo"</TD>";
    ?>

    $numBijoux=$_SESSION["leNumBijoux"];
    $nomBijoux=$_POST["nomBijoux"];
    $numeroType=$_POST["type"];

    echo '<p>Récapitulatif des données saisies</p>';
    echo '<ul>';
    echo '<li>numBijoux:'.$numBijoux.'</li>';
    echo '<li>nomBijoux:'.$nomBijoux.'</li>';
    echo '<li>Numero type:'.$numeroType[0].'</li>';

    Le numeroType[0] ne possède pas de valeur, surement que le problème vient de la parce que j'ai un message qui me dit:

    Incorrect integer value: '' for column 'numType' at row 1

    Mais je ne vois pas d'ou cela peut venir???
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. bissdebrazza Messages postés 2886 Statut Contributeur 712
     
    normalement oui,pourquoi il n'y a pas de valeur à cette variable?
    0
  7. tipi75 Messages postés 723 Statut Membre 27
     
    justement je ne comprend pas, problème dans la liste déroulante. Dans un premier temps, j'affiche le type du bijou qui correspond au numero du bijou choisi et ensuite dans cette même liste déroulante je veux faire apparaitre toutes les autres types afin que l'utilisateur puisse modifier le type, s'il s'est trompé.
    0
  8. bissdebrazza Messages postés 2886 Statut Contributeur 712
     
    as tu renseigner le "value" dans la liste déroulante?fais moi voir le code de la liste déroulante!
    0
  9. tipi75 Messages postés 723 Statut Membre 27
     
    <?php
    require("fonction.php");
    Connect();

    $sql = mysql_query("SELECT numType, libType FROM type ORDER BY 2");
    echo"<TD align = center>";
    echo"<fieldset STYLE='height:125' width='75'><br/>";

    // création de la légende
    echo "<LEGEND><i><font color=\"#15616E\">Sélectionnez le type du bijou</font></i></LEGEND>";

    // création de la liste déroulante, ne pas oublier le name
    echo "<select name='type[]' STYLE='width:150' size='4'>";

    // Parcourir la requête
    while ($type = mysql_fetch_assoc($sql))
    {
    $leType = $type['libType'];
    echo "<option value ='".$type['numType']."' > " .$leType. " </option>";
    };
    echo "</select>";
    echo "</fiedset>";
    echo"</TD>";
    ?>
    0
  10. tipi75 Messages postés 723 Statut Membre 27
     
    attend!!!!!!!!!!!!!!!!!je crois que je me suis trompé dans le code que je t'ai envoyé, regarde celui là:

    <?php
    Connect();
    // On exécute la requête qui permet d'afficher le type du bijou grâce au numéro du bijou
    //$reqRecupLibType=mysql_query("SELECT libType FROM type WHERE numType='$leNumType'");

    echo "<td>

    <fieldset width='75'>
    <legend align=top><i>Selectionné le type</i></legend>";
    echo "<select name='type[]' STYLE='width:150' size='5'>";

    // Tant que la ligne est pleine on met la valeur dan $type
    while ($type=mysql_fetch_assoc($reqRecupLibType))
    {
    // On met dans la variable "$leLibType" le libelle du bijou
    $leLibType=$type['libType'];
    // On met dans la variable "$leNumType" le numéro du bijou
    $leNumType=$type['numType'];

    echo "<div class='blocCouleur'><div class='colonne'>";

    // On affiche dans une liste déroulante
    echo "<option value ='".$leNumType."' selected>".$leLibType."</option>";
    }

    Connect();

    //On affiche tous les types
    while ($type = mysql_fetch_assoc($reqType))
    {
    $leType = $type['libType'];
    echo "<option value ='".$type['numType']."'> ".$leType." </option>";
    };
    echo "</select>";
    echo "</fieldset>";
    echo "</td>";

    ?>
    0
  11. bissdebrazza Messages postés 2886 Statut Contributeur 712
     
    dis moi,pourquoi tu met un . avant et après chaque variable??
    0
  12. tipi75 Messages postés 723 Statut Membre 27
     
    c'est la syntaxe, j'ai appris comme cela.
    0
  13. bissdebrazza Messages postés 2886 Statut Contributeur 712
     
    bon tu poste tes variables??cad tu les envoi via un formulaire?si c'est le cas,met print_r($_POST) en début de script pour voir ce qui est envoyé!
    0
  14. tipi75 Messages postés 723 Statut Membre 27
     
    il me met "array" au niveau de la variable $_POST["type"]
    0
  15. bissdebrazza Messages postés 2886 Statut Contributeur 712
     
    il t'affiche la valeur de ce qui est posté dans type??
    il doit en principe afficher array($_POST['type']=>valeur postée) bref,pour toutes les variables postées c'est qu'il doit faire.
    0
  16. tipi75 Messages postés 723 Statut Membre 27
     
    moi il m'affiche que array??? Je ne comprend pas pourquoi il ne prend pas la valeur lorsque je fais "numeroType[0]".

    Je vais me reposer, j'en ai besoin, après avoir passé 10 heures au taf sur du pl/sql et quelques heures ce soir du php. J'ai besoin de repos.

    bonne soirée, je recommencerai ce soir
    0
  17. bissdebrazza Messages postés 2886 Statut Contributeur 712
     
    ok,s'il t'affiche que array tout simple,ça veut dire que ton formulaire n'envoie rien!
    0