begin process at 2012 05 29 01:41:28
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Trucs et astuces

 > 

existence de donnée dans base de donnée


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

existence de donnée dans base de donnée

dimanche 2 avril 2006 à 19:53:47 | existence de donnée dans base de donnée

gabs77

Bonjour, j'ai 2 pb
dans un premier temps, j'aimerais enregistrer dans une base de donnée un champ
et pour une meme donnée g 2 possibilité liste déroulante (niveau) et champ de texte si il n existe pas dans la base de donnée(nivtext).si il n 'existe pas dans la base de donnée je l enregistre dans la table correspondante  a parit du champ texte(nivtext) 
jusque la sa va !! sa fonctionne !

<?
if (empty($_POST['niveau'])&&isset($_POST['nivtext'])){$niveau = $_POST['nivtext'];}else{$niveau = $_POST['niveau'];};

 if (isset($_POST['nivtext']))
  {
  $bdd = mysql_connect($host,$login,$pass);
  mysql_select_db($hostname,$bdd);
  $sql = "INSERT INTO classe_docs (lib_classe) VALUES('$niveau')";
  mysql_query($sql) or die ('Erreur SQL ! '.$sql.'<br>'.mysql_error());
...

je fais une requete pour recup l identifiant (en auto increment) de cette donnée  
mais la requete me retourne toujours l erreur suivante :
"Champ 'xcv' inconnu dans where clause"
...
//on réassocie les vraies valeurs aux variables avant ajout
  $sql = "SELECT * FROM classe_docs WHERE lib_classe = ".$niveau;
  $req = mysql_query($sql) or die ('Erreur SQL ! '.$sql.' <br> '.mysql_error());
  while($resultat=mysql_fetch_array($req))
   {
   if ( $resultat = $niveau){echo"$niveau existe déjà !";}
   }
  }
?>

 deuxiemement, j'aimerai tester les champs du formulaire pour savoir si la donnée existe déjà ou pas dans la table 
si il existe faudrait retourner une valeur false en disan ke sa existe déjà
mais je vois pas trop comment on fait


  


dimanche 2 avril 2006 à 20:25:36 | Re : existence de donnée dans base de donnée

sidf

 if ( $resultat == $niveau)
d'une part
dimanche 2 avril 2006 à 20:28:01 | Re : existence de donnée dans base de donnée

sidf

je fais une requete pour recup l identifiant (en auto increment) de cette donnée  
mais la requete me retourne toujours l erreur suivante :
"Champ 'xcv' inconnu dans where clause"

fais voir la requete mais apparemment xcv n'est pas un champ de ta table
dimanche 2 avril 2006 à 20:29:24 | Re : existence de donnée dans base de donnée

sidf

Réponse acceptée !
$id=mysql_insert_id();

tu fais comme ça ?

dimanche 2 avril 2006 à 20:42:53 | Re : existence de donnée dans base de donnée

sidf

Réponse acceptée !
pas de requete à faire pour recuperer la derniere id d'insertion


dimanche 2 avril 2006 à 21:25:05 | Re : existence de donnée dans base de donnée

gabs77

Merci, je ne connaissai pas cette fonction, elle est très utile
elle prend l'identifiant de la nouvelle valeur incrémentée comme cela en l associant à une variable je pe remplir ma table avec les bonnes clés étrangères

<?
$bdd = mysql_connect($host,$login,$pass);
mysql_select_db($hostname,$bdd);

if (empty($_POST['niveau']) && isset($_POST['nivtext']))
      {
      $niveau = $_POST['nivtext'];
       }else{
      $niveau = $_POST['niveau'];
      };

 if (isset($_POST['nivtext']))
  {
  $sql = "INSERT INTO table (libellé)   VALUES   ('$niveau')";
  mysql_query($sql) or die ('Erreur SQL ! '.$sql.'<br>'.mysql_error());
  //on affecte a la variable la valeur de l'id_niveau de la donnée incrémentée  
   $idniv = mysql_insert_id();
  }

$champ2 = $_POST['valeur2'];
$champ3 = $_POST['valeur3'];
$champ4 = $_POST['valeur4'];

$sql = "INSERT INTO table2  (champ2, champ3, champ4, id_niveau
            VALUES('$champ2','$champ3','$champ4','$idniv')";
mysql_query($sql) or die ('Erreur SQL ! '.$sql.'<br>'.mysql_error());

C BON TOUT CELA FONCTIONNE !!
dimanche 2 avril 2006 à 21:27:04 | Re : existence de donnée dans base de donnée

gabs77

maintenant j'ai un autre souci
comment est ce que je fais pour tester si mon champ existe déjà ou pas
j'aimerai que sa effectue un test pour voir si le champ existait
dans ce cas echo'existe déjà';


Cette discussion est classée dans : donnée, mysql, sql, existe, niveau


Répondre à ce message

Sujets en rapport avec ce message

Je narive pas a faire marcher mé Header je n'est rien compris [ par timolerigolo ] Bonjour ou Bonsoir,Voila j'ai des formulaire avec des page Verif et j'aimeré faire une redirection avec un Header mé sa ne marche pas...voila un bouh Problème affichage [ par ChucklaPuck ] Bonjour,J'ai présentement une base de donnée qui comporte plusieurs champs, dont 1 qui est idNouvelle qui a comme attribut auto_increment...Dans une d alimenter une table avec les données d'une autre table [ par hitu ] bonjour, J'ai un formulaire de saisie ou je peux inserer dans ma table image des nouvelles données de mes tables auteur, dates, lieux et motscles mai faire un formulaire de saisie en récuperant des données [ par hitu ] Bonjour, j'ai fais un formulaire de saisie. voici mon problème. J'arrive à inserer des nouvelles données dans ma table image mais dès que je rentre erreur de syntaxe quand je veux obliger un utilisateur a mettre un @ et un . dans un champ email [ par gb66 ] Bonjour a vous et merci de m'aider voila je veux obliger l'utilisateur a mettre un . et un @ pour un champ formulaire mais quand j'ai rajouter ses lig connexion avec md5= page blanche mais je comprends pas pourquoi [ par morgain63 ] bonjour, comme l'indique le titre j'ai mes mots de passes cryptés avec md5 dans ma base et je n'arrive pas à me connecter (et je veux quand même que c La fonction SUM [ par stealon ] Je n'arrive pas à avoir le résultat escompté avec la fonction SUM de SQL dans une requête genre: [code=php]$sql = mysql_query("SELECT SUM(Recette) AS comment sortir de la bdd ? [ par Georges97427 ] Boujour, Debutant, J'essaye d'inscrire dans ma bdd que j'ai ouverte avec wamp-phpadmin. mais lorsque j'ai inscrit une ligne je sors avec le message Probleme interogation 2 table [ par casper77610 ] Bonjour à tous, Voici mon code. Et je vous explique mon problème. [code=php] <?php $db = mysql_connect('localhost', 'root', '') or die('HOST ?'); mysq liaison de table et code php [ par msi079 ] salut j'ai 5 tables ; victimes agent tuteur conjoint que j'ai liées entre elles a partir de mon formulaire je veux inserrer des données dans mes tab


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,718 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales