Rechercher : dans
Par :

Verifier un champ dans une table mysql

Dernière réponse le 7 avr 2008 à 16:47:05 tite_rabzoz, le 7 avr 2008 à 15:38:49 
 Signaler ce message aux modérateurs

Bonjour,

voici le probleme:
J'ai un formulaire avec champs, dont l'email, et une annonce .
une base de donner avec une table contact et un champ email_contact.
apres recuperation des champs, avant l'enregistrement de l'annonce dans ma base, je veux verifier à l'aide de l'email que le contact est bien enregistré dans ma table contact, sinon il ne peut ajouter une annonce.

$local_email=$_POST['P_email'];

if ...
il me fau une requete qui va chercher les email dans la table contact, avec un SELECT je suppose..
puis les compare à $local_email..
s'il existe dans la base, on passe a la suite du code, sinon, message d'erreur, ou demande de bien vouloir s'inscrire.


$requete="INSERT INTO ANNONCE (email, date_annonce, titre, description, image1, image2, image3, image4, image5) VALUES ('$local_email','$local_date_annonce','$local_titre','$local_description','$local_image1','$local_image2','$local_image3','$local_image4','$local_image5');";

mysql_query($requete) or die ("Erreur d'insertion dans la table");// mysql_error());



Si quelqu'un pouvais m'aider, ou à une tite idée, je suis dans l'impasse, je n'arrive pas a formuler ma requete..
comment integrer une variable php, dans une requete mysql???

Je vous remercie d'avance.

Configuration: Windows XP
Firefox 2.0.0.13

Meilleures réponses pour « verifier un champ dans une table mysql » dans :
MySQL - Afficher les informations sur une table VoirPour afficher les informations sur une table TabTest il faut lancer la commande suivante (l'option \G améliore le formatage u résultat) : mysql> show create table TabTest\G *************************** 1. row *************************** ...
MySQL - Supprimer des doublons dans une table VoirPour supprimer des doublons au niveau d'une table donnée définie comme suit : CREATE TABLE IF NOT EXISTS TabTest ( cle_prim integer(4) NOT NULL auto_increment, x integer, y integer, z integer, ...
MySQL - Chargement d'un fichier texte dans une table VoirPour charger une fichier texte défini comme suit : $ tail /home/user1/test.txt 'nom1',1,9 'nom2',2,3 'nom3',3,54 'nom4',4,2 'nom5',5,9 Dans une table définie comme suit : CREATE TABLE chargertest ( ...
Importer et exporter des données sous MySQL VoirImportation et exportation Les Système de Gestion de Bases de Données tels que MySQL permettent de manipuler facilement et avec beaucoup de souplesse un très important volume de données. Toutefois, aussi robuste soit MySQL, il peut être intéressant...

1

laetitia02, le 7 avr 2008 à 15:53:10
  • +2

Salut c tout simple il suffit juste d ecrire
$requete="select email from annonce where email='".$_POST["P_email"]."'";
alors le truc c de faire attention double quote avant le select ensuite simple puis double quote apres double simple double et voila

Répondre à laetitia02

2

tite_rabzoz, le 7 avr 2008 à 15:55:05

J'essai et te redis si ca marche.
merci pour ta reponse en tout cas.

Répondre à tite_rabzoz

3

tite_rabzoz, le 7 avr 2008 à 16:10:18

Alors c'est deja mieu que tout a l'heure.. mais ca marche pas vraiment:

$requete=mysql_query("select count(id_contact) from contact where email_contact='".$_POST["P_email"]."'");
if(!$requete)
{
$requete="INSERT INTO ANNONCE (email, date_annonce, titre, description, image1, image2, image3, image4, image5) VALUES ('$local_email','$local_date_annonce','$local_titre','$local_description','$local_image1','$local_image2','$local_image3','$local_image4','$local_image5');";
mysql_query($requete) or die ("Erreur d'insertion dans la table");
mysql_close();
}

else{
?>

<HTML>
<BODY>

Veuiller d'abord vous inscrir a notre news letter avant de pouvoir y entrer une annonce<BR/> <BR/>
<a class="lnkMenu" href="saisieUtil.html"><font color="#000000" size="4">S'inscrire</font></a>

</body>
</html>


Le probleme maintenant c'est qu'il passe directement au else, meme si l'adresse email est valide..
je pense que ca vient du COUNT..

encore un petit peu d'aide ne serait pas de refus svp..
en vous remerciant d'avance..

Répondre à tite_rabzoz

4

laetitia02, le 7 avr 2008 à 16:15:11

A tu mi tout ton code car si le cas, le probleme et que ton else n est pas fermer, ensuite ta d balises html et body mi dans le else, elle ne doivent pas y etre

Répondre à laetitia02

5

tite_rabzoz, le 7 avr 2008 à 16:15:51

Oupssss.. petite erreur de ma part,
c pas if(!$requete)
mais if($requete>=1)

mais il y a tjour probleme dans tout les cas maintenant il reconnai l'adresse, et ne passe jamais dans le else

Répondre à tite_rabzoz

6

laetitia02, le 7 avr 2008 à 16:21:28

C if($requete) tout cour, en gros si il trouve l'adresse email, tu veux qu il insere cette personne dans ta base, autrement, tu lui envoie un message d'inscription c cela?
et retire ton html et body dans ton else normalement tu l ai a déjà mi au debut de ton code

Répondre à laetitia02

7

tite_rabzoz, le 7 avr 2008 à 16:27:48

$requete=mysql_query("select email_contact from contact where email_contact='".$_POST["P_email"]."'");
if($requete)
{

$requete="INSERT INTO ANNONCE (email, date_annonce, titre, description, image1, image2, image3, image4, image5) VALUES ('$local_email','$local_date_annonce','$local_titre','$local_description','$local_image1','$local_image2','$local_image3','$local_image4','$local_image5');";

mysql_query($requete) or die ("Erreur d'insertion dans la table");// mysql_error());

mysql_close();

?>
Titre reçue (pour verification) : <?php echo $_POST['P_titre'] ?>

<?php
}
else{
?>
Veuiller d'abord vous inscrir a notre news letter avant de pouvoir y entrer une annonce<BR/> <BR/>
<a class="lnkMenu" href="saisieUtil.html"><font color="#000000" size="4">S'inscrire</font></a>
<?php
}
?>




voici mon code.. logiquement, si l'email n'est pas present dans la base, il devrait passer au else, et me mettre mon message d'erreur.. mais dans tout les cas, il m'enregistre quand meme l'annonce..

Répondre à tite_rabzoz

8

tite_rabzoz, le 7 avr 2008 à 16:45:57

C'est bon ,j'ai la solution a mon probleme, il fallait comme condition

if(mysql_num_rows($result)>0)


....

pour compter les ligne renvoyer, donc si pas de reponse, pas de ligne renvoyer, car comme je l'avai fai precedement,
meme sil ne trouvai pas de reponse, il y avait quand meme une reponse, le fait kil ne trouvai pas de reponse, 0!

merci encore pour ton aide.
salut! !

Répondre à tite_rabzoz

9

 laetitia02, le 7 avr 2008 à 16:47:05

Ta oublier d'executer ta requete
$requete=mysql_query("select email_contact from contact where email_contact='".$_POST["P_email"]."'");
$resultat=mysql_fetch_assoc($requete);
if($resultat)

Répondre à laetitia02