Aller au contenu

mise en page php


Sujets conseillés

Posté (modifié)

Plusieurs méthodes pour ce faire:

1: dans le cadre de ta page xxx.php, tout ce qui concerne le html se code ainsi:

<?php
include "connect.php";
$var = "toto";
print "<table><tr><td>";
print "Mon nom". $var;
print "</td></tr></table>";
$sql = "select....";
?>

ou encore comme ceci:

2:

<?php
include "connect.php"; // (par exemple)
$var = "toto";
?>
<table><tr><td>
Mon nom est <?php echo $var;?>
</td></tr></table>
<?php
$sql = "select...";
?>

Et puis ensuite, il faudra essayer de séparer véritablement la partie html, du code php.

xpatval

Modifié par xpatval
Posté

en faite j'ai déjà fais mon tableau pour récuperer les donnees de la base.

voilà ce que j'ai essayé de faire.

<?php

mysql_connect("localhost", "root", "") or

die("Impossible de se connecter : " . mysql_error());

mysql_select_db("acps");

//$req_compte = "SELECT nom,prenom, adresse,cp,ville,mail,date_adhesion,date_fin FROM membres";

$reponse = mysql_query("SELECT nom FROM membres"); // Requête SQL

//if ($result= mysql_query($req_compte)) //execution de la requette et test de réussite

//{echo "requete reussie";

//}

//else { echo mysql_errno() . ": " . mysql_error(). "\n" ; exit(1);}//message d'erreur

while ($donnees = mysql_fetch_array ($reponse) )

{

?>

<table>

<tr>

<td> <?php echo $donnees['nom'] ; ?>

</td></tr>

</table>

<?

}

mysql_close();

?>

mais apparament ça marche pas

Posté

As-tu un message d'erreur ?

De plus, il est fortement conseillé d'initialiser les variables dont tu vas te servir, au départ du script.

Pour ce faire, la méthode la plus simple (à mon sens) est la suivante:

Tu crées un fichier initvar.php dans lequel tu vas initialiser les variales de la sorte:

<?php
$var= ( isset ( $_REQUEST['var'] ) ) ? $_REQUEST['var'] : '';
?>
pour toi ce sera:
$nom = ( isset ( $_REQUEST['nom'] ) ) ? $_REQUEST['nom'] : '';

Ensuite, au départ de ton script, tu inclus initvar.php, comme cela:

<?php
include "initvar.php";

le reste de ton script...

Mais surtout, quel est le message d'erreur ?

xpatval

Posté
De plus, il est fortement conseillé d'initialiser les variables dont tu vas te servir, au départ du script.

Ah, un sujet qui m'intéresse :)

Pourrais tu m'expliquer pourquoi cela est conseillé ? je tripote un peu MySQL et j'aimerais vraiment pouvoir optimiser mes scripts.

Posté

Initialiser ses variables au début du script peut avoir une certaine importance.. logique.

En fait, un programme prend des parametres en début de script, les traite, et execute des actions. Mais logiquement, on ne commence pas le programme pour analyser au beau milieu de celui-ci, les parametres qui ont été entrées au début.

De plus, le controle des variables en début de script conditionne le script dans sa globalité. Par exemple, tu ne peux envoyer d'entetes (header) si d'autres données ont déjà été envoyées.

Par contre, je déconseille fortement l'utilisation de la variable $_REQUEST. On doit savoir si l'on envoie une données d'une page à une autre en method POST ou GET, et c'est une erreur de récupérer

dans un 'super tableau' l'une ou l'autre.

Un exemple : vous faites un formulaire, que vous envoyez en method POST, vous récupérer les données en method REQUEST, en pensant que ca récupérera les données de la méthode POST, alors que quelqu'un pourrait très bien ajouter des champs dans l'url, ce qui ferait passer le REQUEST en methode GET.

Nico.

Posté (modifié)
Par contre, je déconseille fortement l'utilisation de la variable $_REQUEST.
.

En partie d'accord avec Anonymous, à ceci près: à mon (petit) niveau de programmeur php, il m'arrive parfois d'avoir, pour une variable, l'utilisation des deux méthodes (POST et GET), suivant l'action proposée dans les pages. Dans ce cas, l'utilisation du $_REQUEST règle l'affaire. Je n'ai pas trouvé d'autres solutions. A moins qu'il soit possible de tester quelle méthode est employée lors de la réception d'un paramètre.

xpatval

Modifié par xpatval
Posté
Plusieurs méthodes pour ce faire:

Et puis ensuite, il faudra essayer de séparer véritablement la partie html, du code php.

xpatval

<{POST_SNAPBACK}>

PAr rapoort à ces deux méthodes, est ce que la deuxieme est melleure que la première ou bien le fait de sortir le HTML des éléments PHP ne change rien ?

Posté
PAr rapoort à ces deux méthodes, est ce que la deuxieme est melleure que la première ou bien le fait de sortir le HTML des éléments PHP ne change rien ?

Il faudrait normalement séparer le php du html, car même si les deux s'implémentent mutuellement, leur utilité n'est pas la même.

Je préfère la deuxième méthode, par souci de clarté dans le html, car il est beaucoup plus simple de trouver une erreur de "" dans du html que dans du php générant du html, surtout si ton script fait 500 lignes (je pense à des lignes de ce genre:

<?php
print "<div class=\"classcss\" style=\"margin: 5px;\">". $i['var'] ."<span class=\"...\">" etc...

Ne serait-il pas mieux de faire un include du <td> avec la requête dans le tableau ?

C'est à dire ? je n'ai pas compris ta question.

xpatval

Posté

Ne lui complique pas la chose avec les includes

Pour ma part, je te conseille d'aller voir ici : http://www.phpdebutant.org

On ne conduis pas tout de suite.. d'abord, on a une phase d'apprentissage :)

Ensuite pour ce qui est du $_REQUEST, je ne l'utilise pas.

Lorsque je transmet mes variables des 2 facons, je le fais ainsi :

$var = $_POST["var"];

if ($var == "" )

$var = $_GET["var"];

Naturellement, j'utilise une fonction pour virer tout ce qui est espace, quote, slash.... toussa quoi :)

++

Portekoi

Posté
Il faudrait normalement séparer le php du html, car même si les deux s'implémentent mutuellement, leur utilité n'est pas la même.

Je préfère la deuxième méthode, par souci de clarté dans le html, car il est beaucoup plus simple de trouver une erreur de "" dans du html que dans du php générant du html, surtout si ton script fait 500 lignes (je pense à des lignes de ce genre:

<?php
print "<div class=\"classcss\" style=\"margin: 5px;\">". $i['var'] ."<span class=\"...\">" etc...

oui, quand on a un gros code, c'est vrai que c'est plus clair de faire cette séparation nette : niveau efficacité ca change quelque chose ?

Posté (modifié)

Je ne saurais répondre à ta question, Ex_Floodeur. IL faudrait faire un tuning entre code séparé et non-séparé, je suppose, et encore, pour des scripts comportant 95 boucles imbriquées... ^_^

<table>
<tr>
<?php include ('requete_sql.php'); ?>
</tr>
</table>

Tu imagines, si tu dois faire 20 sauts de lignes, avec 65 cellules, dans requête_sql.php ? et que tu loupes un simple </tr> ? c'est vite le foutoir...

xpatval

ps: tiens, il faudrait que je teste if (!($_POST['var']))...

Modifié par xpatval
Posté

en fait, je me pose la question car tu très bien avoir ton PHP explosé en 50 petits morceaux dans ton code : n'est ce pas trop chiant pour le serveur ?

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...