Artophix
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.


 
AccueilRechercherDernières imagesS'enregistrerConnexion
Le deal à ne pas rater :
Bon plan achat en duo : 2ème robot cuiseur Moulinex Companion ...
600 €
Voir le deal

 

 [avis] Au niveau du codage php et (x)html

Aller en bas 
3 participants
AuteurMessage
Sangodams

Sangodams


Nombre de messages : 15
Date d'inscription : 13/05/2006

[avis] Au niveau du codage php et (x)html Empty
MessageSujet: [avis] Au niveau du codage php et (x)html   [avis] Au niveau du codage php et (x)html EmptySam 13 Mai - 23:35

Voilà qu'il y a un petit mois, je me suis lancé dans la création d'un petit blog perso (marre de skyblog ^^), que je code donc moi-même (comme un grand Very Happy). Je voudrais donc avoir différents avis, si possible argumentés et justifiés. Je signale juste que je n'attend aucun commentaire au niveau du design, très basique, fait très vite fait sur Photoshop pour pouvoir le coder. Smile

Voici le lien.

Je vais seulement vous donner le code des pages index.php et commentaires.php, les autres n'ont pas tellement grand intêret. Copiez puis collez le code suivant dans notepad ++, ça sera plus pratique Smile

Index.php

Code:


<h1>Sango's blog</h1>

<p>Bonjour et bienvenue sur mon blog ^^. Il est pour le moment très incomplet, vu que le codage n'est pas encore au point, alors je vous demande de patienter un peu. Merci beaucoup, Sangodams. :)</p>
     
        <?php
        mysql_connect("localhost", "root", "");
        mysql_select_db("database");
     
        $limit_par_page = 4;  // Modifiez ce nombre pour changer le nombre de news affichées par page
        ?>
     
     
        <?php
if(isset($_GET['page'])) //Pour voir si la variable n'est pas déclaree
{
$page = $_GET['page']; //On la récupère
$page = $page - 1; // -1 car elle sert pour savoir a partir de quel enregistrement on commence la sélection
}
else
{
$page = 0;
}
?>


<?php
$from = $page * $limit_par_page; //1er enregistrement. ex : 1*10 = 10eme, 2*10 = 20eme
$sql = mysql_query("SELECT * FROM news WHERE valide = '1' ORDER BY id DESC LIMIT $from,$limit_par_page") //La requête
?>

     
<?php
while($donnees = mysql_fetch_array($sql))
{
?><hr />
        <h3>
                <?php echo $donnees['titre']; ?> <br />
             
                <em>Ecrit par <?php echo $donnees['pseudo']; ?>, le <?php echo date('d/m/Y \à H\hi', $donnees['timestamp']); ?></em>
        </h3>
     
        <p>
        <?php
        //On enlève les éventuels antislash PUIS on crée les entrées en HTML (<br />)
        $contenu = nl2br(stripslashes($donnees['contenu']));
        echo $contenu;
        ?>
        </p>
      
            <a href="commentaires.php?idnews=<?php echo $donnees['id']; ?>&amp;titrenews=<?php echo stripslashes($donnees['titre']); ?>&amp;page=1">
<?php /*Combien a–t–on de commentaires sur cette news ?*/
$infos_com = mysql_query('SELECT COUNT(*) AS nb_com FROM commentaires WHERE idnews=' . $donnees['id']);
$donnees_com = mysql_fetch_array($infos_com);
$totalDesCommentaires = $donnees_com['nb_com'];
echo $totalDesCommentaires;
?> commentaire(s)  </a>

<?php
}  // Fin de la boucle des news
?>

     
<?php
$sql2 = mysql_query("SELECT COUNT(*) AS nb_msg FROM news");
$donnees2 = mysql_fetch_array($sql2);
$nb_msg = $donnees2['nb_msg'];
?>


<?php
$nb_pages = ceil($nb_msg / $limit_par_page); //Le nombre de page = nombre de message divisé par la limite du nombre de messages par page
?>

<p class="center"> <b>Pages :</b>  <!-- Ouverture d'un paragraphe pour mettre "pages" devant les numéros -->
<?php
for($page=1;$page<=$nb_pages;$page++)
{
?>

<a href="index.php?page=<?php echo $page; ?>"><?php echo $page; ?> -</a>
<?php
}
?>
</p> <!-- Fermeture du paragraphe pour mettre page devant les numéros -->

<?php
mysql_close();
?>


Et maintenant voici commentaires.php

Code:

<h1>Ecrire un commentaire</h1>

<?php

mysql_connect("localhost", "root" , "");
mysql_select_db("database");


// On récupère la news qui nous intéresse
$retour = mysql_query('SELECT * FROM news WHERE id =' . $_GET['idnews']);
$donneesnews = mysql_fetch_array($retour);
?>
        <div class="bloc_news">
                <h3 class="news"><?php echo $donneesnews['titre']; ?><br />
               
                        <em>Ecrit par <?php echo $donneesnews['pseudo']; ?>, le <?php echo date('d/m/Y à H\hi', $donneesnews['timestamp']); ?></em></h3>
               

                <div>
                        <?php
                        //On enlève les éventuels antislash PUIS on crée les entrées en HTML (<br />)
                        $contenu = nl2br(stripslashes($donneesnews['contenu']));
                        echo $contenu;
                        ?>
                </div>
        </div>
<?php

$limit_par_page = 10;  // Nombre de commentaires par page
?>

<?php
if(isset($_GET['page'])) //Pour voir si la variable n'est pas déclaree
{
$page = intval($_GET['page']) - 1; //On la récupère // –1 car elle sert pour savoir a partir de quel enregistrement on commence la sélection
}
else
{
$page = 0;
}
?>

<?php
$from = $page * $limit_par_page; //1er enregistrement. ex : 1*10 = 10eme‚ 2*10 = 20eme
?>

<?php
$sql2 = mysql_query("SELECT COUNT(*) AS nb_msg FROM commentaires WHERE idnews=" . $_GET['idnews'] . " "); // On compte le nombre de commentaires pour la news
$donnees2 = mysql_fetch_array($sql2);
$nb_msg = $donnees2['nb_msg'];
?>
<hr />
<h3 class="commentaire"><? echo $nb_msg; ?> commentaire(s)</h3>

<?php
$retour = mysql_query('SELECT * FROM news WHERE id =' . $_GET['idnews']);
$donneesnews = mysql_fetch_array($retour);
?>

<p class="commentaire"><a href="ajout_commentaire.php?idnews=<?php echo $donneesnews['id']; ?>&amp;titrenews=<?php echo stripslashes($donneesnews['titre']); ?>">Ajouter un commentaire</a></p>
<hr />

<table>
 <tr class="gras"><td class="15">Ecrit par</td><td class="20">Date</td><td class="45">Message</td></tr>

<?php
$sql = mysql_query("SELECT * FROM commentaires WHERE idnews=" . $_GET['idnews'] . " LIMIT $from‚ $limit_par_page");

while($donnees = mysql_fetch_array($sql))
{
$pseudo = stripslashes($donnees['pseudo']);
$message = stripslashes($donnees['message']);
$date = date('d/m/Y', $donnees['timestamp']);
$heure = date('H\hi', $donnees['timestamp']);
?>
 <tr><td class="15"><span class="gras"><?php echo '' . $pseudo . '' ?></span></td><td class="20"><?php echo ' le ' . $date . ' &agrave; ' . $heure ?></td><td class="45"><?php echo '' . $message . '' ?></td></tr>
<?php
}  // Fin de la boucle des commentaires
?>
</table>
<?php
$nb_pages = ceil($nb_msg / $limit_par_page); //Le nombre de page = nombre de message divisé par la limite du nombre de messages par page

if($nb_msg != 0)
{
?>
<p class="commentaire">Page : 
<?php
}
elseif(nb_msg == 0)
{
        echo '<p>Il n\'y a aucun commentaire de cette news pour le moment.</p>';
}

for($page=1;$page<=$nb_pages;$page++)
{
if($page==($_GET['page']))
{
echo $page;
}
else
{
?>

<?php  // On remet les infos des news contenues dans la BDD dans un array sinon php ne se souvient pas‚ et les variables id et titre des news ne sont pas transmises aux différentes pages
$retour = mysql_query('SELECT * FROM news WHERE id =' . $_GET['idnews']);
$donneesnews = mysql_fetch_array($retour);
?>

<a href="commentaires.php?idnews=<?php echo $donneesnews['id']; ?>&amp;titrenews=<?php echo stripslashes($donneesnews['titre']); ?>&amp;page=<?php echo $page; ?>"><?php echo $page;?></a>

<?php
}
}
?>
</p>

<?php
mysql_close();
?>

Vous l'aurez remarqué, j'ai seulement laissé la partie php, puisque le code xHTML est sans grand intêret. Merci pour votre franchise.
Revenir en haut Aller en bas
http://sangodams.free.fr
J2L
Modérateur



Masculin
Nombre de messages : 117
Age : 30
Logiciel(s) graphique utilisé(s) : Photoshop 7, Dreamweaver MX 2004 Pro, FTP Expert 3, Apache 2.2, MySQL 5, PHP 5, Flash 8 (Pro)
Date d'inscription : 03/06/2006

[avis] Au niveau du codage php et (x)html Empty
MessageSujet: Re: [avis] Au niveau du codage php et (x)html   [avis] Au niveau du codage php et (x)html EmptySam 3 Juin - 3:19

J'ai quelques conseils :
Tu peux eviter la concatenation dans les echos simple genre
<?php echo '' . $pseudo . '' ?> à remplacer par <?php echo $pseudo; ?> Et puis il doit y avoir suremement une erreur car l'instruction n'est pas fermée...
Aussi au lieu d'utiliser des mysql_fetch_array fait plutot des mysql_fetch_assoc !

Voilà, bonne chance ! Wink
Revenir en haut Aller en bas
http://www.newsfast.new.fr/
moa18e

moa18e


Masculin
Nombre de messages : 259
Age : 34
Logiciel(s) graphique utilisé(s) : Paint (toujours)
Date d'inscription : 25/05/2006

[avis] Au niveau du codage php et (x)html Empty
MessageSujet: Re: [avis] Au niveau du codage php et (x)html   [avis] Au niveau du codage php et (x)html EmptySam 3 Juin - 5:19

J2L a écrit:
Aussi au lieu d'utiliser des mysql_fetch_array fait plutot des mysql_fetch_assoc !

Quelle est la différence entre les deux, aussi infime soit-elle ?
Revenir en haut Aller en bas
J2L
Modérateur



Masculin
Nombre de messages : 117
Age : 30
Logiciel(s) graphique utilisé(s) : Photoshop 7, Dreamweaver MX 2004 Pro, FTP Expert 3, Apache 2.2, MySQL 5, PHP 5, Flash 8 (Pro)
Date d'inscription : 03/06/2006

[avis] Au niveau du codage php et (x)html Empty
MessageSujet: Re: [avis] Au niveau du codage php et (x)html   [avis] Au niveau du codage php et (x)html EmptySam 3 Juin - 5:42

Ben array retourne un tableaux alors que assoc retourne seulement les entrés sans les ID ! ce qui fait donc qu'elle est moins lourde et donc plus rapide Smile
Revenir en haut Aller en bas
http://www.newsfast.new.fr/
moa18e

moa18e


Masculin
Nombre de messages : 259
Age : 34
Logiciel(s) graphique utilisé(s) : Paint (toujours)
Date d'inscription : 25/05/2006

[avis] Au niveau du codage php et (x)html Empty
MessageSujet: Re: [avis] Au niveau du codage php et (x)html   [avis] Au niveau du codage php et (x)html EmptySam 3 Juin - 5:53

Si y a pas les ID, ça peut être moins pratique aussi dans certains cas, non ?
Revenir en haut Aller en bas
J2L
Modérateur



Masculin
Nombre de messages : 117
Age : 30
Logiciel(s) graphique utilisé(s) : Photoshop 7, Dreamweaver MX 2004 Pro, FTP Expert 3, Apache 2.2, MySQL 5, PHP 5, Flash 8 (Pro)
Date d'inscription : 03/06/2006

[avis] Au niveau du codage php et (x)html Empty
MessageSujet: Re: [avis] Au niveau du codage php et (x)html   [avis] Au niveau du codage php et (x)html EmptySam 3 Juin - 6:27

Non non
On ne sert sert pas de ça dans les requetes !
Ca revient au même plus rapidement c'est tout Smile
Revenir en haut Aller en bas
http://www.newsfast.new.fr/
Sangodams

Sangodams


Nombre de messages : 15
Date d'inscription : 13/05/2006

[avis] Au niveau du codage php et (x)html Empty
MessageSujet: Re: [avis] Au niveau du codage php et (x)html   [avis] Au niveau du codage php et (x)html EmptySam 3 Juin - 14:00

J2L a écrit:
J'ai quelques conseils :
Tu peux eviter la concatenation dans les echos simple genre
<?php echo '' . $pseudo . '' ?> à remplacer par <?php echo $pseudo; ?> Et puis il doit y avoir suremement une erreur car l'instruction n'est pas fermée...
Aussi au lieu d'utiliser des mysql_fetch_array fait plutot des mysql_fetch_assoc !

Voilà, bonne chance ! Wink

Merci pour tes conseils. Smile

Pour ce qui est de la concaténation, j'ai juste pris l'habitude, autant le faire partout que ne pas le faire Wink

Faut que je me renseigne au sujet de ce mysql_fetch_assoc...

Encore merci Smile
Revenir en haut Aller en bas
http://sangodams.free.fr
J2L
Modérateur



Masculin
Nombre de messages : 117
Age : 30
Logiciel(s) graphique utilisé(s) : Photoshop 7, Dreamweaver MX 2004 Pro, FTP Expert 3, Apache 2.2, MySQL 5, PHP 5, Flash 8 (Pro)
Date d'inscription : 03/06/2006

[avis] Au niveau du codage php et (x)html Empty
MessageSujet: Re: [avis] Au niveau du codage php et (x)html   [avis] Au niveau du codage php et (x)html EmptyLun 12 Juin - 5:28

Petite amelioration de ta premièré page :

<?php
echo'<h1>Sango's blog</color></color>';
echo'
</color>Bonjour et bienvenue sur mon blog^^.Il est pour le moment très incomplet,vu que le codage n'est pas encore au point, alors je vous demande de patienter un peu. Merci beaucoup, Sangodams. Smile</p>';

mysql_connect("localhost","root","");
mysql_select_db("database");
$limit_par_page=4; // Modifiez ce nombre pour changer le nombre de news affichées par page

if(isset($_GET['page']))//Pour voir si la variable n'est pas déclaree
{
$page=$_GET['page'];
$page=$page-1;

}
else
{
$page=0;
}
$from=$page*$limit_par_page;
$sql=mysql_query("SELECT * FROM news WHERE valide = '1' ORDER BY id DESC LIMIT $from, $limit_par_page");

while(
$donnees=mysql_fetch_array($sql))
{
echo
'
<h3>'
.$donnees['titre'].'
'
;

echo
'Ecrit par '.$donnees['pseudo'].', le '.date('d/m/Y \à H\hi',$donnees['timestamp']).'</h3><p>';

$contenu=nl2br(stripslashes($donnees['contenu']));
echo
$contenu;
echo
'';

$infos_com=mysql_query('SELECT COUNT(*) AS nb_com FROM commentaires WHERE idnews='.$donnees['id']);
$donnees_com=mysql_fetch_assoc($infos_com);
$totalDesCommentaires=$donnees_com['nb_com'];

echo
$totalDesCommentaires;
echo
'commentaire(s)
';
}
$sql2=mysql_query("SELECT COUNT(*) AS nb_msg FROM news");
$donnees2=mysql_fetch_array($sql2);

$nb_msg=$donnees2['nb_msg'];
$nb_pages=ceil($nb_msg/$limit_par_page);//Le nombre de page = nombre de message divisé par la limite du nombre de messages par page
echo'<p> Pages :';

for(
$page=1;$page</color>
Revenir en haut Aller en bas
http://www.newsfast.new.fr/
Contenu sponsorisé





[avis] Au niveau du codage php et (x)html Empty
MessageSujet: Re: [avis] Au niveau du codage php et (x)html   [avis] Au niveau du codage php et (x)html Empty

Revenir en haut Aller en bas
 
[avis] Au niveau du codage php et (x)html
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Bug dans le codage
» Question(s) sur le HTML et/ou PHP
» Votre avis

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Artophix :: Programmation :: ı_Création de site web_ı-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser