Page 1 sur 1

Séparation php et html

Posté : 01 août 2010, 12:50
par noobuser
Bonjour,

Ma question est la suivante :
J'ai une requête basique en PDO
<?php require_once('connect.php'); ?>
<?php
try
{

$sql="SELECT * from test ";
$qid=$cnx->prepare($sql);
$qid->execute();

while($row=$qid->fetch(PDO::FETCH_OBJ))
{
	echo $row->titre.' '.$row->contenu.'<br />';
}

$qid->closeCursor();

$cnx = null;
}


catch (PDOException $e) 
{	
echo 'N∞ : '.$e->getCode().'<br />';
die ('Erreur : '.$e->getMessage().'<br />');
}
?>
Un select qui récupère des données dans la BDD.
Ensuite un while qui boucle mon résultat et je l'affiche avec un echo.
Ce que je souhaiterais c'est afficher le résultat de cette boucle en dessous dans une partie HTML tout simplement.
Merci d'avance.

Re: Intégrer php et html

Posté : 01 août 2010, 13:03
par noobuser
Une solution que j'ai trouvée:
<?php require_once('connect.php'); ?>
<?php
try
{

$sql="SELECT * from tutoriel ";
$qid=$cnx->prepare($sql);
$qid->execute();

while($row=$qid->fetch(PDO::FETCH_OBJ))
{
	?>
	
		
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <title>Sharetuts</title>
    <style>
    .test{margin-left:155px;}
    </style>
</head>
<body>
	<div class='test'>
    <? echo $row->titre.' '.$row->contenu.'<br />'; ?>
    </div>
</body>
</html>


<?php
/*/On ferme la boucle/*/
}
?>


<?php
/*/	On ferme la connexion	/*/
$qid->closeCursor();
$cnx = null;
}

catch (PDOException $e) 
{	
echo 'N∞ : '.$e->getCode().'<br />';
die ('Erreur : '.$e->getMessage().'<br />');
}
?>



Est-ce une bonne méthode pour intégrer du php dans du HTML?
Merci.

Re: Séparation php et html

Posté : 01 août 2010, 16:56
par stealth35
non c'est pas bon tu boucle tout le html la

ne met que la connexion dans le try...catch, active la gestion d'erreur en warring, ta pas besion de faire un try..catch sur ta requête, ta requete preparer est inutile ici aussi, utilise query a la place :wink:

<?php
    require_once('connect.php');
    $sql="SELECT * from tutoriel ";
    $qid=$cnx->prepare($sql);
    $qid->execute();
?>     
               
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <title>Sharetuts</title>
    <style>
    .test{margin-left:155px;}
    </style>
</head>
<body>
        <div class='test'>
    <?php
    while($row=$qid->fetch(PDO::FETCH_OBJ))
    {
        echo $row->titre.' '.$row->contenu.'<br />'; 
    }
    ?>
    </div>
</body>
</html>


Re: Séparation php et html

Posté : 01 août 2010, 17:57
par noobuser
D'accord, voici mon résultat
<?php require_once('connect.php'); ?>
<?php
try
{

$sql="SELECT * from tutoriel ";
$qid=$cnx->prepare($sql);
$qid->execute();

while($row=$qid->fetch(PDO::FETCH_OBJ))
{
    $tutos[] = $row; 
}

/*/  On ferme la connexion  /*/
$qid->closeCursor();
$cnx = null;
}

catch (PDOException $e) 
{  
echo 'N∞ : '.$e->getCode().'<br />';
die ('Erreur : '.$e->getMessage().'<br />');
}
?>
  
    
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
	<meta http-equiv="content-type" content="text/html; charset=utf-8" />
  <head>
      <title>Sharetuts</title>
      <style>
      .test{margin-left:155px;}
      </style>
  </head>
  <body>
    <div class='test'>
      <?php foreach($tutos as $v): ?>
               <p><?php echo $v->titre; ?></p>
            <?php endforeach; ?>
      </div>
  </body>
  </html>

Re: Séparation php et html

Posté : 01 août 2010, 19:50
par stealth35
while($row=$qid->fetch(PDO::FETCH_OBJ))
{
    $tutos[] = $row;
}
c'est inutile dans ce cas la utilise fetchAll

Re: Séparation php et html

Posté : 02 août 2010, 18:13
par noobuser
Ok merci beaucoup :)