Ajout d'un sujet dans une bdd
ladj59
Messages postés
322
Statut
Membre
-
ladj59 Messages postés 322 Statut Membre -
ladj59 Messages postés 322 Statut Membre -
Bonjour,
je ne comprends pas pourquoi ce code ne marche pas
je veux juste que le sujet que j'ai rentré dans la zone texte se rajoute dans ma bdd dont la table est sujets
merci d'avance pour votre aide
Si vous voulez ajouter un sujet à la liste déroulante, veuillez le rentrer ci-dessous :
<br />
<input type="text" value="nouveau sujet" id="nouveau_sujet"/>
<input type="submit" value="Ajouter" />
</p>
<?php
mysql_connect("localhost", "root", ""); // Connexion à MySQL
mysql_select_db("physique"); // Sélection de la base coursphp
//$reponse = mysql_query("SELECT * FROM base_physique WHERE sujet ='$_POST['sujet']'")or die("Erreur sql!<br />".mysql_error());
if(isset($_POST['sujet']))
{
//ajout à la bdd
$sujet=$_POST['sujet'];
$nombre=mysql_query("SELECT COUNT (*) AS nombre FROM sujets WHERE sujet ='$sujet'");
$n=$nombre['nombre'];
// nombre correspond au nombre de fois où le sujet est déjà présent
//s'il vaut 0 on l'ajoute sinon on passe
if ($n==0)
{ mysql_query("INSERT INTO sujets VALUES('', '$sujet')");
}
}
?>
<?php
mysql_close();
?>
</body>
</head>
</html>
je ne comprends pas pourquoi ce code ne marche pas
je veux juste que le sujet que j'ai rentré dans la zone texte se rajoute dans ma bdd dont la table est sujets
merci d'avance pour votre aide
Si vous voulez ajouter un sujet à la liste déroulante, veuillez le rentrer ci-dessous :
<br />
<input type="text" value="nouveau sujet" id="nouveau_sujet"/>
<input type="submit" value="Ajouter" />
</p>
<?php
mysql_connect("localhost", "root", ""); // Connexion à MySQL
mysql_select_db("physique"); // Sélection de la base coursphp
//$reponse = mysql_query("SELECT * FROM base_physique WHERE sujet ='$_POST['sujet']'")or die("Erreur sql!<br />".mysql_error());
if(isset($_POST['sujet']))
{
//ajout à la bdd
$sujet=$_POST['sujet'];
$nombre=mysql_query("SELECT COUNT (*) AS nombre FROM sujets WHERE sujet ='$sujet'");
$n=$nombre['nombre'];
// nombre correspond au nombre de fois où le sujet est déjà présent
//s'il vaut 0 on l'ajoute sinon on passe
if ($n==0)
{ mysql_query("INSERT INTO sujets VALUES('', '$sujet')");
}
}
?>
<?php
mysql_close();
?>
</body>
</head>
</html>
9 réponses
Après ta ligne
Juste après ta ligne
$n=$nombre['nombre'];écris ceci :
echo "->".$n."<-";et dis-moi ce que tu obtiens. Si tu obtiens seulement -><-, c'est que c'est là que ça bloque !
Juste après ta ligne
mysql_query("INSERT INTO sujets VALUES('', '$sujet')");, écris ceci : echo "Test"; et dis-moi si tu vois le mot test apparaître.
ladj59
Messages postés
322
Statut
Membre
3
ca me mets rien ca veut dire qu'il ne doit pas exister je ne rentre meme pas dans le if mais je ne sais pas pourquoi
je suis nul
j'ai remplacé le début par
<p>
<form action="a.php" method="post">
<p>
<input type="text" name="sujet"/>
</p>
<input type="submit" value="Ajouter" />
</p>
maintenantcomme tu l'as ditr j'obtiens -><-
j'ai remplacé le début par
<p>
<form action="a.php" method="post">
<p>
<input type="text" name="sujet"/>
</p>
<input type="submit" value="Ajouter" />
</p>
maintenantcomme tu l'as ditr j'obtiens -><-
Bon au moins ça nous laisse moins de code pour dénicher l'erreur.
A mon avis l'erreur se situe au niveau de la requête. Celle-ci n'est pas peut-être pas fausse, mais elle ne retourne aucun résultat.
Essaye de mettre après ta ligne
Dis-moi ce que cela te retourne.
A mon avis l'erreur se situe au niveau de la requête. Celle-ci n'est pas peut-être pas fausse, mais elle ne retourne aucun résultat.
Essaye de mettre après ta ligne
$sujet=$_POST['sujet'];ceci :
var_dump($sujet);
Dis-moi ce que cela te retourne.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ca y est cela ajoute la sujet dans la table mais le probleme c'est quer je peux mettre plusieurs fois le même sujet dans la meme table alors que je voudrais que si le sujet est deja present cela me mette sujet deja present
if(isset($_POST['sujet']))
{
//ajout à la bdd
$sujet=$_POST['sujet'];
var_dump($sujet);
$nombre=mysql_query("SELECT COUNT (*) AS nombre FROM sujets WHERE sujet ='$sujet'");
$n=$nombre['nombre'];
// nombre correspond au nombre de fois où le sujet est déjà présent
//s'il vaut 0 on l'ajoute sinon on passe
if ($n==0)
{ mysql_query("INSERT INTO sujets VALUES('', '$sujet')");
}
}
?>
<?php
mysql_close();
?>
if(isset($_POST['sujet']))
{
//ajout à la bdd
$sujet=$_POST['sujet'];
var_dump($sujet);
$nombre=mysql_query("SELECT COUNT (*) AS nombre FROM sujets WHERE sujet ='$sujet'");
$n=$nombre['nombre'];
// nombre correspond au nombre de fois où le sujet est déjà présent
//s'il vaut 0 on l'ajoute sinon on passe
if ($n==0)
{ mysql_query("INSERT INTO sujets VALUES('', '$sujet')");
}
}
?>
<?php
mysql_close();
?>
tout est ok dans ce que tu as mis avant
et j peux ajouter un sujet qui est deja present donc la ca ne va pas mais je vois pas pourquoi
et j peux ajouter un sujet qui est deja present donc la ca ne va pas mais je vois pas pourquoi