ConnexionConnexionInscription
B E A D G
299 connectés Sweepyto Guitare

problème en php, si qqn peut m'aider...

#1
13/12/2006 15:47:44
  
voila mes tables mysql, j'ai besoin des 2.
Code : PHP
$retour = mysql_query ('SELECT COUNT(*) AS nb_rubriques FROM rubriques');
$donnees = mysql_fetch_array ($retour);
$totalDesRubriques = $donnees['nb_rubriques'];       
echo $totalDesMessages."<br />";
echo $nom_rubrique."<br />";
                                                       
                                               
$resultat = "SELECT * FROM rubriques";
$res = mysql_query ($resultat);
while($data = mysql_fetch_array ($res))
{
  echo $data['ID'].' '.$data['NomRubrique']."<br />";
  $rubrique = $data['NomRubrique'];
  echo $rubrique."<br />";
  echo $data['ID']."<br />";
  echo $nom_rubrique."<br />";
  if($rubrique == $nom_rubrique)
  {
        $id_rubrique = $data['ID'];
  }
  else
  {
        $id_rubrique = '...';
  }
}       
echo "voila l'ID".$id_rubrique;   
                                                                                                                                                                                                       
//insertion des données dans la table "annonces"
$requete_annonce = "INSERT INTO annonces (ID,Titre,Description,Prix,ID_rubrique) VALUES ('','".$titre."','".$annonce."','".$prix."','".$id_rubrique."')";
$res = mysql_query ($requete_annonce) OR die ('requete non exécutée') ;



Donc, ce que je cherche à faire, c'est d'insérer l'ID de la rubrique dans la table "annonces".
C'est pourquoi je parcours toute la table rubrique en récupérant tous les ID et les nom afin de faire le test.
Je dis juste que $nom_rubrique est la variable qui retient la rubrique (prise dans le formulaire) et que tout est écrit pareil!
Mon problème maintenant, c'est que "$rubrique == $nom_rubrique" est toujours faux...
Et je ne vois vraiment pas du tout d'ou ça peut venir... :colere2:
Je sais pas si vous pourrez m'aider mais...
Puis si c'est pas clair demandez des explications en plus!
0
0
#2
13/12/2006 16:08:35
t'as fait un diff des deux pour être sûr que c'est vraiment vraiment pareil (y en a ptetre un qui a un espace à la con quelque part...)
0
0
#3
13/12/2006 16:27:29
 Non c'est pas possible, $nom_rubrique et $data['NomRubrique'] sont générés a partir de la table "rubrique"
0
0
#4
13/12/2006 16:33:28
me demande si c'est pas justement le == qui pose problème, c'est pour comparer des chiffres...
justement fait plutôt une différence de chaîne et là tu seras sur de toi...
zappé le nom de la fonction mais ça doit être un machin en strdiff....
0
0
#5
13/12/2006 17:42:27
http://fr3.php.net/strcmp  

et un echo des 2 variables juste avant le if($rubrique == $nom_rubrique), ça te donne quoi ?
0
0
#6
13/12/2006 18:34:26
Non j'ai essayé ca mais ça va pas non plus...
C'est pas grave j'abandonne et verai ça un peu plus tard de tout façon c'est pour mon exam de demain et ça me prends trop la tête alors je laisse de côté, j'aurais quand même mes points =]
0
0
#7
13/12/2006 19:59:11
ton ID rubrique de ta table rubrique est un ENTIER

Cr0cH
                                                    
  if($rubrique == $nom_rubrique)
  {
        $id_rubrique = $data['ID']; (entier non ? puisque id de la rubrique pris dans la table)
  }
  else
  {
        $id_rubrique = '...'(ici, ca va couiller a l'enregistrement car type invalide)
  }
}       
echo "voila l'ID".$id_rubrique;   
                                                                                                                                                                                                       
//insertion des données dans la table "annonces"
$requete_annonce = "INSERT INTO annonces (ID,Titre,Description,Prix,ID_rubrique) VALUES ('','".$titre."','".$annonce."','".$prix."','".$id_rubrique."')";
$res = mysql_query ($requete_annonce) OR die ('requete non exécutée') ;




toi t'y mets de l'entier et du string, y'a comme un probleme.

Conseil, dans ton "or die", précise le message d'erreur qui t'es retourné (je sais plus comment en php mais doit y avoir error() ou fonction équivalente)

Prudence mon jeune ami :]

0
0