Pcinf     Assistance Pc Matériel Logiciel et Système     "Forum Informatique d'aide en ligne"
 

 
Web Pc-Informatique.net
                                        Recherche sur le ForumRecherche sur le Forum    Groupes d'utilisateursGroupes d'utilisateurs   InscriptionInscription 

Votre ProfilVotre Profil   Vérifier ses messages privésVérifier ses messages privés   Se connecterSe connecter    FAQ du forumFAQ du forum
PC-Informatique.net     tutoriaux
 
Sécurité Internet aide en ligne logiciel gratuit       Aide au Référencement      Dossier sur la sécurité Wi-fi : WEP, WPA...       Tuto VNC 4.1.1       Réencoder des .AVI et couper vos films       Activation désactivation de WGA Windows genuine advantage       Partage de connexion Internet       Installation de Mandriva Linux    Construction dune base de données MySQL Créer un formulaire et récupérer les données  _
 

    Le Site   + de 500 Tutos d’aide   TV ce soir  Météo  Cartes virtuelles gratuites  Sudoku  Contact Admin  Faire un lien  Calendrier 2008

Construction dune base de données MySQL et instrution PHP

 
Poster un nouveau sujet   Répondre au sujet    Forum Pcinf retour aux Forums -> Langages de programmation
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
@YvesJean01@
Rank Pr 2
Rank Pr 2


Inscrit le: 09 Sep 2005
Messages: 1975
Localisation Pays-Ville: Guéreins 01090

MessagePosté le: Mar Sep 26, 2006 10:59 pm    Sujet du message: Construction dune base de données MySQL et instrution PHP Répondre en citant

Voici le Tuto 1 de la construction d'une base de données MySQL et instructions PHP, une suite fera également l'objet d'un topic unique qui sera lui consacrer à la récupération des informations écrites dans une base de données et ca représentation dans une page Web.

Tout d’abord, installez un serveur MySQL et un interpréteur PHP sur votre machine. Pour cela, nous avons optés pour EasyPHP qui est en « open source »,
Vous pourrez ainsi tester les bases de données « BDD » et les scripts PHP avant l'installation sur un serveur externe.

Dans ce cadre là, l'outil EasyPHP version 1.8 est l'outil idéal pour effectuer des mises au point et pout optimiser des bases de données et des scripts,
L’installation d'EasyPHP est très simple et après l'avoir installé, créer un dossier* dans Web Local a la racine du serveur (www).

*Nota : le dossier est appelé plus communément répertoire.

Renommez le, par exemple, « mestests » puis créer a l’intérieur de ce répertoire un fichier « test.php » avec le bloc-notes pour Windows et c’est a partir de la que nous allons débuter avec un test simple. Pour cela, copier/coller ce "scrïpt" dans votre fichier « test.php » pour vérifier que PHP tourne correctement. Voici le "scrïpt" :

Code:
<html>
<head>
<title>Test de PHP</title>
</head>
<body>
<p>test ligne HTML
<p>
<?php
   echo "test ligne PHP";
   phpinfo();
Neutral>
</body>
</html>

Nota : Remplacez le Neutral par le point d’interrogation sous votre clavier.

Vous devriez voir deux lignes et un tableau en affichant le fichier sur votre navigateur. Pour se faire :
Ouvrez EasyPHP puis rechercher Weblocal/nomderepertoire/nomdufichiercreer/, son adresse Web Local sera http://127.0.0.1/nomdetonrepertoire/nomdetonfichier.php tu dois voir cela à l’écran :




Nous allons maintenant tester MySQL dans le même répertoire précédemment installé créer un fichier nommer "test-mysql.php" et copier/coller ce "scrïpt"

Code:

<html>
<head>
<title>Test de MySQL</title>
</head>
<body>
<BODY BGCOLOR="#FFFFCC" TEXT=BLACK LINK=BLUE VLINK=PURPLE ALINK=RED>
<p>Test indépendant ceci est une ligne HTML
<p>
<?php
   echo "Test indépendant. Ceci est une ligne PHP <center><br><br>Test MySQL
réussi</center>";
Neutral>
<br><br>
<!-- test-mysql.php -->
<?php
$host="localhost";  /* ou 127.0.0.1 */
$user="root";
$password="";
mysql_connect($host,$user,$password);
$sql="show status";
$result = mysql_query($sql);
if ($result == 0)
    echo("<b>Erreur " . mysql_errno() . ": " . mysql_error() . "</b>");
elseif (mysql_num_rows($result) == 0)
    echo("<b>Requête exécutée avec succès</b>");
else
{
Neutral>
<!--tableau affichant les résultats -->
<table border=»1»>
  <tr><td><b>nom de la variable</b></td><td><b>valeur</b></td></tr>
  <?php
    for  ($i = 0; $i < mysql_num_rows($result); $i++) {
     echo("<TR>");
     $row_array = mysql_fetch_row($result);
     for ($j = 0; $j < mysql_num_fields($result); $j++) {
       echo("<TD>" . $row_array[$j] . "</td>");
       }
       echo("</tr>");
   }
  Neutral>
</table>
<?php } Neutral>
</body>
</html>


Si le test est réussi voici ce que vous devez avoir a l'écran



Maintenant créez un fichier nommé " mysql_envoi.php " pour envoyer une requete au serveur SQL et afficher les résultats copier/coller ce "scrïpt" :

Code:
<!-- Nom du programme : mysql_envoi.php
     Description : envoi d'une requete SQL au serveur SQL
                   et affichage des résultats.
-->
<html>
<head>
<title>Envoi de requete SQL</title>
</head>
<body>
<BODY BGCOLOR="#FFFFCC" TEXT=BLACK LINK=BLUE VLINK=PURPLE ALINK=RED>
<p>Test indépendant ceci est une ligne HTML<br><br><b><u>Nota:</u></b> Sous Linux/UNIX ne pas utiliser root <u>sans mot de passe</u> dans le "scrïpt"<br> $user="<b>root</b>"; <br>$password="<b>mot de passe ici</b>";<br> car la base de données sera dans ce cas accessible à tout le monde.
<p>
<?php
$host="localhost";
$user="root";
$password="";

/* Section d'exécution de la requête */
if(@$_GET['form'] == "yes")
{
mysql_connect($host,$user,$password);
mysql_select_db($_POST['database']);
$query = stripSlashes($_POST['query']);
$result = mysql_query($query);
echo "Base de donnée sélectionnée : <b>{$_POST['database']}</b><br>
Requête : <b>$query</b><h3>Résultats</h3><hr>";
if($result == 0)
echo "<b>Erreur ".mysql_errno().": ".mysql_error().
"</b>";
elseif (@mysql_num_rows($result) == 0)
echo ("<b>Requête executée. Aucun résultat envoyé.</b><br>");
else
{
echo "<table border='1'>
<thead>
<tr>";
for ($i = 0;$i < mysql_num_fields($result);$i++)
{
echo "<th>".mysql_field_name($result,$i).
"</th>";
}
echo " <tr>
</thead>
<tbody>";
for ($i = 0; $i <mysql_num_rows($result); $i++)
{
echo "<tr>";
$row = mysql_fetch_row($result);
for($j = 0;$j<mysql_num_fields($result);$j++)
{
echo("<td>" . $row[$j] . "</td>");
}
echo "</tr>";
}
echo "</tbody>
</table>";
} //end else
echo "
<hr><br>
<form action=\"{$_SERVER['PHP_SELF']}\" method=\"POST\">
<input type='hidden' name='query' value='$query'>
<input type='hidden' name='database'
value={$_POST['database']}>
<input type='submit' name=\"queryButton\"
value=\"Nouvelle requête\">
<input type='submit' name=\"queryButton\"
value=\"Editer la requête\">
</form>";
unset($form);
exit();
} //endif form=yes

/*Section that request user input of query */
@$query=stripSlashes($_POST['query']);
if (@$_POST['queryButton'] !="Editer la requête")
{
$query = "";
}
Neutral>
<form action="<?php echo $_SERVER['PHP_SELF'] Neutral>?form=yes" method="POST">
<table>
<tr>
<td align=right><b>Indiquez le nom<br>de la base de données</b></td>
<td><input type="text" name="database"
value=<?php echo @$_POST['database'] Neutral> ></td></tr>
<tr>
<td align="right" valign="top">
<br><b>Saisie la requete SQL</b><br><br><a href="http://pc-informatique.net/forum/" target="_blank"><img src="http://pc-informatique.net/windows/images/Pcinf120x9011ko.gif" width="120" height="90" border="0" alt="PC-Informatique.net des problemes une alternative"></a></td>
<td><textarea name="query" cols="60"
rows="10"><?php echo $query Neutral></textarea>
</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit"
value="Envoyer la requête"></td>
</tr>
</table>
</form>
<b>Besoin d'aide:</b><!-- debut du "scrïpt" -->
<form name="jump">
<select name="menu">
<option value="http://pc-informatique.net/forum/"title="Assistance Pc Materiel Logiciel et Syteme Informatique">Index du Forum</option>
<option value="http://pc-informatique.net/forum/cat-index-2.php"title="Le Bar">Menu Géneral</option>
<option value="http://pc-informatique.net/forum/cat-index-3.php"title="Menu Materiel Informatique">Menu Matériels</option>
<option value="http://pc-informatique.net/forum/cat-index-4.php"title="Menu Logiciel Informatique">Menu Logiciels</option>
<option value="http://pc-informatique.net/forum/cat-index-5.php"title="Menu Reseau Informatique">Menu Réseaux</option>
<option value="http://pc-informatique.net/forum/cat-index-6.php"title="Forum Webmasters">Menu Webmaster</option>
</select>
<input type="button" onClick="location=document.jump.menu.options[document.jump.menu.selectedIndex].value;" value="GO">
</form>
<!-- fin du "scrïpt" -->
</body></html>

Nota : Remplacez le Neutral par le point d’interrogation sous votre clavier "sans espace".

Si tout s’est bien passé, tu devrais voir s’afficher ceci. Dans le cas contraire, si par exemple, tu recopies les codes a la main, tu as un risque de page blanche mais il est bon de les recopier. Au départ, tu verras que les erreurs de frappes sont communes, j’ai bien revu ce "scrïpt" une 10ène de fois avant d’arriver à ce résultat



Pour ceux qui ont déja créés des Sites statiques en HTML, vous ne serez pas trop dépaysé.


Construction d'une base de données:


Vérification en faisant une requête dans la boite de saisis SQL en tapant SHOW DATABASES aucune erreur ne doit être détectée

Crées ta base de données dans la boite de saisie en utilisant la commande « SQL » : CREATE DATABASE nomdetabase
puis envoie la requête, son contrôle peut également ce faire dans phpMyAdmin.

Il est toujours possible de la supprimer en cas d’erreur avec la commande « SQL » : DROP DATABASE nomdetabase
à soumettre dans la boite de saisie ou dans l’espace phpMyAdmin gestionnaire de la BDD.

Crée une table ainsi que les noms des colonnes*, ne pas oublier de remplir comme Indique le nom de la base de données ce qui nous donnent dans la synoptique suivante:
Indique le nom de la base de données nomdetabase

Inscris dans la boite de saisis la requête SQL CREATE TABLE nomdetatable et crées des colonnes*(s) dans cette table qui serviront d’identificateur d’objet(s), nous nous attarderons plus loin sur la création des colonnes*; Pour supprimer une table, il faudra utiliser la requête SQL DROP TABLE nomdetatable dans la boite de saisie.

Pour vérifier qu'il n'y a pas d'erreur au niveau de vos tables qui viennent d'être créées, taper la requête SHOW TABLES en indiquant le nom de la base de données.
La même vérification peut être faite au niveau des colonnes avec cette requête: SHOW COLUMNS FROM nomdetatable. Si l'erreur 0 vous est retourné c'est que tout va pour le mieux. Vous pouvez aussi vérifier dans PhpMyAdmin que tout s'est passé comme vous l'aviez souhaité.

Pour le moment, tout fonctionne parfaitemment : vous avez bien en main cette structure virtuelle, allons plus loin !

Vous pouvez modifier la structure d'une base de données avec la requête ALTER voici un exemple:

Pour renommer une table, utiliser cette requête ALTER TABLE nomdetatable RENAME nomdetanouvelletable, D'autres commandes existent et ne sont pas traitées ici, contente toi de bien avoir déja en main ces divers commandes qui sont des plus utiles. Pour le reste, utilise le tableau de bord de PhpMyAdmin. Ceci est en faite un apprentissage pour voir comment nous pouvons communiquer de manière aveugle et comprendre le principe d'une base de données.

Nous avons vu comment créer ou supprimer une base de données puis la création ou suppression des tables, nous poursuivrons au niveau de colonnes*. Entraînez vous déjà a ces manipulations, quelles soient bien comprises, voici un rappel de ce que nous venons de voir :


*Création de tes colonnes et finalisation de la BDD

Définis tes colonnes et donne un nom a ta base de données pour une liste d’inscris :

exp :
Nom de la base de données «inscritmembre»
Table de la base de données «visiteur»
Colonnes de la base de données «visiteurid» et «visiteurimage» et «visiteuradresse»
Choix du type de données et «valeurs» ou «variable».

Il faudra créer autant de colonnes que nécessaire pour permettre un bon développement d’applications suivant le choix final adopté

exemple :
Tu veux présenter une liste de d’inscris sur ton Site, créé comme ci-dessus et nomme la base de données, ta table, et tes colonnes.

Il va falloir identifier une clef primaire* qui sera par exemple «visiteurid» ;

*son 1er avantage sera de faire une relation entre table mais son rôle de base est d’empêcher plusieurs ligne d’avoir le même nom c'est à dire d'avoir un identifiant unique pour chaque ligne.

Type de données pouvant être déclaré dans les tables à mettre a la suite des colonnes. Il va falloir réfléchir suivant ces exemples «chaîne de caractères» «numérique» «date et heure» pour les principaux à ce que le visiteur devra remplir. D’autre type de données existent, je limite volontairement la liste afin de n’aller qu’au principal.

Voici leurs définitions que nous appelons dans le jargon «Valeurs» ou «Variable» ;

Chaîne de caractères : Login, nom, description,…, ces chaînes de caractères peuvent être limitées en longueur dont voici les valeurs ou type de variables d'exemple;

VARCHAR ( ) entre les ( ) afficher le nombre 255 maximum exp :
Code:
VARCHAR(255)

CHAR ( ) entre les ( ) afficher le nombre 10 maximum exp :
Code:
CHAR(10)

TEXT 65 535 caractères maximum
Code:
TEXT


Numérique : nombre décimaux ou entier ;

Int ( ) unsigned nombre maximum de l’entier pouvant être assigné exp :
Code:
INT(4000)UNSIGNED

Décimal ( ) longueur vaut 5 et décimal nombre de chiffre avant la virgule 2 exp :
Code:
DECIMAL(5,2)
ce qui donne pour un chiffre en décimal et longueur 12.34,

Date et Heure :

Date( ) année,mois,jour décomposer (AAAA-MM-JJ) ce qui donne 2006-06-10 exp :
Code:
DATE(AAAA-MM-JJ)

Time( ) heure,minute,secondes décomposer (hh :mm :ss) ce qui donne 22 :30 :01 exp :
Code:
TIME(hh:mm:ss)


Vous serez amené a déclarer certain de ces type de valeur (ou variable) à vos colonnes. Le nom et le type seront automatiquement reconnus par MySQL.

Exemple imagé de la création dune BDD inscritmembre
nota: avec une BDD sous Linux il faut respecter les Majuscules et les minuscules.





Il est logique de construire une base de données ou de comprendre celle existante avant d’écrire un programme PHP. Le contraire est possible mais aucun test ne pourra se faire;

des scripts PHP récupéré ici ou la peuvent-être très dangereux pour une BDD...

J’espère que ce Tuto sur la base de données vous sera très utiles. J’ai essayé de rester au plus simple pour qu’il soit compréhensif pour tous. Ci-dessous, voila le "scrïpt" complet remanié que vous devez saisir.


"scrïpt" complet d'affichage d'un Formulaire et écriture d'un programme PHP


Code:

<!-- Nom du programme : mysql_envoi.php
     Description : envoi d'une requete SQL au serveur SQL
                   et affichage des résultats.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Affichage et création d'un Formulaire HTML PHP </title>
<meta name="description" content="Construction dune base de données MySQL et instrution PHP">
<meta name="keywords" content="base, donn&eacute;es, php,sql, mysql, table, colonne, Easyphp, programme, programation, webmasteur, aide, technique, recherche, probl&egrave;me, d&eacute;pannage, forum, tutoriaux, cr&eacute;ation, solution, langage, code, codage">
<meta name="content-language" content="fr">
<meta name="robots" content="all">
<meta name="revisit-after" content="15 days">
</head>
<html>
<BODY BGCOLOR="#FFFFCC" TEXT=BLACK LINK=BLUE VLINK=PURPLE ALINK=RED>
<!-- Comment insérer des données dans une table de données provenant d'un formulaire Neutral
Pour exemple, nous appelerons notre base de données inscription et notre table users
 
   
Ayant suivi les exemples en local, voici les travaux pratiques qui ne devront pas vous poser de problèmes. Vous savez maintenant :  créer une table et une base de données (BDD). Une fois votre choix sur le nom de la base de données ainsi que sa création : par exemple, créer une table users dans phpMyAdmin avec la requête SQL imagée ci-dessous.

Nous avons besoin d'un fichier dont l'extension sera php nommé pour l'exemple testuser.php que vous créez avec le bloc note pour Windows. Il contiendra le "scrïpt" html et php nécéssaire renfermant toutes les données pour la création du formulaire;

Requête SQL pour la création de la base de données inscription:
CREATE DATABASE inscription-->




Code:
<!--Requette SQL pour la création de la table user

CREATE TABLE user (id INT (10) not null AUTO_INCREMENT, pseudo VARCHAR (25) not null , email VARCHAR (30) not null , icq INT (11) null , titre VARCHAR (50) not null , description VARCHAR (170) not null , url VARCHAR (75) not null , PRIMARY KEY (id), INDEX (id), UNIQUE (id)) -->




Code:

<!--Nous allons utiliser le formulaire ci-dessous qui va alimenter la table :-->
<br><br><br>

<center>
<?php
   echo "Bonjour, nous somme le";
//echo affiche du texte php
Neutral>
 
<?php
// date local en php
echo date("d/m/Y");
Neutral>
<br>Merci de remplir le formulaire</center>

<!-- page à appeler lors de la soumission du formulaire -->


<!-- saisir une chaîne de caractères,
<input""> cette balise sert à insérer un champ de formulaire.
name=""   c'est l'application qui contient le nom de l'application (au choix).
size=""   définit la longueur du champ de saisie.
Value=""  permet de rajouter une expréssion.
maxlength="" définit le nombre total de caractères dans le champ, le visiteur ne pourra ainsi pas dépasser le nombre de caractères spécifiés.
D'autres balises peuvent etre rajoutées, ce n'est que les principales -->

<!--on a choisi la méthode POST plus sécurisé que GET qui elle ferait passer les variables par l’URL. Créons maintenant le formulaire-->
<center>
<form method="POST" action="testuser.php">
pseudo:->&nbsp;<input type="text" name="pseudo" size="22" value="" maxlength="25"><br>
email:-> <input type="text" name="email" size="20" value="" maxlength="30"><br>
icq:--->&nbsp;&nbsp; <input type="text" name="icq" size="20" value="" maxlength="11"><br>
titre:-->&nbsp;&nbsp;&nbsp;<input type="text" name="titre" size="20" value="" maxlength="50"><br>
description: <input type="text" name="description" size="22" value="" maxlength="170"><br>
url---->:&nbsp;&nbsp;<input type="text" name="url" size="20" value="http://" maxlength="75"><br><br>
<input type="submit" value="Envoyer" name="envoyer"></form>
</center>
 
<!--Voyons maintenant le code PHP pour la  récupéreration des champs-->
 
<?php

if(isset($_POST['pseudo']))      $pseudo=$_POST['pseudo'];
else      $pseudo="";

if(isset($_POST['email']))      $email=$_POST['email'];
else      $email="";

if(isset($_POST['icq']))      $icq=$_POST['icq'];
else      $icq="";

if(isset($_POST['titre']))      $titre=$_POST['titre'];
else      $titre="";

if(isset($_POST['description']))      $description=$_POST['description'];
else      $description="";

if(isset($_POST['url']))      $url=$_POST['url'];
else      $url="";

//vérification des champs vides si aucun champ n'est vide on enregistre dans la table
if(empty($pseudo) OR empty($email) OR empty($titre) OR empty($description) OR empty($url))
    {
    echo '<center><strong><font color="red">Nota, seul le champ ICQ peut rester vide </font></strong></center>';
    }
//connexion à la base de données
else     
    {
$db = mysql_connect('localhost', 'root', '')  or die('Erreur de connexion '.mysql_error());

       //sélection de la base de données qui a été créées : nom de votre base
      mysql_select_db('inscription',$db)  or die('Erreur de connection'.mysql_error());
     
      //on écrit la requête SQL INSERT INTO qui permet l'insertion des champs du formulaire dans la table user. Dans ce cas, le 1er champ reste vide car c'est l'ID identifiant qui s'incrémente  automatiquement a chaque nouvelle requete

    $sql = "INSERT INTO user(id, pseudo, email, icq, titre, description, url) VALUES('','$pseudo','$email','$icq','$titre','$description','$url')";
     
   //insersion des informations du formulaire dans la table
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

   //affichage du résultat pour le visiteur
    echo '<center><strong><font color="green">Vos informations on été ajouter dans notre base de données.</font></strong></center>';
   //fermeture de la connexion
    mysql_close(); 
    } 
Neutral
 
   
<!-- Pour l'insertion des champs pseudo et description, par exemple, dans la table il faut y spécifier le nom de chaque champ :

$sql = "INSERT INTO user(pseudo,description) VALUES('$pseudo','$description')";

Mais les autres champs de la table comporteront obligatoirement l'attribut NULL et non pas NOT NULL, Null indique au champ qu'il peut rester vide -->

<br><br><center><b>Besoin d'aide sur le "scrïpt":</b><!-- debut du "scrïpt" -->
<form name="jump">
<select name="menu">
<option value="http://pc-informatique.net/forum/forum14.php"title="Forum Webmasters">Forum Webmaster</option>
</select>
<input type="button" onClick="location=document.jump.menu.options[document.jump.menu.selectedIndex].value;" value="GO">
</form>
<!-- fin du "scrïpt" --></center>
</html>



Pour éviter les erreurs de codage, nous vous proposons de télécharger les fichiers codés qui seront directement a coller dans votre dossier appelé plus communément "répertoire" dans le
Web Local a la racine de votre serveur (www)...

Voici les 4 fichiers tests qui seront a décompresser dans votre dossier "répertoire" pour faire vos tests en local:

test.php:-------------->"scrïpt" pour vérifier que PHP tourne correctement
test-mysql:---------->"scrïpt" pour vérifier que mysql tourne correctement
mysql_envoi.php:->"scrïpt" pour envoyer une requete SQL au serveur SQL
testuser:-------------->"scrïpt" pour alimenter votres tables mySQL
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail MSN Messenger - Windows Live Messenger
Jackwade
Rank Pr 2
Rank Pr 2


Inscrit le: 03 Sep 2005
Messages: 1508

MessagePosté le: Mer Oct 18, 2006 10:20 am    Sujet du message: Re: Construction dune base de données MySQL et instrution PH Répondre en citant

J'ai testé sous easyphp et ce tuto fonctionne parfaitement. Bon boulot.

J'ajouterais 2 choses :

La première c'est de bien penser quand vous allez interroger votre base mysql sur votre serveur externe de mettre en adresse IP, en user et en mot de passe, l'adresse et le compte de connexion externe et non localhost et root avec un mot de passe vide qui servent juste à tester en local, à faire des essais en fait.

Vous me direz, vous pouvez vous servir d'easyphp pour monter un serveur Web chez vous mais là, je vous conseille de changer vos comptes de connexion, de configurer mysql et apache (httpd.conf) correctement pour pas que votre serveur soit un vrai gruyère.

La deuxième chose, c'est celle-ci :

@YvesJean01@ a écrit:


<!--Requette SQL pour la création de la table user

CREATE TABLE user (id INT (10) not null AUTO_INCREMENT, pseudo VARCHAR (25) not null , email VARCHAR (30) not null , icq INT (11) null , titre VARCHAR (50) not null , description VARCHAR (170) not null , url VARCHAR (75) not null , PRIMARY KEY (id), INDEX (id), UNIQUE (id)) -->



En fait, on voit sous phpmyadmin cette phrase : "PRIMARY and INDEX keys should not both be set for column `id`" après avoir exécuté cette requête qui veut dire qu'on ne peut pas utiliser la même clé primaire et la clé d'index. Pour ce cas là c'est "id", il peut servir soit pour l'un, soit pour l'autre. Généralement , on l'utilisera pour la clé primaire. Les indexes ne sont pas obligatoires, ils sont là pour améliorer la performance des opérations SELECT.
_________________
Y en a qui n'aime pas ma signature, ca va saigner!!
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
blackduty
Rank Pr 9
Rank Pr 9


Inscrit le: 23 Nov 2005
Messages: 96

MessagePosté le: Sam Fév 17, 2007 5:45 pm    Sujet du message: Répondre en citant

Très bon tuto sur le sql ^^

Par contre, ne serait il pas judicieux de commencer dès le début par faire des conseils d'optimisation Neutral

Par exemple, il est conseillé d'appliquer un VARCHAR qu'un TEXT si votre contenu n'est pas long etc...

A+
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
Jackwade
Rank Pr 2
Rank Pr 2


Inscrit le: 03 Sep 2005
Messages: 1508

MessagePosté le: Lun Fév 19, 2007 8:05 pm    Sujet du message: Répondre en citant

Oui généralement on utilise des varchar au lieu de TEXT, ca suffit amplement.
_________________
Y en a qui n'aime pas ma signature, ca va saigner!!
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
@YvesJean01@
Rank Pr 2
Rank Pr 2


Inscrit le: 09 Sep 2005
Messages: 1975
Localisation Pays-Ville: Guéreins 01090

MessagePosté le: Mar Fév 20, 2007 1:50 am    Sujet du message: PHP et sécurité Répondre en citant

blackduty a écrit:
Très bon tuto sur le sql ^^

Par contre, ne serait il pas judicieux de commencer dès le début par faire des conseils d'optimisation Neutral

Par exemple, il est conseillé d'appliquer un VARCHAR qu'un TEXT si votre contenu n'est pas long etc...

A+


@YvesJean01@ a écrit:

Type de données pouvant être déclaré dans les tables à mettre a la suite des colonnes. Il va falloir réfléchir suivant ces exemples «chaîne de caractères» «numérique» «date et heure» pour les principaux à ce que le visiteur devra remplir. D’autre type de données existent, je limite volontairement la liste afin de n’aller qu’au principal.

Voici leurs définitions que nous appelons dans le jargon «Valeurs» ou «Variable» ;

Chaîne de caractères : Login, nom, description,…, ces chaînes de caractères peuvent être limitées en longueur dont voici les valeurs ou type de variables d'exemple;

VARCHAR ( ) entre les ( ) afficher le nombre 255 maximum exp :
Code:
VARCHAR(255)

CHAR ( ) entre les ( ) afficher le nombre 10 maximum exp :
Code:
CHAR(10)

TEXT 65 535 caractères maximum
Code:
TEXT


Numérique : nombre décimaux ou entier ;

Int ( ) unsigned nombre maximum de l’entier pouvant être assigné exp :
Code:
INT(4000)UNSIGNED

Décimal ( ) longueur vaut 5 et décimal nombre de chiffre avant la virgule 2 exp :
Code:
DECIMAL(5,2)
ce qui donne pour un chiffre en décimal et longueur 12.34,

Date et Heure :

Date( ) année,mois,jour décomposer (AAAA-MM-JJ) ce qui donne 2006-06-10 exp :
Code:
DATE(AAAA-MM-JJ)

Time( ) heure,minute,secondes décomposer (hh :mm :ss) ce qui donne 22 :30 :01 exp :
Code:
TIME(hh:mm:ss)


La décision d'utiliser le VARCHAR est basée seulement sur les besoins de l'application et est laisser au choix de l’utilisateur, les codes de longueur fixe dans le VARCHAR que nous utilisons dans la requête plus haut permet une concaténation correcte pour le choix du « pseudo » « email » « titre » « description » « url »,
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail MSN Messenger - Windows Live Messenger
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Forum Pcinf retour aux Forums -> Langages de programmation Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum
Coin pub d'échange de bannières Pcinf


 

Sites Partenaires:>> Boules Unibloc Caudera |Arts et gravures |Annuaire Pcinf |Annuaire Cleanpc |Clicbooster |Cleanpc |Vistaprint cartes de visite gratuite

Référenceur:---->> Moteur de recherche |Référencement gratuit Denicher.com |metamoteur |PHP Sources |ZAPette.com |boosterforum.com |1000 Annuaires et Moteurs |bottin |Réseau Annuaires : référencement de site |Reférencement automatique


Pages vues sur la multiboard


Powered by phpBB © 2001, 2005 phpBB Group
Modified scripts and design © 2005, 2008 Tous droits réservés Pc-informatique.net
Traduction par : phpBB-fr.com