Problème de requete sql avec php
tipi75
Messages postés
723
Statut
Membre
-
bissdebrazza Messages postés 2886 Statut Contributeur -
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.
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
-
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'"); -
ç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 -
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!
-
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??? -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
normalement oui,pourquoi il n'y a pas de valeur à cette variable?
-
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é.
-
as tu renseigner le "value" dans la liste déroulante?fais moi voir le code de la liste déroulante!
-
<?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>";
?> -
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>";
?> -
dis moi,pourquoi tu met un . avant et après chaque variable??
-
-
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é!
-
il me met "array" au niveau de la variable $_POST["type"]
-
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. -
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 -
ok,s'il t'affiche que array tout simple,ça veut dire que ton formulaire n'envoie rien!