IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Recherche dans la base de donnée douteuse [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 89
    Par défaut Recherche dans la base de donnée douteuse
    Je suis en stage et je dois actuellement développer une petite application qui permettra aux utilisateur de connaitre la résistance thermique de leurs murs.
    Il dois pour cela rentrer le type de mur et son épaisseur.

    J'ai une base données contenant les murs avec un chiffre lambda et une categorie (isolation ou construction).

    Lorsque je recherche à calculer R (resistance thermique) plusieurs erreurs se produisent :
    • Une valeur (epaisseur) n'est pas prise en compte
    • Un if me fait un truc très foireux !! (il passe dans le if... puis dans le else)


    voici le code php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    $cnx = mysql_connect("localhost", "root", "") or die("Erreur de connexion MySQL"); // Connexion à MySQL
    mysql_select_db("isolation"); // Sélection de la base 
     
    $R = 0; //Calcul de la résistance thermique
    $i = 1;
    while ($i < 8)
    {
    	if ($_POST['epaisseur'.$i.''] != "") //Si l'utilisateur a rentré une épaisseur...
    	{
    		$mur = $_POST['mur'.$i.'']; //La variable mur prend la valeur entrée dans le champs mur par l'utilisateur
    		echo $mur;?><br /><?php
    		$sql = "SELECT nom, Lambda FROM murs WHERE nom='$mur'"; //On recherche tous les nom de mur et leur lambda pour le mur séléctionné par l'utilisateur
    		$requete = mysql_query($sql, $cnx) or die("Erreur dans $sql");
    		while ($resultat = mysql_fetch_array($requete))
    		{
    			?>Lambda : <?phpecho $resultat['Lambda'];?><br /><?php
    			$R += (($_POST['epaisseur'.$i.''] / 100)/ $resultat['Lambda']); //On ajoute à R la valeur trouvée par le calcul 
    		}
    		?>R = <?php echo $R ?><br /><?php;
    	}
    	else // La variable n'est pas renseignée
    	{
    		?>Epaisseur <?php echo $i; ?> non renseignee<br /><?php
    	}
    	$i++;
    }

    le code html/php d'affichage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    <form name="poster" action="index.php" method="POST">
    	<?php
    	$i = 1;
    	while ($i < 8)
    	{
    		?>
    		<div id="titre">
    		Epaisseur <?php echo $i ;?><br />
    		</div>
    		Type de mur :
    		<select name="mur<?php echo $i; ?>">
    			<?php
    			$cnx = mysql_connect("localhost", "root", "") or die("Erreur de connexion MySQL"); // Connexion à MySQL
    			mysql_select_db("isolation"); // Sélection de la base 
    			$sql = "SELECT nom FROM murs";
    			$requete = mysql_query($sql, $cnx) or die("Erreur dans $sql");
    			while ($nom = mysql_fetch_array($requete))
    			{
    			?>
    			   <option value="<?php echo $nom['nom'] ?>"><?php echo $nom['nom'] ?></option>
    			<?php
    			}
    			mysql_close($cnx);
    			?>
    		</select>
    		Epaisseur (en cm) : <input type="text" name="epaisseur<?php echo $i; ?>" />
    		Surface (en m&sup2;) : <input type="text" name="surface<?php echo $i; ?>" />
    		<br />
    		<br />
    		<?php
    		$i++;
    	}
    	?>	
    	<input type="submit" name="soumettre" value="envoyer" />
    </form>
    Et ce qui s'affiche en résultat :
    Brique monomur
    Lambda :
    R = 1.5384615384615
    Epaisseur 1 non renseignee
    Ouate de cellulose
    Lambda :
    R = 4.0384615384615
    Epaisseur 2 non renseignee
    Panneaux en contreplaqu�
    R = 4.0384615384615
    Epaisseur 3 non renseignee
    R = 4.0384615384615
    Merci pour votre aide

  2. #2
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 89
    Par défaut
    Désolé d'avoir posté inutilement mais la résolution de tous mes problèmes vient de s'enchainer :
    • J'avais un problème d'accent sur le "é" de contreplaqué ce qui empêchait de trouver la valeur Lambda
    • Il manquait un ";" à la ligne ?>R = <?php echo $R; ce qui provoquait une erreur avec $end lorsque je supprimait le else


    Encore désolé mais mes erreurs peuvent peut-être aider les autres à ne pas les faire ::

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Recherche dans une base de donnée [ Gros soucis ]
    Par milkasoprano dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 24/03/2006, 17h59
  2. problème de recherche dans une base de donnée mysql
    Par Xini28 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 24/10/2005, 18h00
  3. Recherche dans une base de donnée
    Par genova dans le forum SQLite
    Réponses: 8
    Dernier message: 28/09/2005, 23h16
  4. problème de recherche dans une base de données
    Par bouzid_mehdi dans le forum Bases de données
    Réponses: 2
    Dernier message: 19/07/2005, 06h47
  5. recherche dans une base de donnée+boucle
    Par eric205 dans le forum Bases de données
    Réponses: 8
    Dernier message: 15/03/2005, 21h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo