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 :

Afficher un enregistrement


Sujet :

PHP & Base de données

  1. #1
    Nouveau Candidat au Club
    Afficher un enregistrement
    Bonjour J'apprends à développer des sites web. Je n'arrive pas à afficher un enregistrement sur une page ( j'ai toujours un message d'erreur )
    Svp aidez moi

  2. #2
    Membre actif
    Bonjour,

    Il va nous falloir plus de détails : quelles sont les instructions utilisées ? qu'est ce que vous cherchez à faire (bon ça afficher un enregistrement, ok) ? quel est le message d'erreur ?

  3. #3
    Nouveau Candidat au Club
    Ok voici le code sql pour la base de données -- phpMyAdmin SQL Dump
    Code sql :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
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    -- version 4.1.14
    -- <a href="http://www.phpmyadmin.net" target="_blank">http://www.phpmyadmin.net</a>
    --
    -- Client :  127.0.0.1
    -- Généré le :  Mar 17 Mars 2020 à 20:55
    -- Version du serveur :  5.6.17
    -- Version de PHP :  5.5.12
     
    SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
    SET time_zone = "+00:00";
     
     
    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8 */;
     
    --
    -- Base de données :  `travel_congo`
    --
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `compagnies`
    --
     
    CREATE TABLE IF NOT EXISTS `compagnies` (
      `N°` int(255) NOT NULL AUTO_INCREMENT,
      `nom_c` varchar(160) NOT NULL,
      `siege` varchar(160) NOT NULL,
      `tel_c1` bigint(12) NOT NULL,
      `tel_c2` bigint(12) NOT NULL,
      `mail_c` varchar(100) NOT NULL,
      `type` varchar(30) NOT NULL,
      `nombre_a` int(255) NOT NULL,
      `nom_r` varchar(160) NOT NULL,
      `fonction` varchar(100) NOT NULL,
      `tel_r1` bigint(12) NOT NULL,
      `tel_r2` bigint(12) NOT NULL,
      `mail_r` varchar(100) NOT NULL,
      `site_i` varchar(100) NOT NULL,
      PRIMARY KEY (`N°`),
      KEY `nom_c` (`nom_c`,`type`,`nombre_a`,`site_i`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COMMENT='Table d''enregistrement de toutes les compagnies de transport' AUTO_INCREMENT=65 ;
     
    --
    -- Contenu de la table `compagnies`
    --
     
    INSERT INTO `compagnies` (`N°`, `nom_c`, `siege`, `tel_c1`, `tel_c2`, `mail_c`, `type`, `nombre_a`, `nom_r`, `fonction`, `tel_r1`, `tel_r2`, `mail_r`, `site_i`) VALUES
    (1, 'Oc&eacute;an du Nord', '30 Boulevard de Gaul Centre ville Pointe Noire', 242068396595, 2147483647, 'oceandunord@gmail.com', 'R', 30, 'BABELARD Christain', 'Directeur Commercial', 2147483647, 2147483647, 'babelard@gmail.com', 'www.ocean.com'),
    (50, 'Chemin de Fer Congo Oc&eacute;an', 'Brazzaville Mikalou', 242068396595, 242066924892, 'cfco@gmail.com', 'F', 10, 'MPIKA Babine', 'Directeur G&eacute;n&eacute;ral', 242057787807, 242053393961, 'bampika@gmail.com', 'www.cfco.com'),
    (60, 'Trans Route', 'boite', 242068396595, 242066924892, 'cfco@gmail.com', 'S&eacute;lectionner le type so', 10, 'BABELARD Christain', 'Directeur G&eacute;n&eacute;ral', 242057787807, 242053393961, 'babelard@gmail.com', 'www.cfco.com'),
    (61, 'Trans Route', 'boite', 242068396595, 242066924892, 'cfco@gmail.com', 'S&eacute;lectionner le type so', 10, 'BABELARD Christain', 'Directeur G&eacute;n&eacute;ral', 242057787807, 242053393961, 'babelard@gmail.com', 'www.cfco.com'),
    (62, 'Chemino', 'boite', 242068396595, 242066924892, 'cfco@gmail.com', 'F', 10, 'BABELARD Christain', 'Directeur Commercial', 242057787807, 242053393961, 'babelard@gmail.com', 'www.cfco.com'),
    (63, 'Chemino', 'boite', 242068396595, 242066924892, 'cfco@gmail.com', 'F', 10, 'BABELARD Christain', 'Directeur Commercial', 242057787807, 242053393961, 'babelard@gmail.com', 'www.cfco.com'),
    (64, 'Chemino', 'boite', 242068396595, 242066924892, 'cfco@gmail.com', 'F', 10, 'BABELARD Christain', 'Directeur Commercial', 242057787807, 242053393961, 'babelard@gmail.com', 'www.cfco.com');
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `creer_comptes`
    --
     
    CREATE TABLE IF NOT EXISTS `creer_comptes` (
      `nom` varchar(255) NOT NULL,
      `sexe` varchar(10) NOT NULL,
      `date_n` date NOT NULL,
      `tel` bigint(25) NOT NULL,
      `mail` varchar(255) DEFAULT NULL,
      `mdp` varchar(30) NOT NULL,
      `date_c` datetime NOT NULL,
      PRIMARY KEY (`nom`),
      UNIQUE KEY `tel` (`tel`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
     
    --
    -- Contenu de la table `creer_comptes`
    --
     
    INSERT INTO `creer_comptes` (`nom`, `sexe`, `date_n`, `tel`, `mail`, `mdp`, `date_c`) VALUES
    ('MABENGO Aurell Hermes', 'masculin', '1992-05-04', 242068396595, NULL, '$6$rounds=5000$annacolmanchery', '0000-00-00 00:00:00');
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `parcourts`
    --
     
    CREATE TABLE IF NOT EXISTS `parcourts` (
      `id_p` int(255) NOT NULL AUTO_INCREMENT,
      `parcours` varchar(160) NOT NULL,
      `id_c` int(255) NOT NULL,
      `type` varchar(25) NOT NULL,
      `montant` int(255) DEFAULT NULL,
      PRIMARY KEY (`id_p`),
      KEY `id_c` (`id_c`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `type_compagnie`
    --
     
    CREATE TABLE IF NOT EXISTS `type_compagnie` (
      `id_t` varchar(2) COLLATE utf8_general_mysql500_ci NOT NULL,
      `type` varchar(60) COLLATE utf8_general_mysql500_ci NOT NULL,
      `description` varchar(255) COLLATE utf8_general_mysql500_ci NOT NULL,
      PRIMARY KEY (`id_t`),
      KEY `type` (`type`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_mysql500_ci COMMENT='Table de type de transport';
     
    --
    -- Contenu de la table `type_compagnie`
    --
     
    INSERT INTO `type_compagnie` (`id_t`, `type`, `description`) VALUES
    ('A', 'Aérienne', 'avion ou vol'),
    ('F', 'Ferroviaire', 'train'),
    ('R', 'Routière', 'voiture ou véhicule');
     
    --
    -- Contraintes pour les tables exportées
    --
     
    --
    -- Contraintes pour la table `parcourts`
    --
    ALTER TABLE `parcourts`
      ADD CONSTRAINT `parcourts_ibfk_1` FOREIGN KEY (`id_c`) REFERENCES `compagnies` (`N°`) ON DELETE CASCADE ON UPDATE CASCADE;
     
    /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
    /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
    /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;


    Et voici le code pour la page 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
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    <?php
     
    session_start();
     
    include ('entete.html');
     
    // Actualisation de la page 3 minutes
     
    header("refresh: 180");
     
    // Connexion à la base de données
     
    include('ConnexionDB.php'); // Fichier PHP contenant la connexion à ma BDD
     
    // la variable "$_Post" contient des informations alors on les traitres
     
    if(!empty($_POST)){
        extract($_POST);
        $valid = true;
     
    	if (isset($_POST['recherche'])){
    		$vd = htmlentities(trim($distance));
    		$vc = htmlentities(trim($Filtres));
    		//$vd = preg_split('/[\s\-]/', $distance);
    		//$vc = preg_split('/[\s\-]/', $compagnie);
     
    		$resultat = $DB->query("SELECT* FROM parcourts WHERE parcours LIKE '%$vd%' AND type LIKE '%$vc%'");
    		//$resultat = $resultat->fetchAll()
     
    		if (! $resultat)
    			die($DB->error);
     
    				echo "Il y a " . $resultat->num_rows . " résultat correspondant à votre recherche.\n";
     
    		while ($resultat = $resultat->fetchAll());
     
    	}
    	if(empty($distance)){
    		$valid = false;
    		$er_distance = ("Le parcourt de la recherche ne peut pas être vide");
    		}
    	if(empty($compagnie)){
    		$valid = false;
    		$er_compagnie = ("L'agence de la recherche ne peut pas être vide");
    		}
     
    }
     
     
    ?>
     
    </!DOCTYPE html>
    <html lang="fr">
     
    	<head>
     
    		<meta charset="utf-8">
    		<title>Rechercher un parcourt</title>
    		<link rel="stylesheet"  href="public/css/compte.css">
     
    	</head>
     
    	<body>
     
    		<div class="m-container">
    			<h1 class="m-titres">RECHERCHER UN PARCOURT</h1>
     
    			<form method="post">
     
    				<table>
    					<td>
    						<div class="form-group">
     
    							<?php
    								// S'il y a une erreur sur la distance alors on affiche
    								if (isset($er_distance)){
    								?>
    									<div><?= $er_distance ?></div>
    								<?php   
    								}
    							?>
    							<label for ="distance">Identifant</label>
    							<input class="form-control" type="text" placeholder="Insérez le trajet de la recherche" name="distance" value="<?php if(isset($distance)){ echo $distance; }?>">   
    							<small id="illus" class="m-exemple">Exemple: Dolisie  Nkayi</small>
    						</div>
    					</td>
     
    					<td>
    						<div class="form-group">
    							<?php
    								if (isset($er_Filtres)){
    								?>
    									<div><?= $er_Filtres ?></div>
    								<?php   
    								}
    							?>
    							<select class="form-control" name="Filtres" value="<?php if(isset($Filtres)){ echo $Filtres; }?>">
    								<option>Sélectionner le moyen de transport</option>
    								<option value= "route">Routier</option>
    								<option value= "vol">Aérien</option>
    								<option value= "train">Chemin de Fer</option>
    							</select>
    						</div>
    					</td>
     
    					<td>
    						<button type="submit" name="recherche" class="btn-btn">Rechercher</button>
    					</td>
     
    				</table>
    		</div>
    			</form>
     
    				<h4 style="font-size: 20px; text-align: center">RESULTAT DE LA RECHERCHE</h4>
     
    					<table class="table">
    						<thead>
    							<tr> 
    							   <th class="tableC" scope="col">Trajets</th>
    							   <th class="tableC" scope="col">Agences</th>
    								<th class="tableC" scope="col">Montants</th>
    							</tr>
    						</thead>
    						<tbody>
    							<?php 
     
    								foreach($resultat as $ap){
    							 ?>
    								<tr>          
    									<td class="tableL"><?= $ap['parcours'] ?></td>
    									<td><?= $ap['agence'] ?></td>
    									<td><?= $ap['montant'] ?></td>
    								</tr>
    							<?php
     
    								} 
    							?>
    						</tbody>
    					</table>
    	</div>
     
    	</body>
     
    <html>


    Voici le code pour la connexion à la base de données
    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
    <?php
     
    // Déclaration d'une nouvelle classe
    class connexionDB {
        private $host    = 'localhost';    // nom de l'host
        private $name    = 'travel_congo';     // nom de la base de donnée
        private $user    = 'root';         // utilisateur
        private $pass    = '';         // mot de passe           
        private $connexion;
     
        function __construct($host = null, $name = null, $user = null, $pass = null){
            if($host != null){
                $this->host = $host;           
                $this->name = $name;           
                $this->user = $user;          
                $this->pass = $pass;
            }
        try{
            $this->connexion = new PDO('mysql:host=' . $this->host . ';dbname=' . $this->name,
                $this->user, $this->pass, array(PDO::MYSQL_ATTR_INIT_COMMAND =>'SET NAMES UTF8', PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ));
     
        }catch (PDOException $e){
            echo 'Erreur : Impossible de se connecter  à la Base de Données !';
        die();
       }
      }
        public function query($sql, $data = array()){
            $req = $this->connexion->prepare($sql);
            $req->execute($data);
            return $req->FetchAll(PDO::FETCH_OBJ);
        }
        public function insert($sql, $data = array()){
            $req = $this->connexion->prepare($sql);
            $req->execute($data);
        }
    }
     
    // Faire une connexion à ma fonction
    $DB = new connexionDB();
     
    ?>


    Le message d'erreur sont les suivantes
    <<Undefined variable: résultat in C:\wamp\www\Travel-Congo\recherche_parcourt.php on line 127>>

    <<Invalid argument supplied for foreach () in C:\wamp\www\Travel-Congo\recherche_parcourt.php on line 127>>

  4. #4
    Invité
    Invité(e)
    Bonjour,

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    while ($resultat = $resultat->fetchAll());

    Cette ligne ne veut rien dire...

    De plus, la même variable $resultat est utilisée pour 2 contextes différents.
    A éviter.

    Il vaut mieux écrire :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    $resultatAll = $resultat->fetchAll();

    Et plus loin :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    foreach($resultatAll as $ap){

  5. #5
    Nouveau Candidat au Club
    Jreaux62 j'ai réécrit le code comme vous me lavez suggéré mais j'ai toujours les mêmes messages d'erreur .

  6. #6
    Membre du Club
    bonjour
    pourquoi tu parcours ton resultat ligne 35 pour ensuite le parcourir ligne 127?