Jump to content
Sign in to follow this  
burinho

mise en page php

Recommended Posts

bonjour, je suis arrivé a ecrire sur ma BDD, a recupere des infos de la base.

mais comment faire pour faire une mise en page correct

Share this post


Link to post
Share on other sites

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

Edited by xpatval

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

merci,

j'ai trouvé mon erreur, je pense que je n'ai pas du mettre quelque chose correctement en commantaire.

maintenant ça marche

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites
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

Edited by xpatval

Share this post


Link to post
Share on other sites
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 ?

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Je voulais dire :

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

Share this post


Link to post
Share on other sites
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 ?

Share this post


Link to post
Share on other sites

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']))...

Edited by xpatval

Share this post


Link to post
Share on other sites

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 ?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...