8795 sujets

Développement web côté serveur, CMS

Bonjour ... ( Hyper débutant que je suis )

J'ai un peu, voir bcp de mal pour rassembler 2 pages qui fonctionnent en une seule.

Sur la première, j'ai du code pour afficher une liste de 10 news.
Sur l'autre, je récupère en GET les infos et j'affiche la news sélectionnée au complet

Sur 2 pages séparées, c'est ok - Mais pour rassembler cela en une page, c'est mission sucide ...

Une idée ???

Voici le code pour ma page listing des news



<?php require_once('../Connections/administration.php'); ?>
<?php 
$reponse = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT 0, 10'); while ($donnees = mysql_fetch_array($reponse) )
{
?>
  <h4>News publi&eacute;e le <?php echo $donnees['date']; ?> &agrave; <?php echo $donnees['jour']; ?></h4>
  <div class= "xxnews"><div class= "couve2">image<img src="../img/news/<?php echo $donnees['photo']; ?>"  alt="vélo, diffu-sciences" width="70" height="70"/></div>
  <h1><a href="getgetgetget.php?id=<?php echo $donnees['id']; ?>"><?php echo $donnees['titre']; ?></a></h1>
  <span class="chapeau"><a href="getgetgetget.php?id=<?php echo $donnees['id']; ?>"><?php echo $donnees['chapeau']; ?></a></span>
  <span class="liens"><a href="getgetgetget.php?id=<?php echo $donnees['id']; ?>">suite...</a></span></div>
<?php
} 
mysql_close(); // Déconnexion de MySQL

?>


>>>>>>>>>>>>>>>>>>>> Et voici le code de ma page de récupération de la news sélectionnée:


<?php require_once('../Connections/administration.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;
}
}

$colname_Recordset1 = "-1";
if (isset($_GET['id'])) {
  $colname_Recordset1 = $_GET['id'];
}
mysql_select_db($database_administration, $administration);
$query_Recordset1 = sprintf("SELECT * FROM news WHERE id = %s", GetSQLValueString($colname_Recordset1, "int"));
$Recordset1 = mysql_query($query_Recordset1, $administration) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);

?>



 <h4>News publi&eacute;e le <?php echo $row_Recordset1['date']; ?> &agrave; <?php echo $row_Recordset1['jour']; ?></h4>
  <div class= "xxvrainews">
  <div class= "couve2"><img src="img/news/<?php echo $row_Recordset1['photo']; ?>"  alt="<?php echo $row_Recordset1['alt']; ?>, diffu-sciences" width="70" height="70"/></div>
  <h1><?php echo $row_Recordset1['titre']; ?></h1>
  <span class="chapeau"><?php echo $row_Recordset1['chapeau']; ?></span>
  <?php echo $row_Recordset1['contenu']; ?>
  <p class="reference"><?php echo $row_Recordset1['signature']; ?><br />
  <?php echo $row_Recordset1['reference']; ?></p>
  </div> 


<?php

mysql_close(); // Déconnexion de MySQL

?>


une idée ?

J'ai essayé pas mal de choses, mais je n'ai que des stress.....

J'ai essayé des trucs du genre:
if(isset($_POST['id']) )


Je souhaiterais que ma page par défaut affiche les 10 news, et ensuite, une fois une news sélectionnée, cela affiche la news au complet , c'est pourtant simple...
Modifié par FranZz (09 Oct 2008 - 10:32)
En fait pour le moment, ces bouts de code sont sur deux pages séparées, et ça fonctionne.

Moi je voudrais les insérer dans la même page

Genre if ($_POST['id']) -> Affichage de ma page avec la news sélectionnée

else -> Affichage de ma page avec les 10 news
Ce que je te conseil dans un premier temps, c'est d'enlever les fermetures de MySQL et de inclure en haut de la page qui accueil les deux pages le fichier ../Connections/administration.php

Et tu pourrai nous donner le code de ta page qui accueil les deux stp ? Smiley smile

Edit : pourquoi $_POST ? C'est plutôt $_GET pour les variables URLs Smiley cligne
Modifié par Odd (08 Oct 2008 - 13:24)
OUI, C'EST BIEN Get ma souris à fourché...

<?php require_once('../Connections/administration.php'); ?>
<!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" xml:lang="fr" lang="fr">
<head>
   <link rel="SHORTCUT ICON" href="../deco/favicon.gif"/>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
   <title>Test ( aux st&eacute;rones)</title>
   <meta name="keywords" content="test" />
   <meta name="description" content="test" />
   <link href="../styles/defaut/style.css" rel="stylesheet" type="text/css" media="screen" />
  <script src="../SpryAssets/SpryEffects.js" type="text/javascript"></script>
</head>
<body>
 <div id="frise"></div>
 <div id="header">  <div id="dansheader"><img src="../deco/header.gif" alt="header"  /></div>
</div>  
  <div id="global">
  <div id="gauche"><div id="menu2">
  <div class="indentmenu">
    <?php include('../include/menu.php'); ?> <!-- nom de l'inculde -->
  </div>
 </div>
</div>
<div id="migauche">
///////////////////////////////////////////
//////////////////////////////////////////
CONTENU à INSéRER ICI
/////////////////////////////////////////
/////////////////////////////////////////

  </div>
    
    
<div id="droite">
    <?php include('../include/partenaires.inc.php'); ?> <!-- nom de l'inculde -->
  </div>
</div><?php include('../include/footer.php'); ?> <!-- nom de l'inculde -->
</body>
</html>


Modifié par FranZz (08 Oct 2008 - 13:40)
Comme condition, met

if(isset($_GET['id']) && $_GET['id'] != '')
{
     include( 'affich_news.php' ); // Change ce nom par le nom de ta page
}
else
{
     include( 'liste_news.php' ); // Idem...
}


Si ce code marche pas, met directement les deux parties en la condition Smiley smile

et enleve les mysql_close(); stp
Modifié par Odd (08 Oct 2008 - 17:05)
Hello_

Bon, ben ça fonctionne pas pour moi.

Je dois laisser tomber ce projet pour le moment.

Merci tout de même.
J'ai parlé un peu trop vite.

Après quelques { inutiles, après quelques ajustements, ça fonctionne avec l'include.


Smiley ravi ++