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 :

Crée un formulaire a partir d'un BDD


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2013
    Messages : 33
    Par défaut Crée un formulaire a partir d'un BDD
    Bonjour,

    Je souhaiterais crée un formulerais a partir d'une base de donnée.

    Lorsque je crée mon formulaire, mon navigateur web m'affiche :

    Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/u965352970/public_html/recherche.php on line 24
    Visible sur mon site scolaire de test : http://tls-auto.p.ht/recherche.php

    Voici le bout de code de mon fichier recherche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    	$req = 'SELECT codeType, libelleType FROM typevehicule';
    	$returns = mysql_query($req);
     
    	while ($ligne = mysql_fetch_array($returns))
    		echo '<br/> <input type="radio" name="type" value="' . $ligne['codeType'] . '" /> ' . $ligne['libelleType'];
    ?>
    La ligner 25 est mise en gras.

    Si vous pouviez m’éclairer sur ce problèmes.

    Je vous en remercie d'avance.

    Cordialement

    Luckytfc

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2010
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 144
    Par défaut
    La syntaxe de la requête est valide mais est-ce qu'elle retourne des résultats si elle est saisie directement dans PhpMyAdmin (ou équivalent...) ?

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Attention aussi : l'extension mysql_* est obsolète. Il est donc important de passer à mysqli_* ou mieux à PDO.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2013
    Messages : 33
    Par défaut
    Citation Envoyé par gmarsay Voir le message
    La syntaxe de la requête est valide mais est-ce qu'elle retourne des résultats si elle est saisie directement dans PhpMyAdmin (ou équivalent...) ?
    Non.

    Mais j'ai compris, c’était une histoire de majuscule.

    Par contre, quand je clique sur mon bouton submit , il m'affiche deux erreurs :
    Warning: array_values() expects parameter 1 to be array, string given in /home/u965352970/public_html/resultatrecherche.php on line 16

    Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/u965352970/public_html/resultatrecherche.php on line 53
    Voici le code de la page resultatrecherche.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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
     <?php include("include/header.php"); ?>
        <div id="contenu">
       <center> <h2>Résultat de la recherche</h2></center>
    			<?php
    			// Connexion à la base de données
    			include("include/connexionBdd.php");
     
    			// Construction de la requête
    			$req = 'SELECT * 
    					FROM vehicule v, typevehicule t
    					WHERE v.codeType = t.codeType
    					AND t.codeType = ' . $_POST['type']; // condition sur le type
    			if (isset($_POST['marque'] ))
    			{
    				$marque = array_values($_POST['marque']);
     
    			// Ajout de la condition sur les marques
    			if (count($marque) > 0) {
    				$req = $req . ' AND v.marque IN(';
    				for ($i = 0; $i < count($marque); $i++) {
    					if ($i == (count($marque) - 1))
    						$req = $req . '"' . $marque[$i] . '")';
    					else
    						$req = $req . '"' . $marque[$i] . '",';
    				}
    			}
    			// Ajout de la condition du prix max
    			$req = $req . ' AND prixvente < ' . $_POST['prix'];
     
    			// Récupération des résultats
    			$resultats = mysql_query($req);
    			// Affichage
    			echo "<table>
    					<tr>
    						<th>Photo</th>
    						<th>Modèle</th>
    						<th>Marque</th>
    						<th>Prix de vente</th>
    						<th>Description</th>
    						<th>Année</th>
    						<th>Kilometrage</th>
    						
    						<th>Energie</th>
    						<th>Couleur</th>
    						<th>Première main</th>
    					</tr>
    				  ";
    			while ($resultat = mysql_fetch_array($resultats)) {
    				if ($resultat['PremiereMain'] == 1)
    					$premiereMain = "Oui";
    				else
    					$premiereMain = "Non";				
    				$photo = "images/" . $resultat['photo'] . ".jpg";		
    				echo "<tr>
    						<td><a href='$photo'><img src='$photo' style='width : 100px'/></a></td>
    						<td>" . $resultat['modele'] . "</td>
    						<td>" . $resultat['marque'] . "</td>
    						<td>" . $resultat['prixvente'] . "€". "</td>
    						<td>" . $resultat['description'] . "</td>
    						<td>" . $resultat['Annee'] . "</td>
    						<td>" . $resultat['Kilometrage'] ."Km". "</td>
    						<td>" . $resultat['Energie'] . "</td>
    						<td>" . $resultat['Couleur'] . "</td>
    						<td>" . $premiereMain . "</td>
    					 </tr>";
    			}
    			echo "</table>";
    			}
    			echo " Aucun résultat trouver ";
    			//echo mysql_affected_rows() . ' produits corresponde a vos recherches. <br />';
    		?>
    </div>
    <div id="footer">
          <?php include("include/footer.php"); ?>
        </div>

  5. #5
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2010
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 144
    Par défaut
    Fais un print_r($_POST['marque']); juste avant la ligne 15, ta variable semble ne pas contenir de tableau, ce qui fais échouer le array_values() et donc le mysql_fetch_array() par la suite

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2013
    Messages : 33
    Par défaut
    Désolé pour la réponses tardive.

    Lorsque j'ajoute ta ligne de commande :

    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
     <?php include("include/header.php"); ?>
        <div id="contenu">
       <center> <h2>Résultat de la recherche</h2></center>
     
    			<?php
    			// Connexion à la base de données
    			include("include/connexionBdd.php");
     
    			// Construction de la requête
    			$req = 'SELECT * 
    					FROM vehicule v, typevehicule t
    					WHERE v.codeType = t.codeType
    					AND t.codeType = ' . $_POST['type']; // condition sur le type
    			if (isset($_POST['marque'] ))
    			{ 
    				print_r($_POST['marque']);
    				$marque = array_values($_POST['marque']);
     
     
     
    			// Ajout de la condition sur les marques
    			if (count($marque) > 0) {
    				$req = $req . ' AND v.marque IN(';
    				for ($i = 0; $i < count($marque); $i++) {
    					if ($i == (count($marque) - 1))
    						$req = $req . '"' . $marque[$i] . '")';
    					else
    						$req = $req . '"' . $marque[$i] . '",';
    				}
    			}
     
    			// Ajout de la condition du prix max
    			$req = $req . ' AND prixvente < ' . $_POST['prix'];
     
    			// Récupération des résultats
    			$resultats = mysql_query($req);
     
    			// Affichage
    			echo "<table>
    					<tr>
    						<th>Photo</th>
    						<th>Modèle</th>
    						<th>Marque</th>
    						<th>Prix de vente</th>
    						<th>Description</th>
    						<th>Année</th>
    						<th>Kilometrage</th>
    						
    						<th>Energie</th>
    						<th>Couleur</th>
    						<th>Première main</th>
    					</tr>
    				  ";
    			while ($resultat = mysql_fetch_array($resultats)) {
    				if ($resultat['PremiereMain'] == 1)
    					$premiereMain = "Oui";
    				else
    					$premiereMain = "Non";
     
    				$photo = "images/" . $resultat['photo'] . ".jpg";
     
    				echo "<tr>
    						<td><a href='$photo'><img src='$photo' style='width : 100px'/></a></td>
    						<td>" . $resultat['modele'] . "</td>
    						<td>" . $resultat['marque'] . "</td>
    						<td>" . $resultat['prixvente'] . "€". "</td>
    						<td>" . $resultat['description'] . "</td>
    						<td>" . $resultat['Annee'] . "</td>
    						<td>" . $resultat['Kilometrage'] ."Km". "</td>
    						<td>" . $resultat['Energie'] . "</td>
    						<td>" . $resultat['Couleur'] . "</td>
    						<td>" . $premiereMain . "</td>
    					 </tr>";
    			}
    			echo "</table>";
    			}
    			echo " Aucun résultat trouver ";
     
    			//echo mysql_affected_rows() . ' produits corresponde a vos recherches. <br />';
    		?>
    </div>
     
    <div id="footer">
          <?php include("include/footer.php"); ?>
        </div>
    J’obtiens ceci :

    OPEL
    Warning: array_values() expects parameter 1 to be array, string given in /home/u965352970/public_html/resultatrecherche.php on line 17

    Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/u965352970/public_html/resultatrecherche.php on line 54
    Photo Modèle Marque Prix de vente Description Année Kilometrage Energie Couleur Première main
    Aucun résultat trouver
    Vous pouvez vous même testez ici .

    Merci d'avance.

    Cordialement

    Luckytfc

  7. #7
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Le message est pourtant explicite : ta variable $_POST['marque'] est une chaine, tu ne peux donc pas lui appliquer une fonction qui manipule les tableaux !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

Discussions similaires

  1. Pré-remplir formulaire à partir d'une BDD
    Par lightalex01 dans le forum Débuter avec Java
    Réponses: 9
    Dernier message: 14/02/2012, 12h52
  2. Réponses: 3
    Dernier message: 03/08/2005, 11h21
  3. [Listview] Remplissage à partir d'une bdd mysql
    Par Cybher dans le forum C++Builder
    Réponses: 2
    Dernier message: 18/07/2005, 09h32
  4. Ouverture d'un formulaire a partir ...
    Par nache dans le forum IHM
    Réponses: 3
    Dernier message: 21/06/2005, 11h30
  5. Réponses: 3
    Dernier message: 19/05/2005, 17h52

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