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 :

php et base de donnees


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti Avatar de ethan007
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2015
    Messages : 20
    Par défaut php et base de donnees
    bonjour j'ai cree une base de donnees pour mon site et sur la rubrique "actualite" quand on clique dessu une requette sql va chercher dans la bd et renvoit le resultat de tout les grands titre(c'est bien ce que je voulait ) et voici le code:


    Code PHP : 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
    $bdd=new PDO('mysql:host=Localhost;dbname=afrik planet',"root","");
    if($bdd==true){
    	echo "connection reussie! <br>";
    }
    else{
    	echo "connection echoue";
    }
     
    $reponse = $bdd->query('select titre_actu from actus')//on recupere tous les titres de la table
    $result=$reponse-> fetch();
    while($result=$reponse ->fetch())//on les organise pour les afficher ligne par ligne
    {	
    	echo "<table border='2'><tr><td>Resulat suivant est </td>"."<td>".$result['0']."</td>".'</tr></table><br>';
    }
     
    if($reponse==true )	
    {
    	echo "recherche reusie"."<br>";
    }else{
    	echo "echec de la recherche"."<br>";
    }
    	$reponse->closecursor();

    jusque la ca marche a merveille mais je voulait aussi que ces grands titres apparaissent comme des liens qui renvoyent chacun vers le contenu de l'actu(dans la bd,la table actu a aussi un champ "contenu" de type "text" pour stocker les contenus)
    le probleme en gros est que comme j'ai deja fait une requtte qui affiche les titres je ne suis plus en mesure d'en faire une autre qui met chaque lien vers son contenu parceque le lien est deja dans le "fetch" sous forme de tableau et dans ce tableau on ne peut faire une autre requette

    Un coup de main de votre part sera le bienvenu cordialement...escuser moi j'ai pas trouve comment identer le code

  2. #2
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Pourquoi tu ne change juste pas la requête?

    $reponse = $bdd->query('select * from actus');.

    Ainsi tu pourras utiliser toutes les informations que tu souhaites en utilisant $result['numéro du champs que tu souhaites']
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  3. #3
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par défaut
    Au passage, petite amélioration de ton code :
    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
    <?php
    // définit le charset de la page
    header('Content-Type: text/html; charset=utf-8');
     
    // affiche toutes les erreurs
    error_reporting(-1);
     
    try {
      $bdd = new PDO('mysql:host=Localhost;dbname=afrik planet', 'root', '');
    } catch (PDOException $e) {
      echo 'Connexion échouée : ' . $e->getMessage();
    }
     
    if ($bdd) {
      echo 'Connexion réussie !<br>';
      // émet une exception en cas d'erreur SQL
      $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     
      $reponse = $bdd->query('SELECT titre_actu FROM actus');
      if (!$reponse) {
        echo 'Échec de la recherche<br>';
      } else {
        echo 'Recherche réussie<br>';
     
        echo '<table border="2">';
        while ($result = $reponse->fetch()) {
          echo "<tr>
            <td> Résultat suivant est </td>
            <td> $result[0] </td>
          </tr>";
        }
        echo '</table><br>';
      }
      $reponse->closeCursor();
    }
    ?>
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1/ si ta table "actus" est bien construite, elle a un champ index auto-incrémenté ("id_actu", par exemple).
    On se sert de ce champ en toute occasion pour identifier clairement chaque actualité.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      $reponse = $bdd->query('SELECT id_actu, titre_actu FROM actus');
    2/ au lieu de numéro ($result[0]), on peut utiliser les nom des champs ($result['titre_actu']) à l'affichage.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        while ($result = $reponse->fetch()) {
          echo "<tr>
            <td> Résultat suivant est </td>
            <td> <a href=\"fiche-actu.php?id=$result['id_actu']\">$result['titre_actu']</a> </td>
          </tr>";
        }
    3/ on peut alors créer un fichier fiche-actu.php pour toute les actus :
    on récupère l'identifiant par

  5. #5
    Membre averti Avatar de ethan007
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2015
    Messages : 20
    Par défaut
    Merci pour toutes vos reponses en ce moment j'aissaie d'ameliorer mon code selon vos remarques(ergonomie,affiche des erreurs) et je vous tient au courant...

  6. #6
    Membre averti Avatar de ethan007
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2015
    Messages : 20
    Par défaut
    Bonsoir suite a vos remarques nous obtenons le nouveau code suivant:
    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
     
    // définit le charset de la page
    header('Content-Type: text/html; charset=utf-8');
     
    // affiche toutes les erreurs
    error_reporting(-1);
     
    try {
      $bdd = new PDO('mysql:host=Localhost;dbname=afrik planet', 'root', '');
    } catch (PDOException $e) {
      echo 'Connexion échouée : ' . $e->getMessage();
    }
     
    if ($bdd) {
      echo 'Connexion réussie !<br>';
      // émet une exception en cas d'erreur SQL
      $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     
      $reponse = $bdd->query('SELECT * FROM actus');
      if (!$reponse) {
        echo 'Échec de la recherche<br>';
      } else {
        echo 'Recherche réussie<br>';
     
        echo '<table border="2">';
        while ($result = $reponse->fetch()) {
          echo "<tr>
            <td> Résultat suivant est </td>
            <td> <a href=\"actu.php?id=$result['id_actu']\">$result['titre_actu']</a> </td>
          </tr>";
        }
        echo '</table><br>';
      }
      $reponse->closeCursor();
    La ligne qui me fait un peut du soucis est celle du lien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    echo "<tr>
            <td> Résultat suivant est </td>
            <td> <a href=\"actu.php?id=$result['id_actu']\">$result['titre_actu']</a> </td>
          </tr>";
    j'obtient toujours une erreur avec le message"
    Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\wamp\www\www.afrik-planete.com\politique.php on line 55"


    petites remarques:
    Le fichier qui contiendra l'actu est "actu.php"

    faut-il le placer dans le meme dossier que celui on on fait cette recherche? (recherche.php)

    je demande parceque l'un est dans le dossier "controleurs" et l'autre dans le dossier "vue"(conformement a l'architecture MCV hein...)

    l'idee ici est de pouvoir creer une seule page actus.php et d'appeller son "contenu"(comme je vous l'ai dit que chaque actu a un champ "contenu") sans devoir creer 100 fichiers pour 100 actus donc si vous avez un code (meme si totalement different du mien)qui peut automatiser cette tache la ce sera cool

Discussions similaires

  1. [PostgreSQL] connection de base de donnees dans une fonction php
    Par STunisino dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 10/02/2010, 14h30
  2. [MySQL] Interpreter du code php stocker dans une base de donnee
    Par sloat dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 04/02/2009, 20h28
  3. Comment sauvegarder la base de données MySQL en PHP ?
    Par zana74 dans le forum Débuter
    Réponses: 32
    Dernier message: 17/02/2008, 16h17
  4. Réponses: 1
    Dernier message: 28/04/2006, 16h17

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