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

Langage PHP Discussion :

[Tableaux] Probleme avec "require"


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 49
    Par défaut [Tableaux] Probleme avec "require"
    Bonjour à tous,

    J'ai un petit soucis dans une page php. J'ai besoin d'afficher le contenu d'une table d'une DB et pour me connecter à cette même DB et vérifier l'existence de la table, je passe par un fichier bd.inc qui contient les fonctions nécessaires.

    Voici le code de ma page :

    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
     
    <?php
    echo '<h1>Contenu de la base de données</h1>';
     
     
    require 'bd.inc';
     
    $link = connectBD("./");
    switch($link)
    {
        case 1 :
            echo'<p>/!\ Problème de connexion au serveur mysql.</p>';
            break;
     
        case 2 :
            echo'<p>/!\ Problème de connexion à la base de données.</p>';
            break;
     
        default :
            if(!testTable())
                echo"<p>/!\ Erreur : la table dans laquelle l'article doit-être ajoutée n'existe pas n'existe pas.</p>";
            else
            {
                $renvoi = mysql_query('SELECT * FROM articles');
     
                    echo mysql_error();
     
                    $indexLigne = 0;
                    echo "<table>";
                    echo "<th>Référence</th>";
                    echo "<th>Désignation article</th>";
                    echo "<th>Gamme</th>";
                    while($tableau = mysql_fetch_assoc($renvoi))
                    {
                        if($indexLigne%2==0)
                        {
                            echo '<tr class="LignePaire">';
                        }
                        else
                        {
                            echo '<tr class="Ligne">';
                        }
     
                        echo "<td>".$tableau['ref']."</td>";
                        echo "<td>".$tableau['nom']."</td>";
                        echo "<td>".$tableau['type']."</td>";
     
                        echo "</tr>";
                        $indexLigne++;
                    }
                    echo "</table>";
            }
            break;
    }
    MYSQL_CLOSE(); 
    ?>
    Voici le contenu de mon fichier bd.inc :

    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
     
    <?php
     
     
    //*****************************/
    //      GESTION DE LA BASE 
    //*****************************/
     
    //Connection à la base suivant le fichier config/config
    //renvoie la connexion
    //ou 1 si la connexion au serveur échoue
    //ou 2 si la connexion à la base échoue
    function connectBd($rep){
       $f = fopen($rep."donnees/config","r");
       $host = rtrim(fgets($f));
       $user = rtrim(fgets($f));
       $mdp = rtrim(fgets($f));
       $bdd = rtrim(fgets($f));
       $link = mysql_connect($host,$user,$mdp);
       if(!$link)                     return 1;
       if(!mysql_select_db($bdd))        return 2;
       return $link;
    }
     
    //Test l'existence de la table des articles
    //renvoie true ou false
    function testTable(){
        $bool = mysql_query("SELECT * FROM articles");
        return $bool;
    }
    ?>
    Lorsque je veux afficher la page, le message suivant apparait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Warning:  main(bd.inc): failed to open stream: No such file or directory in /home/yekhen/public_html/site/pages/admin/secur/pagesAdmin/adminReinit.php on line 45
    
    Fatal error:  main(): Failed opening required 'bd.inc' (include_path='.:/usr/share/php:/usr/share/pear') in /home/yekhen/public_html/site/pages/admin/secur/pagesAdmin/adminReinit.php on line 45
    La ligne 45 en question est tout simplement la ligne require 'bd.inc';

    Le fichier bd.inc est placé dans un dossier1 (avec le dossier donnees bien entendu) et dans ce même dossier, il existe un dossier2 ui contient ma page .php

    une idée du problème ?!

  2. #2
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    Salut !

    essaie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    require '../dossier1/bdd.inc';
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  3. #3
    Membre averti
    Inscrit en
    Février 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 49
    Par défaut
    Ca ne fonctionne pas >.<

    Mais en fait j'ai mon dossier1 qui contient bd.inc et dans ce même dossier1, j'ai un dossier2 qui contient ma page. J'ai peut-être pas été très clair la première fois, désolé

  4. #4
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    ah ok..

    cependant, fait attention, il est possible que ton serveur ne soit pas configuré pour interprété les .inc, tu ferais mieux de renommer ton fichier en .inc.php
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  5. #5
    Membre averti
    Inscrit en
    Février 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 49
    Par défaut
    Oki ça marche, il a fallu que je change aussi mon chemin d'accès dans mafonction connectBD car je lisais les infos du fichier config dans un mauvais répertoire également.

    Sinon le serveur lit les fichiers .inc donc pas de soucis de ce côté là !

    Merci beaucoup pour ton aide précieuse et bonne journée à toi

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

Discussions similaires

  1. [Tableaux] souci avec des simples quotes
    Par Jean Fi dans le forum Langage
    Réponses: 6
    Dernier message: 29/03/2006, 21h13
  2. [Tableaux] probleme avec fichier texte
    Par leluis dans le forum Langage
    Réponses: 9
    Dernier message: 29/11/2005, 11h05

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