begin process at 2008 07 25 12:59:52
1 216 226 membres
190 nouveaux aujourd'hui
14 180 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

B0T, UNE SOURCE QUI VOUS PERMET DE VISUALISER LE CONTENU DE VOTRE TABLE MYSQL OU SQL SERVER


Description

Un petit code qui permet de visualiser votre table en vous logant
simplement !! Je suis en SQL SERVER et donc le code n'a pas été testé
sous MySQL!! Mais la version MySQL et quand même diponible aussi !

Fini le charabia :
                - index.php (SQL SERVER)
                - Mysql.php (vous devinez, MySQL)

ps -> Le code se connecte par défaut en "localhost"

Source

  • ------------------------- SQL SERVER ------------------------------
  • <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  • <html>
  • <head>
  • <title>SQL b0t : Par Nikko</title>
  • </head>
  • <body>
  • <?php
  • if(isset($_POST['base']) AND isset($_POST['table']) AND isset($_POST['champs']) ¬
  • AND isset($_POST['pseudo']) AND isset($_POST['pass']))
  • {
  • $pseudo = $_POST['pseudo'];
  • $pass = $_POST['pass'];
  • $base = $_POST['base'];
  • $table = $_POST['table'];
  • $champs = $_POST['champs'];
  • mssql_connect ("localhost","$pseudo","$pass"); // Connexion à MSSQL
  • mssql_select_db("$base"); // Sélection de ma base
  • $reponse = mssql_query("SELECT $champs FROM $table"); // Requête
  • $array = explode(',', $champs);
  • $nb = count(array_filter($array));
  • $nb2 = $nb;
  • $nombre_de_lignes = 0;
  • while ($donnees = mssql_fetch_array($reponse) )
  • {
  • for ($numero = 0; $numero < $nb2; $numero++)
  • {
  • $numm = $array[$numero]; // affichera $prenoms[0], $prenoms[1] ¬
  • etc...
  • echo $numm." : ";
  • echo $donnees[$numm]; // pour aller à la ligne
  • echo "<br>";
  • }
  • echo "<hr>";
  • }
  • mssql_close();
  • }
  • else
  • {
  • ?>
  • <form action = "index.php" method="post">
  • Identifiant de Connexion (pseudo) : <input type = "text" name = "pseudo"><br />¬
  • Identifiant de Connexion (mot de passe) : <input type = "text" name = "pass"><br ¬
  • /> Nom de la base : <input type = "text" name = "base"><br />
  • Nom de la table : <input type = "text" name = "table"><br />
  • Nom des champs voulus * : <input type = "text" name = "champs"><br />
  • * Séparé d'une virgule si vous en voulez plusieur <br/>
  • <input type = "submit" value = "Envoyer">
  • </form>
  • <?php
  • }
  • ?>
  • </body>
  • </html>
  • ------------------------- MySQL ------------------------------
  • <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  • <html>
  • <head>
  • <title>SQL b0t : Par Nikko</title>
  • </head>
  • <body>
  • <?php
  • if(isset($_POST['base']) AND isset($_POST['table']) AND isset($_POST['champs']) ¬
  • AND isset($_POST['pseudo']) AND isset($_POST['pass']))
  • {
  • $pseudo = $_POST['pseudo'];
  • $pass = $_POST['pass'];
  • $base = $_POST['base'];
  • $table = $_POST['table'];
  • $champs = $_POST['champs'];
  • mysql_connect ("localhost","$pseudo","$pass"); // Connexion à mysql
  • mysql_select_db("$base"); // Sélection de ma base
  • $reponse = mysql_query("SELECT $champs FROM $table"); // Requête
  • $array = explode(',', $champs);
  • $nb = count(array_filter($array));
  • $nb2 = $nb;
  • $nombre_de_lignes = 0;
  • while ($donnees = mysql_fetch_array($reponse) )
  • {
  • for ($numero = 0; $numero < $nb2; $numero++)
  • {
  • $numm = $array[$numero]; // affichera $prenoms[0], $prenoms[1] ¬
  • etc...
  • echo $numm." : ";
  • echo $donnees[$numm]; // pour aller à la ligne
  • echo "<br>";
  • }
  • echo "<hr>";
  • }
  • mysql_close();
  • }
  • else
  • {
  • ?>
  • <form action = "index.php" method="post">
  • Identifiant de Connexion (pseudo) : <input type = "text" name = "pseudo"><br />¬
  • Identifiant de Connexion (mot de passe) : <input type = "text" name = "pass"><br ¬
  • /> Nom de la base : <input type = "text" name = "base"><br />
  • Nom de la table : <input type = "text" name = "table"><br />
  • Nom des champs voulus * : <input type = "text" name = "champs"><br />
  • * Séparé d'une virgule si vous en voulez plusieur <br/>
  • <input type = "submit" value = "Envoyer">
  • </form>
  • <?php
  • }
  • ?>
  • </body>
  • </html>
------------------------- SQL SERVER ------------------------------

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
 <title>SQL b0t : Par Nikko</title>
</head>
<body>
<?php
if(isset($_POST['base']) AND isset($_POST['table']) AND isset($_POST['champs']) ¬
AND isset($_POST['pseudo']) AND isset($_POST['pass']))
{
        $pseudo = $_POST['pseudo'];
        $pass = $_POST['pass'];
        $base = $_POST['base'];
        $table = $_POST['table'];
        $champs = $_POST['champs'];

        mssql_connect ("localhost","$pseudo","$pass"); // Connexion à MSSQL
        mssql_select_db("$base"); // Sélection de ma base
        $reponse = mssql_query("SELECT $champs FROM $table"); // Requête
        $array = explode(',', $champs);


        $nb = count(array_filter($array));
        $nb2 = $nb;
        $nombre_de_lignes = 0;


        while ($donnees = mssql_fetch_array($reponse) )
        {

                for ($numero = 0; $numero < $nb2; $numero++)
                {
                 $numm = $array[$numero]; // affichera $prenoms[0], $prenoms[1] ¬
etc...
                 echo $numm." : ";
                 echo $donnees[$numm]; // pour aller à la ligne
                 echo "<br>";
                }

        echo "<hr>";
        }
        mssql_close();
}
else
{
?>
<form action = "index.php" method="post">
Identifiant de Connexion (pseudo)  : <input type = "text" name = "pseudo"><br />¬

Identifiant de Connexion (mot de passe)  : <input type = "text" name = "pass"><br ¬
/>  Nom de la base  : <input type = "text" name = "base"><br />
Nom de la table : <input type = "text" name = "table"><br />
Nom des champs voulus * : <input type = "text" name = "champs"><br />
* Séparé d'une virgule si vous en voulez plusieur <br/>
<input type = "submit" value = "Envoyer">
</form>
<?php
}
?>
</body>
</html>

------------------------- MySQL ------------------------------

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
 <title>SQL b0t : Par Nikko</title>
</head>
<body>
<?php
if(isset($_POST['base']) AND isset($_POST['table']) AND isset($_POST['champs']) ¬
AND isset($_POST['pseudo']) AND isset($_POST['pass']))
{
        $pseudo = $_POST['pseudo'];
        $pass = $_POST['pass'];
        $base = $_POST['base'];
        $table = $_POST['table'];
        $champs = $_POST['champs'];

        mysql_connect ("localhost","$pseudo","$pass"); // Connexion à mysql
        mysql_select_db("$base"); // Sélection de ma base
        $reponse = mysql_query("SELECT $champs FROM $table"); // Requête
        $array = explode(',', $champs);


        $nb = count(array_filter($array));
        $nb2 = $nb;
        $nombre_de_lignes = 0;


        while ($donnees = mysql_fetch_array($reponse) )
        {

                for ($numero = 0; $numero < $nb2; $numero++)
                {
                 $numm = $array[$numero]; // affichera $prenoms[0], $prenoms[1] ¬
etc...
                 echo $numm." : ";
                 echo $donnees[$numm]; // pour aller à la ligne
                 echo "<br>";
                }

        echo "<hr>";
        }
        mysql_close();
}
else
{
?>
<form action = "index.php" method="post">
Identifiant de Connexion (pseudo)  : <input type = "text" name = "pseudo"><br />¬

Identifiant de Connexion (mot de passe)  : <input type = "text" name = "pass"><br ¬
/>  Nom de la base  : <input type = "text" name = "base"><br />
Nom de la table : <input type = "text" name = "table"><br />
Nom des champs voulus * : <input type = "text" name = "champs"><br />
* Séparé d'une virgule si vous en voulez plusieur <br/>
<input type = "submit" value = "Envoyer">
</form>
<?php
}
?>
</body>
</html>

Conclusion

donner moi votre avis et
vos amélioration, soyez cool c'est ma première source !!!
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

  • signaler à un administrateur
    Commentaire de codefalse le 06/02/2008 14:11:49 administrateur CS

    Utilisez les classes d'abstractions de bases de données
    Utilisez les classes d'abstractions de bases de données
    Utilisez les classes d'abstractions de bases de données
    Utilisez les classes d'abstractions de bases de données
    ....
    faut que ca rentre !
    C'est pas ca qui manque, ne serait-ce que sur le site phpcs
    http://www.phpcs.com/recherche.aspx?r=abstraction+sgbd

    Sans compter les autres !

  • signaler à un administrateur
    Commentaire de coucou747 le 06/02/2008 14:39:23

    Lieber Codefalse, je vais peut-etre declancher un troll :)
    quand tu utilises des types bizares, fonctions exotiques, voir procedures et fonctions stoquees, as tu des chances de pouvoir changer un jours de sgbd ?

    sachant que quand on utilise php, on peut quasiment toujours avoir mysql avec, et c'est pas le choix qui manque...

    Bref, si tu mets ca comme commentaires, t'auras probablement a le mettre sur toutes mes sources parce-que j'irais pas apprendre oracle avant d'en avoir besoin, ni postgre ni autre... je resterais sur mysql et ne vois donc aucun interret d'utiliser une abstraction sachant que mes procedures mysql5 ne sont pas portables oracle...

  • signaler à un administrateur
    Commentaire de Windows300 le 06/02/2008 16:05:20

    merci de votre commentaire, mais
    CODEFALSE : tu ne sais pas détaillé
    avec des mot plus simple !

    COUCOU747 : que penses-tu de ma source ?

  • signaler à un administrateur
    Commentaire de coucou747 le 06/02/2008 16:24:18

    ta source, c'est du php4 classique, j'ai pas grand chose a dire dessus

  • signaler à un administrateur
    Commentaire de Windows300 le 06/02/2008 17:49:15

    Merci quand même, bonne soirée !

  • signaler à un administrateur
    Commentaire de malalam le 06/02/2008 20:18:21 administrateur CS

    @Coucou => dans ce cas-ci...pour faire un connect et un query afin d'afficher les valeurs du champ d'une table...on peut très bien mettre une abstraction : ça ne changera rien du tout au problème.
    Plutôt que de réécrire tout le code juste pour changer 3 fonctions.
    Ensuite, perso, je bosse sous mysql et mssql. Et une classe d'abstraction est un life saver, très sincèrement. It suffit qu'elle soit bien foutue : les procédures stockées existent sous mssql et Oracle. Il suffit de tenir compte des spécificités de chaque serveur DB au niveau des classes concrètes, point barre.
    Toi, tu t'en fous parce que tu ne bosses que sous mysql. Tu n'es pas représentatif de 100% des codeurs php. Alors quand on publie un code se basant sur les bases de données, autant donner au moins la possibilité d'implémenter à moindres frais soi-même sa propre base de données. Donc, faire une abstraction, implémenter les classes concrètes que l'on connait en guise d'exemples, et si un développeur utilise une auytre base de données, il implémentera la sienne. Mais à moindres frais : sans se retaper tout le code de base.
    Si requêtes spécifiques il y a, elles doivent se trouver au niveau des classes concrètes.
    J'ai récemment intégré dans la mienne une méthode permettant de vérifier l'existence d'une table dans une base données. Bon...ben la requête implémentant ça se trouve dans une méthode tableExists() qui prend en paramètre le nom de la table. Et la requête effectuée est implémentée dans mes classes concrètes. Si je change de DB, je ne change rien au code si ce n'est instanciation de mon wrapper DB, mais pas l'appel de la méthode (ni le traitement de son retour derrière, puisque la méthode renvoie true ou false dans tous les cas).
    Ca me semble une évidence.

  • signaler à un administrateur
    Commentaire de codefalse le 06/02/2008 22:01:33 administrateur CS

    @malalam, mon gourou ^^
    @Windows300 : Euh je ne peux pas détailler plus, regarde du coté du lien que je t'ai donné ?!
    L'idée, comme l'a tres bien expliqué Malalam, c'est de permettre aux personnes de pouvoir utiliser n'importe quelle base de donnée, pas QUE mysql.

    @Coucou747 : Oh, tu sais, ce qu'il y a de bien avec les trolls, c'est que ca alimente la discussion (tant qu'elle reste controlée (tu préfere windows ou linux ? :p)). L'idée, (comme la tres bien dit Malalam (bis)), c'est que si tu fait une groupement de classes pour ta gestion de bdd, et que tu fait une classe spécifique MonAppRequestMySQL (par exemple, si "MonApp" ne fait que quelques requetes, sinon, bien sur, tu découpera cela en plusieurs petites classes), et cette classe contiendra les requetes Mysql (telle que SELECT col1 FROM table LIMIT 0, 20;) et si demain tu veux passer à PostGreSql, tu n'a qu'a faire une classe MonAppRequestPostGre, qui contiendra les mêmes méthodes que MonAppRequestMySQL mais en faisant un OFFSET au lieu du LIMIT (c'est un exemple bien sur !). Comme ca, ton travail se regroupe en la modification/Création d'une classe. Ca t'évite de rechercher dans tout ton code si tu a pas une fonction mysql qui traine.

    Bien sur si tu n'utilise que du MySQL, les commentaires de Malalam et moi-même sont à supprimer ;)
    Par contre le fait de dire que pour toi ca sert à rien, je dirai que concretement, ca dépendra de la personne, en effet :)

  • signaler à un administrateur
    Commentaire de Windows300 le 07/02/2008 08:59:49

    CODEFALSE :  C'est vrai que mon code n'est pas au point !
    mais pour ce qui est mysql et mssql,
    je on sais le faire avec les deux code

Ajouter un commentaire

Pub



Appels d'offres

Animation Flash alimen...
Budget : 6 000€
Creation portail video
Budget : 3 000€
Site de e-commerce
Budget : 5 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS