Titre automatique en PHP (2ème)

WRInaute discret
Bonjour à tous, je me permets de reposter mon probleme, car je ne suis toujours pas arrivé à le resoudre...
Pourtant pas bien compliqué:
Sur mon site, j'utilise un module de news, en PHP, et quand on lit les news, je souhaiterai afficher le titre de la news comme titre de la page.
Voila toutes les infos qui peuvent servir, si qq'un de bien aimable peux me donner une solution, merci a tous:

Le fichier config.inc.php ne contient que les informations de connexion à la base de donnée
voici le début de la page pour lire les news:
<?
include ("conf.inc.php");
$connect= mysql_connect($host,$login,$pass);
mysql_select_db($base, $connect);
$query = "SELECT * FROM mcnews_design";
$row=mysql_fetch_array(mysql_query($query, $connect));
include ("admin/$row[lang]");
include ("admin/$row[skin]");
$listnews= $row['nbliste'];
$nbnews= $row['nbnews'];
$skin=$row['skin'];
$title =$row['titre'];
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html><!-- InstanceBegin template="/Templates/mod.dwt" codeOutsideHTMLIsLocked="false" -->
<head>
<link rel="icon" href="favicon.ico" type="image/x-icon">
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
<!-- InstanceBeginEditable name="doctitle" -->
<title><?php echo $title; ?></title>

le champ du titre des news sur ma base de donnée s'appelle: titre

Merci a tous!

:idea:
 
WRInaute passionné
Salut,

Moi j'ai juste envie de te donner des conseils dans le codage.

<?
<?php c'est beaucoup mieux

include ("conf.inc.php");
.inc ça sert à rien maintenant à part pour faire style

$connect= mysql_connect($host,$login,$pass);
mysql_select_db($base, $connect);
Première chose à coder avant de développer, une fonction open(); c'est quand même beaucoup plus pratique

$query = "SELECT * FROM mcnews_design";
$row=mysql_fetch_array(mysql_query($query, $connect));
Pourquoi déclarer un query ?
$row=mysql_fetch_array(mysql_query("SELECT * FROM mcnews_design"));


include ("admin/$row[lang]");
include ("admin/$row[skin]");
Connais-tu la différence entre include et require ou le choix est aléatoire ?

$listnews= $row['nbliste'];
$nbnews= $row['nbnews'];
$skin=$row['skin'];
$title =$row['titre'];
La redéfinition ne sert à absolument à rien à part créer un double emplacement mémoire echo $row['titre']; ça marche

?>
 
WRInaute discret
Bonsoir,
Merci pour vos réponses.....
disons que le php et moi, c'est un peu par obligation...
en fait je part d'un tout petit site simple....et petit a petit, le truc grossi, et je suis obligé de placer un module de news sur le site.
J'ai trouvé ce script, mais pas de support, le gars qu'a fait ça a laissé tomber son projet...
Donc la je me dépatouille...et comme je t'ai dis, le PHP j'ai jamais vu ça de prés!
en fait le soucis c (aussi) que la table ne s'appelle pas mcnews_design!!
donc j'essaye de faire....!
Merci pour votre aide
Non je ne connais pas la difference... :wink:
 
WRInaute discret
Bon pour l'instant j'en suis la:
<?php
include ("conf.inc.php");
$connect= mysql_connect($host,$login,$pass);
mysql_select_db($base, $connect);

$query = "SELECT * FROM mcnews_design";
$row=mysql_fetch_array(mysql_query("SELECT * FROM mcnews_design"));
include ("admin/$row[lang]");
include ("admin/$row[skin]");
$listnews= $row['nbliste'];
$nbnews= $row['nbnews'];
$skin=$row['skin'];
$row['titre'];
?>

et pour le titre, alors je mets quoi??
<title><?php echo $title; ?></title>
ne fonctionne pas....
merci
 
WRInaute impliqué
Salut
Je connais pas le script que tu utilises mais fait un petit tour sur phpmyadmin pour connaitre quelle table ou quel champ contient le titre.
Quand tu saura ça, on pourra t'aider.

Merci
 
WRInaute impliqué
Salut
Si tu parle du site de ton profil, j'ai remarqué que le numero de la news était contenu dans la variable $n, j'ai donc conclu qu'il y'avait un champ "n" dans ta
table.
Voici le code qui j'espère va marcher (j'ai pas pu le tester puisque j'ai pas le script).
Code:
<?php
 $n = htmlentities($_GET['n']);
include ("conf.inc.php"); 
mysql_connect($host, $login, $pass); // Connexion à MySQL
mysql_select_db($base); // Sélection de la base 

$reponse = mysql_query("SELECT * FROM blabla WHERE n=$n"); // Requête SQL


// On fait une boucle pour lister tout ce que contient la table :

while ($donnees = mysql_fetch_array($reponse) )
{
?>


<title><?php echo $donnees['titre']; ?></title>


<?php
}

mysql_close(); // Déconnexion de MySQL
?>


S'il y'a des codeurs qui peuvent me doner des conseils ça serait sympa.
 
WRInaute passionné
Salut,

Quelques conseils,

mysql_close(); à executer directement apres le query le fetch n'a pas besoin d'une connexion ouverte


$n = htmlentities($_GET['n']); ?
moi je ferais ça
if(!ereg('[0-9]+', $_GET['n'])) { /* header vers erreur.php */ }


Et enfin, toujours concaténer,
mysql_query("SELECT * FROM blabla WHERE n=".$n)

Voila :)
 
WRInaute impliqué
Salut
Merci dorian53.
Si je comprend bien, tu fait une condition pour verifiet que la variable n contient un chiffre sinon ça redirige vers la page erreur.php .

@+
 
WRInaute discret
Humm, bon ça ce complique un peu pour moi tout ça....!
Y aurait pas une ame charitable qui voudrait bien que je lui envoi le fichier...et qu'il buche dessus?
Parce que la avec toutes vos modifs....;-)
??
 
WRInaute impliqué
Salut
C'est la table mcnews_news qui contient les infos sur la news.
Replace le code que je t'ai donnée avec celui qui est avant
Code:
<!-- InstanceEndEditable -->

Voici le code

Code:
<?php
include ("conf.inc.php");
$connect= mysql_connect($host,$login,$pass);
mysql_select_db($base, $connect);

$query = "SELECT * FROM mcnews_design";
$reponse = mysql_query("SELECT * FROM mcnews_news WHERE n=$n"); // Requête SQL
$row=mysql_fetch_array(mysql_query("SELECT * FROM mcnews_design")); 

mysql_close(); // Déconnexion de MySQL

include ("admin/$row[lang]");
include ("admin/$row[skin]");
$listnews= $row['nbliste'];
$nbnews= $row['nbnews'];
$skin=$row['skin'];
$row['titre'];
$n = htmlentities($_GET['n']);


// On fait une boucle pour lister tout ce que contient la table :

while ($donnees = mysql_fetch_array($reponse) )
{
?>






<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html><!-- InstanceBegin template="/Templates/mod.dwt" codeOutsideHTMLIsLocked="false" -->
<head>
<link rel="icon" href="favicon.ico" type="image/x-icon">
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
<!-- InstanceBeginEditable name="doctitle" -->
<title><?php echo $donnees['titre']; ?></title>
<?php
}
?>

dorian53 j'ai du mal à utiliser ton astuce :(
Je trouve le script que tu utilise pas trop genial. Il ne ferme jamais la connexion Mysql par exemple , leurs requetes ressemble à ça

Code:
$query = "SELECT * FROM mcnews_design";


Si j'ai fais des erreurs merci de me prevenir :wink:

On se retrouve sur msn si tu as besoin de quelque chose :)

A bientot.
 
Discussions similaires
Haut