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 :

Afficher resultat requete via fonction [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
    Inscrit en
    Janvier 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 120
    Par défaut Afficher resultat requete via fonction
    Bonjour,

    J'essaie de me mettre à la page niveau PHP/HTML5 ... En effet, je développe deja en PHP mais à l'ancienne c'est à dire sans fonctions, en mélangeant le PHP, les requêtes et le HTML sur une même page, bref pas très pro et pas très propre.

    Aussi, j'ai besoin d'un petit coup de main. En effet, j'ai une fonction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function affichage()
    {
    global $bdd;
    $reponse = $bdd->prepare('SELECT * FROM offre');
    $reponse->execute()
    $offres = $reponse->fetchAll();
    return $donnee;
    }
    Celle ci est sensée me retournée les valeurs présentes dans la table dans la page index.php pour lecture
    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
     
    <div class="affichage">
        <?php
        require("function.php");
        //var_dump($donnee);
        $objet=new blabla();
        $donnee = $objet->affichage();
     
        echo "<table>";
        foreach($donnee as $reponse){
             echo "<tr>";
                  echo "<td>Intervenant n° " . $reponse['depart'] . "</td>";
                  echo "<td>Nom du site : " . $reponse['dates'] . "</td>";
                  //...
             echo "</tr>";
        }
        echo "</table>";
        ?>
    </div>
    Seul probleme, cela ne me retourne rien. j'ai fait un var_dump($donnee); qui me retourne NULL.

    Peut être faut-il que je fasse un array dans ma fonction ou ailleurs ... ?

    Votre aide est la bienvenue

  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
    Bonsoir,

    D'où sort le $donnee?

    Dans:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function affichage()
    {
    global $bdd;
    $reponse = $bdd->prepare('SELECT * FROM offre');
    $reponse->execute()
    $offres = $reponse->fetchAll();
    return $donnee;
    }
    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
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 120
    Par défaut
    C'est moi qui mal recopié mon code il faut lire:

    dans la fonction

    et donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    foreach($offre as $reponse)
    dans la page index.php

    Désolé

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ce n'est pas $offre c'est $offres.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Avril 2012
    Messages : 133
    Par défaut
    Salut,

    En effet, je développe deja en PHP mais à l'ancienne c'est à dire sans fonctions
    Ça n'a jamais existé PHP sans fonction ^^.

    C'est moi qui mal recopié mon code il faut lire:

    dans la fonction

    et donc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    foreach($offre as $reponse)
    dans la page index.php
    Tu n'es pas obligé de nommer la variable qui réceptionne le résultat de la fonction comme la variable qui est retournée par la fonction.

    Sinon ton var_dump est mal placé, il devrait être après l'appel à la méthode affichage.

  6. #6
    Invité
    Invité(e)
    Par défaut
    bonjour,
    Citation Envoyé par cobra85 Voir le message
    C'est moi qui mal recopié mon code ...
    Tu ne connais pas non plus le principe du "copier-coller" ???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function affichage()
    {
       global $bdd;
       $reponse = $bdd->prepare('SELECT * FROM offre');
       $reponse->execute();
       $retour_offres = $reponse->fetchAll();
       return $retour_offres;
    }
    Pour info : une fonction peut aussi accepter des paramètres :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function ma_fonction( $param1, $param2,.....)
    {
       ...
    }
    Ca peut être utile de le savoir....
    Dernière modification par Invité ; 18/03/2015 à 19h59.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 120
    Par défaut
    Bonjour,

    Merci à vous c'est résolu:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function affichage()
    {
    	global $bdd;
    	$res=array();
    	$reponse = $bdd->prepare('SELECT * FROM offre');
        $reponse->execute();
        $offres = $reponse->fetchAll();
        return $offres;
    }
    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
    <?php
    include("function.php");
    $objet=new blabla();
    $donnee = $objet->affichage();
     
    foreach($donnee as $reponse)
    {
    	echo"<fieldset>";	
    			  echo "<td>Depart :" . $reponse['depart'] . "</td>";
    			  echo "<td>Arrivee : " . $reponse['arrive'] . "</td>";
    			  echo "<td>Date : " . $reponse['dates'] . "</td>";
     
    	echo"</fieldset>";
    }
    ?>
    @jreaux62, justement comme tu parles des parametres que peut recevoir une fonction, j'aimerai via mon formulaire, passer des parametres:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function create()
    {	global $bdd;
     
    	$req = $bdd->prepare('INSERT INTO (depart, arrive, dates) VALUES(:depart, :arrive, :dates)');
    	$req->execute(array(
    		'depart' => $depart,
    		'arrive' => $arrive,
    		'dates' => $dates
    	));
    }
    et voici mon formulaire:
    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
    require("function.php");
     
    $depart=$_POST('depart');
    $arrive=$_POST('arrive');
    $date=$_POST('date');
    $objet->create($depart, $arrive, $dates);
    ?>
     
    <form method="post" action="publication.php">
     
       <p>
           <label for="depart">Lieu de depart</label><br />
          <input type="text" depart="depart" id="depart" />
       </p>
     
       <p>
           <label for="destination">Destination</label><br />
           <input type="text" name="arrive" id="arrive" />
       </p>   
     
    	<p>
    		<label for="dates">date :</label>		
    		<input type="date" />
    	</p>
    Mais cela ne fonctionne pas trop ...

    Merci

  8. #8
    Invité
    Invité(e)
    Par défaut
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function create($depart, $arrive, $dates)
    {
    ...
    }

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

Discussions similaires

  1. [AJAX] Afficher resultat requete
    Par Herveg dans le forum AJAX
    Réponses: 2
    Dernier message: 14/07/2011, 14h52
  2. [AC-2007] Afficher resultats requete dans un "pop up"
    Par Dadar dans le forum IHM
    Réponses: 0
    Dernier message: 08/10/2009, 15h10
  3. [MySQL] afficher resultat requete sur 3 colonnes
    Par thomason1407 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 09/03/2009, 11h38
  4. vba: afficher resultat requete sql
    Par ToTo develop dans le forum VBA Access
    Réponses: 1
    Dernier message: 09/07/2008, 13h08
  5. [MySQL] afficher une requete en fonction de résultats d'autres requetes
    Par mayers dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 27/07/2007, 10h42

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