FAQ Adobe® Dreamweaver CS3/CS4Consultez toutes les FAQ

Nombre d'auteurs : 6, nombre de questions : 55, dernière mise à jour : 2 septembre 2018 

 
OuvrirSommairePHP et Base SQL

Il peut être intéressant, lorsque vous tapez les premières lettres d'une fonction PHP, d'éviter les erreurs de syntaxe et d'obtenir les paramètres de celle-ci.

En mode « Code », positionnez vous entre deux balises « PHP », tapez la ou les premières lettres de la fonction désirée et appuyez sur « Ctrl+Espace »,
Un menu « Indicateur de code » apparaît, la première fonction correspondante aux lettres tapées est automatiquement sélectionnée.
Insérez la fonction désirée en cliquant sur la touche « Entrée ».

Créé le 8 février 2009  par Jumano

Vous devez modifier la ligne 75 du fichier :
C:\Program Files\Adobe\Adobe Dreamweaver CS3\configuration\DocumentTypes\MMDocumentTypes.xml
En ajoutant l'extension « .INC » à la propriété « winfileextension »

Vous devez aussi modifier le fichier :
C:\Program Files\Adobe\Adobe Dreamweaver CS3\configuration\extensions.txt
En ajoutant l'extension « .INC » à la ligne « Fichiers PHP » et « Tous les documents ».

Créé le 8 février 2009  par arnolem

Un jeu d'enregistrement va permettre d'extraire une ou plusieurs informations stockées dans une base de données à l'aide d'une requête SQL.
Il peut être créé en mode « simple » ou en mode « avancé ».

Créé le 8 février 2009  par Jumano

Ouvrez une page PHP (Ctrl+N > Page vierge > PHP),
Sélectionnez : Fenêtre > Base de données (ou Ctrl+Maj+F10),
Cliquez sur le bouton « + » et choisir « Connexion MYSQL ».

Dans la fenêtre qui s'ouvre, indiquez les informations nécessaires à la connexion,
Cliquez sur « Tester », une pop-up doit s'ouvrir avec le message : « Connexion établie ».

Vous trouverez ensuite un nouveau dossier « Connexions », dans celui de votre site local, contenant un fichier portant le nom indiqué lors de la création de la connexion.
Exemple de fichier connexion :

 
Sélectionnez
<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_CnxDEVELOPPEZ = "localhost";
$database_CnxDEVELOPPEZ = "developpez";
$username_CnxDEVELOPPEZ = "root";
$password_CnxDEVELOPPEZ = "123456";
$CnxDEVELOPPEZ = mysql_pconnect($hostname_CnxDEVELOPPEZ, $username_CnxDEVELOPPEZ, $password_CnxDEVELOPPEZ) or trigger_error(mysql_error(),E_USER_ERROR); 
?>
Créé le 8 février 2009  par Jumano

Sélectionnez : Fenêtre > Liaisons (ou Ctrl+F10),
Cliquez sur le bouton « + » et choisissez « Jeux d'enregistrements (Requête) »,
Indiquez un nom, par exemple « Rs_Pays » (Rs correspondant à l'abréviation de Recordset),
Choisissez sa connexion dans la liste déroulante,
(Si celle-ci n'a pas encore été créée, cliquez sur « Définir » et « Nouveau » puis remplir les différents champs),
La liste des tables correspondantes à la connexion choisie s'affiche,
Sélectionnez la table sur laquelle vous souhaitez faire une requête,
Dans la partie « Colonnes » apparaissent tous les champs correspondants à la table sélectionnée ; Par défaut « Toutes » est cochée.
Si vous ne désirez pas récupérer l'ensemble des colonnes,
Cochez « Sélectionnées » et sélectionner les colonnes souhaitées en maintenant la touche « Ctrl » enfoncée,
Choisissez le champ sur lequel vous voulez effectuer un filtre, ou laissez « aucun »,
Choisissez le champ sur lequel vous voulez effectuer un tri, ou laissez « aucun ».

Vous pouvez tester votre requête en cliquant sur « Tester ».
Une nouvelle fenêtre s'ouvre vous indiquant le nombre d'enregistrements correspondant.
Cliquer sur « Ok ».

Le code de votre requête est généré automatiquement :
Ici une simple requête pour obtenir tous les champs (* = tous les champs) de la table « pays ».

 
Sélectionnez
<?php require_once('Connections/CnxDEVELOPPEZ.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
 
  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
 
  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}
 
mysql_select_db($database_CnxDEVELOPPEZ, $CnxDEVELOPPEZ);
$query_Rs_Pays = "SELECT * FROM pays";
$Rs_Pays = mysql_query($query_Rs_Pays, $CnxDEVELOPPEZ) or die(mysql_error());
$row_Rs_Pays = mysql_fetch_assoc($Rs_Pays);
$totalRows_Rs_Pays = mysql_num_rows($Rs_Pays);
?>
Créé le 8 février 2009  par Jumano

Ouvrez une page PHP (Ctrl+N > Page vierge > PHP),
Sélectionnez : Fenêtre > Liaisons (ou Ctrl+F10),
Cliquez sur le bouton « + » et sélectionnez « Variable de formulaire »,
Dans la fenêtre indiquer le « Nom » pour votre variable et cliquer sur « Ok », (Ce nom devant être le nom d'un champ de formulaire que vous avez créé).

Vous avez maintenant dans le panneau « Liaison » votre variable qui apparaît dans « Form »,
Choisissez le mode « Code » sur votre page,
Faites un clic gauche sur votre nouvelle variable, maintenez enfoncé, et déplacez votre curseur vers le code de votre page PHP,
Une fois que vous avez relâché le bouton le code suivant apparaît :

 
Sélectionnez
<?php echo $_POST['test']; ?>

Vous pouvez créer de la même manière des variables : d'URL, de Session, Cookie, de Serveur et d'Environnement.
Ce qui donne ceci en matière de code généré :

 
Sélectionnez
URL :<?php echo $_GET['test']; ?>
Session :<?php echo $_SESSION['test']; ?>
Cookie :<?php echo $_COOKIE['test']; ?>
Serveur :<?php echo $_SERVER['test']; ?>
Environnement :<?php echo $_ENV['test']; ?>
Créé le 8 février 2009  par Jumano

Après avoir créé un jeu d'enregistrement (requête SQL), il faut créer un tableau contenant deux lignes, une pour l'entête des colonnes et une seconde pour l'affichage des données.
Créez un tableau avec deux colonnes :
Ici, la première colonne correspondant aux noms de « Pays » et la seconde aux « Capitales ».

 
Sélectionnez
<table width="300" border="1" cellspacing="1" cellpadding="0">
  <tr>
    <td width="140"><div align="center">Pays</div></td>
    <td width="151"><div align="center">Capitale</div></td>
  </tr>
  <tr>
    <td>&amp;amp;nbsp;</td>
    <td>&amp;amp;nbsp;</td>
  </tr>
</table>

Indiquez à partir du jeu d'enregistrement les données que vous souhaitez afficher dans votre tableau :

 
Sélectionnez
<table width="300" border="1" cellspacing="1" cellpadding="0">
  <tr>
    <td width="140"><div align="center">Pays</div></td>
    <td width="151"><div align="center">Capitale</div></td>
  </tr>
  <tr>
    <td><?php echo $row_rs_Pays['NOM']; ?></td>
    <td><?php echo $row_rs_Pays['CAPITALE']; ?></td>
  </tr>
</table>

Sélectionnez la deuxième ligne du tableau,
Sélectionnez : Insertion > Objets de données > Région répétée,
Sélectionnez votre jeux d'enregistrement et cliquer sur « Afficher tous les enregistrements ».

 
Sélectionnez
<table width="300" border="1" cellspacing="1" cellpadding="0">
  <tr>
    <td width="140"><div align="center">Pays</div></td>
    <td width="151"><div align="center">Capitale</div></td>
  </tr>
  <?php do { ?>
    <tr>
      <td><?php echo $row_rs_Pays['NOM']; ?></td>
      <td><?php echo $row_rs_Pays['CAPITALE']; ?></td>
    </tr>
    <?php } while ($row_rs_Pays = mysql_fetch_assoc($rs_Pays)); ?>
</table>

La seconde ligne va se répéter autant de fois qu'il y a d'enregistrement dans votre jeu d'enregistrement.

Créé le 8 février 2009  par Jumano

Si la barre « Insertion » n'est pas affichée,
Sélectionnez : Fenêtre > Insertion (ou Ctrl+F2),
Choisissez l'onglet « Formulaire », puis cliquez sur le bouton « Liste/Menu »,
(Vous pouvez également sélectionner Insertion > Formulaire > Liste/Menu),
Donnez un nom à votre liste dans le champ « ID » (ce nom correspondra au « name » et à l'« id » de votre « select »),
Si vous désirez indiquer une étiquette, indiquez un nom dans le champ « Etiquette »,
Sélectionnez ensuite le style pour votre étiquette, puis la position de celle-ci,
Cliquer sur « Ok ».

Vous obtenez le code suivant : (ici une liste ayant le nom « pays » sans étiquette)

 
Sélectionnez

<select name="Pays" id="Pays">
</select>

Positionnez-vous en mode « Création »,
Sélectionnez la liste,
Dans le panneau « Propriétés » (si celui-ci n'est pas affiché Ctrl+F3), cliquez sur le bouton « Dynamique »,
Dans « Options du jeux d'enregistrements », sélectionnez le jeu d'enregistrement qui doit alimenter dynamiquement votre liste,
Valeur : Sélectionner le champ que vous désirez indiquer comme « value » pour chaque « option » de votre liste,
Etiquettes : Sélectionner le champ que vous souhaitez voir s'afficher dans votre liste,
Ne rien inscrire dans le champ « Sélectionner une valeur égale à : ».

Code généré : Ici une liste ayant pour étiquette des noms de pays et pour valeur l'« ID » du pays dans la table.

 
Sélectionnez
<select name="Pays" id="Pays">
  <?php
do {  
?>
  <option value="<?php echo $row_Rs_Pays['ID']?>"><?php echo $row_Rs_Pays['NOM']?></option>
  <?php
} while ($row_Rs_Pays = mysql_fetch_assoc($Rs_Pays));
  $rows = mysql_num_rows($Rs_Pays);
  if($rows > 0) {
      mysql_data_seek($Rs_Pays, 0);
  $row_Rs_Pays = mysql_fetch_assoc($Rs_Pays);
  }
?>
 
</select>
Créé le 8 février 2009  par Jumano

Après avoir créé sa liste :
Ici une liste de Pays avec l'« ID » en valeur.

 
Sélectionnez
<select name="Pays" id="Pays">
  <?php
do {  
?>
  <option value="<?php echo $row_Rs_Pays['ID']?>"><?php echo $row_Rs_Pays['NOM']?></option>
  <?php
} while ($row_Rs_Pays = mysql_fetch_assoc($Rs_Pays));
  $rows = mysql_num_rows($Rs_Pays);
  if($rows > 0) {
      mysql_data_seek($Rs_Pays, 0);
  $row_Rs_Pays = mysql_fetch_assoc($Rs_Pays);
  }
?>
 
</select>

Positionnez-vous en mode « Création »,
Sélectionnez la liste puis dans le panneau « Propriétés » (Ctrl+F3), cliquer sur le bouton « Dynamique »,
Dans la partie « Sélectionner une valeur égale à », indiquez la valeur que vous désirez ou bien aidez-vous du bouton « éclair » qui permet d'accéder soit aux différents jeux d'enregistrement,
soit aux différentes variables que vous avez pu créer.
Puis cliquer sur « Ok ».

Le code généré : Ici on veut que la valeur de la liste sélectionnée soit égale à la variable d'URL : $_GET['nom'].

 
Sélectionnez
<select name="Pays" id="Pays">
  <?php
do {  
?>
  <option value="<?php echo $row_Rs_Pays['ID']?>"<?php if (!(strcmp($row_Rs_Pays['ID'], $_GET['nom']))) {echo "selected=\"selected\"";} ?>>
  <?php echo $row_Rs_Pays['NOM']?></option>
  <?php
} while ($row_Rs_Pays = mysql_fetch_assoc($Rs_Pays));
  $rows = mysql_num_rows($Rs_Pays);
  if($rows > 0) {
      mysql_data_seek($Rs_Pays, 0);
  $row_Rs_Pays = mysql_fetch_assoc($Rs_Pays);
  }
?>
 
</select>
Créé le 8 février 2009  par Jumano

Nous avons une base SQL avec une table « utilisateurs », cette dernière est composée de trois champs : ID, PSEUDO et MDP (MotDePasse). Code SQL :

 
Sélectionnez
CREATE TABLE `utilisateurs` (
  `ID` int(11) NOT NULL auto_increment,
  `PSEUDO` varchar(30) NOT NULL,
  `MDP` varchar(8) NOT NULL,
  PRIMARY KEY  (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

A l'aide d'un formulaire nous voulons alimenter cette « table ».
Positionnez-vous en mode « Création »,
Sélectionnez : Insertion > Formulaire > Formulaire,
Positionnez-vous à l'intérieur des pointillés rouges (correspondant à la délimitation des balises de votre formulaire),
Sélectionnez : Insertion > Formulaire > Champ de texte (ou directement en cliquant sur le bouton correspondant dans le panneau Insertion > Onglet « Formulaire »),
Indiquez un ID : « pseudo »,
Faites un retour ligne,
Insérez un nouveau champ et lui donner comme ID : « mdp »
Faites un retour ligne et insérez un bouton de « type=submit » (Insertion > Formulaire > Bouton).

Le code généré est le suivant :

 
Sélectionnez
<form id="form1" name="form1" method="post" action="">
  <p>Pseudo
    <input type="text" name="pseudo" id="pseudo" />
</p>
  <p>Mot de Passe 
    <input type="text" name="mdp" id="mdp" />
</p>
  <p>
    <input type="submit" name="button" id="button" value="Envoyer" />
  </p>
</form>

Maintenant nous allons créer un « Comportement de serveur » à partir du panneau « Application »
Sélectionnez : Fenêtre > Comportements de serveur (Ctrl+F9),
Cliquez sur le bouton « + » et choisir « Insérer un enregistrement »,
Une nouvelle fenêtre s'ouvre,
« Envoyer les valeurs à partir de : » correspond au nom de votre formulaire,
Sélectionnez votre connexion,
La liste « Insérer une table » se met à jour, sélectionnez la table que vous désirez alimenter, ici « utilisateurs ».

Dans la partie « Colonnes » de nouvelles informations apparaissent : il s'agit de la correspondance entre les champs de votre table et ceux de votre formulaire.
La première ligne indique :
la clé primaire 'ID' est inutilisée (ce champ étant de type 'auto_increment')
Et ensuite :
'PSEUDO'(champ de votre table) Gets value from(prendra la valeur provenant de) 'FORM.pseudo'(champ de votre formulaire) as 'Texte'(ici du texte sera envoyé)

Vous retrouvez ces informations dans les deux listes en dessous : « Valeur » et « Envoyer en tant que »,
Ici la correspondance s'est faite automatiquement car nous avons choisi le même nom pour notre champ formulaire et pour notre champ table.
Si les noms avaient été différents, il aurait fallu choisir par nous même : « Valeur » et « Envoyer en tant que ».
Indiquer ensuite l'url de la page que vous voulez afficher une fois l'enregistrement effectué ou aidez vous en cliquant sur « Parcourir ».
Cliquer sur « Ok ».

Le code généré :

 
Sélectionnez
<?php require_once('Connections/CnxDEVELOPPEZ.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
 
  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
 
  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}
 
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
 
if ((isset($_POST["MM_insert"])) &amp;&amp; ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO utilisateurs (PSEUDO, MDP) VALUES (%s, %s)",
                       GetSQLValueString($_POST['pseudo'], "text"),
                       GetSQLValueString($_POST['mdp'], "text"));
 
  mysql_select_db($database_CnxDEVELOPPEZ, $CnxDEVELOPPEZ);
  $Result1 = mysql_query($insertSQL, $CnxDEVELOPPEZ) or die(mysql_error());
 
  $insertGoTo = "Page.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&amp;" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
 
</head>
 
<body>
<form id="form1" name="form1" method="POST" action="<?php echo $editFormAction; ?>">
  <p>Pseudo
    <input type="text" name="pseudo" id="pseudo" />
</p>
  <p>Mot de Passe 
    <input type="text" name="mdp" id="mdp" />
</p>
  <p>
    <input type="submit" name="button" id="button" value="Envoyer" />
  </p>
  <input type="hidden" name="MM_insert" value="form1" />
</form>
</body>
</html>
Créé le 8 février 2009  par Jumano
  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2009 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.