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 :

Requêtes pHp pour récupérer des données de la BDD [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par défaut Requêtes pHp pour récupérer des données de la BDD
    Bonjour.
    J'essaie de faire un petit script pHp (et commandes mySQL) pour récupérer la table que j'ai créer avec pHp et le script 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
    <?php 
    	include('../includes/connexion_V2.php'); 
    	connexion(); 
    			$sql= "CREATE TABLE IF NOT EXISTS " .$_POST['table']. "("; 
    			$sql .= "`id` int(11) NOT NULL auto_increment,"; 
    	session_start();
    		/*var_dump($_POST);*/
    		for ($j = 1; $j <= $_SESSION['nbc']; $j++) {
            /*if (isset($_POST['col'.$j])       )*/
    		$sql .= $_POST["col".$j].",";
    		}
    			$sql .= "PRIMARY KEY (`id`),"; 
    			$sql .= "UNIQUE KEY `id_2` (`id`)"; 
    			$sql .= ") ENGINE=MyISAM;"; 
    	mysql_query($sql) or die(mysql_error()); 
    ?>
    Ca fonctionne donc tout ce qui est en amont aussi notamment le script connexion_V2.php
    Par contre avec ce script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
     
        include("connexion_V2.php");
     
        connexion(); 
     
    	$sql = "SHOW " .$_POST['table']; 
     
    	$req = mysql_query($sql) or die(mysql_error()); 
     
    	echo $req ;
     
    ?>
    je n'ai rien sinon une erreur de syntaxe.
    Il n'y a aucune données dans table, je voudrai en partant de pHp afficher les informations que j'aurai avec un SHOW table en ligne de commande.

    En fait, je n'arrive pas à trouver la syntaxe et les commandes (sans PDO) pour me connecter, concevoir et envoyer ma requête puis surtout récupérer ce résultat dans une variable mySQL puis l'afficher avec comme départ un script pHp et en sortie une page html ("BDD transparente")

    Merci de votre aide.

  2. #2
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 117
    Par défaut
    Salut,

    que souhaites-tu afficher avec le SHOW ? Tu ne peux en tout cas pas l'utiliser avec le nom d'une de tes tables derrière.
    Ceci devrait pouvoir t'aider: http://dev.mysql.com/doc/refman/5.1/...nded-show.html

    A+

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par défaut
    Bonjour.
    SHOW TABLES.
    Je souhaite afficher cette table integralement qu'il y ait des entrées ou pas en envoyant une requête par un script pHp.

  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
    Comme te l'a indiqué dewey01, SHOW ne sert pas à afficher le contenu d'une table.
    Ce que tu veux, c'est une requête SELECT.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par défaut
    Oui c'est ça.
    J'ai du mal m'exprimer, j'ai parlé de SHOW uniquement pour decrire le résultat escompté, ce que l'on obtient en ligne de commande dans un terminal.

  6. #6
    Membre confirmé
    Inscrit en
    Juillet 2008
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 117
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    include("connexion_V2.php");
    connexion(); 
    $sql = "SELECT * FROM " .$_POST['table']; 
    $req = mysql_query($sql) or die(mysql_error()); 
    while ($row = mysql_fetch_assoc($req)) {
        echo($row['Column1']);
        echo($row['Column2']);
        echo($row['Column3']);
        ...
    }
    ?>
    Une simple recherche sur internet t'aurais pris 30s pour trouver ca.
    Cependant, mysql_connect est obsolete, il est conseillé d'utiliser mysqli_connect.

    A+

  7. #7
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par défaut
    Bonjour et merci ton aide.
    Effectivement j'ai une liste de fonctions pHp pour mySQL et je n'en n'ai pas trouvé à jour. Je vais continuer à chercher.

    Je ne suis pas loin de comprendre le petit bout que je tente de faire mais malgré des heures sur internet, j'ai toujours quelques questions
    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
    <?php 
    // on se connecte à MySQL et à la base
    include("connexion_V2.php");
     
    connexion();
     
    // on crée la requête SQL 
    $sql = "SELECT " .$_POST['table']; 
     
    // on envoie la requête 
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 
     
    // affichage
    while ($row = mysql_fetch_assoc($req)) {
        echo($row['Column1']);
        echo($row['Column2']);
        echo($row['Column3']);
       }
     
    // on ferme la connexion à mysql 
    mysql_close(); 
    ?>
    renvoie :
    Erreur SQL !
    SELECT parcours
    Unknown column 'parcours' in 'field list'
    C'est à dire le nom de ma table qu'il y a dans $_POST['table']., je souhaite afficher toute la table parcours sans donner d'autres info que son nom (sans donner le nom des colonnes).
    Cette table est par ailleurs vide.
    Je souhaite donc afficher le nom des "colonnes" (tant qu'il n'y a rien d'autre).

  8. #8
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2014
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Août 2014
    Messages : 63
    Par défaut
    Bonsoir,

    essaie comme ceci comme requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "SELECT * FROM " .$_POST['table'].";";
    puis l'affichage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        echo("<table><tr><th>Colone1</th><th>Colone2</th><th>Colone3</th></tr>");
        while ($row = mysql_fetch_assoc($req)) {
            echo("<tr><td>".$row['Column1']."</td><td>".$row['Column2']."</td><td>".$row['Column3']."</td></tr>");
        }
        echo("</table>");

    un extrait de code php avec du SQL dedans développé lors de mes études (désolé format image :X )

    Nom : 44.png
Affichages : 414
Taille : 260,7 Ko

    Bonne soirée

  9. #9
    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
    Un peu de sécurité svp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "SELECT * FROM " . mysql_real_escape_string($_POST['table']);
    Pour l'affichage étant donné qu'on ne connait pas d'avance les colonnes :
    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
    echo '<table>'
    while ($row = mysql_fetch_assoc($req)) {
     
            if ($head == TRUE) {
                    echo '<tr>';
                    foreach ($row as $col=>$value) {
                            echo '<th>' . htmlspecialchars($col) . '</th>';
                    }
                    echo '</tr>';
                    $head = FALSE;
            }
            echo '<tr>';
            foreach ($row as $value) {
                            echo '<td>' . htmlspecialchars($value) . '</td>';
            }
             echo '</tr>';
        }
        echo '</table>';
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #10
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par défaut
    Merci à tous les 2.
    Il me manque quelque chose. Le script n'affiche rien : ni résultat, ni erreur.
    Pouvez m'aider à repérer ce qui ne fonctionne pas et à faire des tests pour voir ce qui ne va pas.
    Je rappelle que ma table est vide, il n'y a que les "en-tête" et c'est cela que je souhaiterai afficher.

    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
    <?php 
    // on se connecte à MySQL et à la base
    include("connexion_V2.php");
     
    connexion();
     
    // on crée la requête SQL 
    $sql = "SELECT * FROM " . mysql_real_escape_string($_POST['table']);
     
    // on envoie la requête 
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 
     
    // affichage
    echo '<table>';
    while ($row = mysql_fetch_assoc($req)) {
     
            if ($head == TRUE) {
                    echo '<tr>';
                    foreach ($row as $col=>$value) {
                            echo '<th>' . htmlspecialchars($col) . '</th>';
                    }
                    echo '</tr>';
                    $head = FALSE;
            }
            echo '<tr>';
            foreach ($row as $value) {
                            echo '<td>' . htmlspecialchars($value) . '</td>';
            }
             echo '</tr>';
        }
    echo '</table>';
     
    // on ferme la connexion à mysql 
    mysql_close(); 
    ?>
    Le fichier connexion_V2.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php 
    	$host = "localhost"; /* L'adresse du serveur */ 
    	$login = "root"; /* Votre nom d'utilisateur */ 
    	$password = ""; /* Votre mot de passe */ 
    	$base = "toulesport"; /* Le nom de la base */ 
     
    function connexion() 
    	{ 
    	global $host, $login, $password, $base; 
    	$db = mysql_connect($host, $login, $password); 
    	mysql_select_db($base,$db); 
    	} 
    ?>

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/09/2014, 19h29
  2. Réponses: 5
    Dernier message: 14/03/2010, 21h50
  3. Réponses: 1
    Dernier message: 14/03/2007, 13h08
  4. fonction pour récupérer des données xml
    Par jeff29 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/06/2006, 15h46
  5. cherche module ou langage pour récupérer des données audio..
    Par Ry_Yo dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 12/05/2003, 17h44

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