8797 sujets

Développement web côté serveur, CMS

Bonjour a tous,

mon titre n'est pas très clair ...

Je m'explique :

je remplis un formulaire qui est traité après pour stocker les info dans une base de données.
Ca ok ca marche pas de soucis.

Dans mon cas, on parle de chaussures.

Si dans mon formulaire j'ai mis dans modèle : Shocks

je valide mon formulaire et c'est traité puis stocké dans la BDD. Ce que je voudrais c'est verifier si le modele Shocks existe deja quelque part dans mes champs 'modele'

avec un if/elseif j'aimerai avant d'envoyer dans la BDD

faire un

connection sql...

if ($_POST ['modele'] != au nom d'un modele du meme nom dans la BDD)
{
excecuté la requete d'enregistrement
echo 'votre modele a bien ete ajoute';
}

elseif ($_POST ['modele'] == au nom d'un modele du meme nom dans la BDD)
{
echo 'ce modele est deja present dans notre base de donnees';
}

puis deco sql...


j'espere avoir ete suffisament clair Smiley biggol

Ca fait 4 heures que je fait des essais des tests et j'arrive a rien.

Si cela est possible j'aimerai aussi qu'on m'explique un poil que j'aime bien comprendre ce que je fais et pas copier coller betement Smiley smile

En vous remerciant d'avoir lu et en esperant trouver reponse rapidement !
Modifié par Ankart (09 May 2009 - 16:59)
Salut,

ben selon les cas je vois 2 solutions :

1) tu affiches déjà les modèles existants dans ta page (sous forme d'un SELECT par exemple) auquel cas il suffit d'alimenter une table (array PHP) et de vérifier l'existence dans cet array.
Cela donne quelque chose comme :
$sql = 'Select modele From modeles Order By modele';
$result = mysql_query($sql);
$modeles = array();
while($row = mysql_fetch_assoc($result)) {
   $modeles[] = $row['modele'];
}
...
if(!empty($_POST)) { // Le formulaire a été soumis
   $modele = trim($_POST['modele']);
   if(in_array($modele, $modeles)) {
      // Traitement modèle déjà existant
   } else {
      // Traitement insertion dans la base
   }
}

2) tu n'as pas besoin de la liste des modèles dans ta page :
if(!empty($_POST)) { // Le formulaire a été soumis
   $modele = trim($_POST['modele']);
   $sql = "Select modele From modeles Where modele = '$modele'";
   $result = mysql_query($sql);
   if(mysql_num_rows($result) > 0) {
      // Traitement modèle déjà existant
   } else {
      // Traitement insertion dans la base
   }
}

Modifié par Heyoan (09 May 2009 - 11:40)
La seconde solution devrait etre celle que j'espere etant donnée que je n'ai pas a afficher les modeles.
Je test ca, vous fait pas du resultat pour editer le post.

Merci pour ton aide precieuse !
Je viens confirmer que ca marche et du premier coup que rever de mieux j'ai juste adapté a ma base.

Un grand merci pour ton aide encore une fois .
Je note résolu Smiley smile