Bonjour à tous
J'ai aujourd'hui une page nommée equipe.php dont le contenu est le suivant:
<?php
$date=date(Y);
include("inc/connect.php");
$connexion =mysql_connect($serveur,$utilisateur,$mdp)
or die ("Impossible d'&eacute;tablir de connexion"); $data= mysql_select_db($db,$connexion) or die ("S&eacute;lection impossible");

$requete ="SELECT photos FROM yrneh_photos order by ID ASC";
$resultat = mysql_query($requete) or die ("Ex&eacute;cution impossible");
$nblignes = mysql_num_rows($resultat);

$requete2 ="SELECT nom, titre, annee, Annee2 FROM yrneh_photos order by ID ASC";
$resultat2 = mysql_query($requete2) or die ("Ex&eacute;cution impossible");
$nblignes2 = mysql_num_rows($resultat2);
echo "<h1>L'&eacute;quipe</h1>";

echo "<table class='equipe' summary='Equipe du roman'>";


$a=0;
while($ligne = mysql_fetch_array($resultat)){
if($a%7==0){
echo "<tr>";
}
echo"<td class='perso'>";
echo '<a href="#"><img src="./photos/';
echo $ligne['photos'];
echo '" width="auto" height="auto" alt=""/></a>';
echo "</td>";

if($a%5==4){
}
$a++;
}
echo "</tr>";

$b=0;
while($ligne2 = mysql_fetch_array($resultat2)){
if($b%7==0){
echo "<tr>";
}
echo "<td class='perso'>";
echo $ligne2['nom'];
echo "<br />";
echo $ligne2['titre'];
echo "<br />";
echo $ligne2['annee'];
echo "-";
if ($ligne2['nom']=='Arnaud Roussel')
{
echo $date;
}
else {
echo $ligne2['Annee2'];
}

echo "</td>";
if($b%5==4){
}
$b++;
}

echo "</tr>";
echo "</table>";

echo "<br />";
echo "<p>Tous les noms et les lieux sont d&eacute;pos&eacute;s et prot&eacute;g&eacute;s par un copyright</p>";
?>


Je veux la transposer dans une page php nommée lang_main.php dont la structure est ainsi:
?php
$date=date(Y);

include("inc/connect.php");
$connexion =mysql_connect($serveur,$utilisateur,$mdp)
or die ("Impossible d'&eacute;tablir de connexion"); $data= mysql_select_db($db,$connexion) or die ("S&eacute;lection impossible");

[b][#red]<!-- requête de la page equipe.php-->-->[/#][/b]
$requete ="SELECT photos FROM yrneh_photos order by ID ASC";
$resultat = mysql_query($requete) or die ("Ex&eacute;cution impossible");
$nblignes = mysql_num_rows($resultat);

$requete2 ="SELECT nom, titre, annee, Annee2 FROM yrneh_photos order by ID ASC";
$resultat2 = mysql_query($requete2) or die ("Ex&eacute;cution impossible");
$nblignes2 = mysql_num_rows($resultat2);

/////////////////////////////////////////////////////////////////////////////////////////
//Equipe
$site_lang['equipe']="
<h1>L'&eacute;quipe</h1>
<table class='equipe' summary='Equipe du roman'>
[b][#red]<!--Je veux insérer le code de l'autre page ici-->[/#][/b]
</table>

<br />
<p>Tous les noms et les lieux sont d&eacute;pos&eacute;s et prot&eacute;g&eacute;s par un copyright</p>";

/////////////////////////////////////////////////////////////////////////////////////////
// Accueil du site
$site_lang['accueil']="<h1>Bienvenue sur le site de la derni&egrave;re chronique d'Yrneh</h1>
<h4>Je suis heureux de vous accueillir sur le site du roman que j'ai &eacute;crit &agrave; partir de 2002 et que j'ai tent&eacute; de faire publier en 2004 aupr&egrave;s d'une maison d'&eacute;dition nomm&eacute;e Bragelonne. D&eacute;sormais apr&egrave;s avoir remis &agrave; jour le site et fait une ultime passe sur la correction je lance une cagnotte sur Leetchi et Kisskiss-bankbank pour m'autopublier. Il s'agit de mon premier roman que j'ai maintes fois remani&eacute; depuis dix ans mais que j'ai trop longtemps laiss&eacute; de c&ocirc;t&eacute;. J'invite toutes les bonnes &acirc;mes &agrave; se joindre au projet pour lui donner une dimension 
encore plus grande et compl&eacute;ter une partie des rubriques dont je n'ai plus le temps de m'occuper 

Modifié par Baldric (29 Mar 2021 - 23:52)
Merci pour les PDO mais c'est pas ce qu'il me faut, du coup j'ai avançons à tatons et j'arrive presque au résultat attendu mais j'ai un message "d'erreur"

0=0 while(Array = mysql_fetch_array(Resource id #6)){ if(0%7==0){ } if(0%5==4){ } 0++ } 0=0 while(Array = mysql_fetch_array(Resource id #7)){ if(0%7==0){ }

Arnaud Roussel
Auteur du Roman
2003 - if (Arnaud Roussel=='Arnaud Roussel') { 2021 } else { $date } if(0%5==4){ } 0++ }

code original


$requete ="SELECT photos FROM yrneh_photos order by ID ASC";
$resultat = mysql_query($requete) or die ("Ex&eacute;cution impossible");
$nblignes = mysql_num_rows($resultat);

$requete2 ="SELECT nom, titre, annee, Annee2 FROM yrneh_photos order by ID ASC";
$resultat2 = mysql_query($requete2) or die ("Ex&eacute;cution impossible");
$nblignes2 = mysql_num_rows($resultat2);
$a=0;
$b=0;
$ligne = mysql_fetch_array($resultat);
$ligne2 = mysql_fetch_array($resultat2);
$photo = $ligne['photos'];
$nom = $ligne2['nom'];
$titre = $ligne2['titre'];
$annee = $ligne2['annee'];
$annee2 = $ligne2['Annee2'];
$annee2 = $ligne2['Annee2'];

$final = "
$a=0
while($ligne = mysql_fetch_array($resultat)){
if($a%7==0){
<tr>
}
<td class='perso'>
<a href='#'><img src='./photos/$photo' width='auto' height='auto' alt=''/></a>
</td>

if($a%5==4){
}
$a++
}
</tr>

$b=0
while($ligne2 = mysql_fetch_array($resultat2)){
if($b%7==0){
<tr>
}
<td class='perso'>
$nom
<br />
$titre
<br />
$annee
-
if ($nom=='Arnaud Roussel')
{
$date
}
else {
$annee2
}

<td>
if($b%5==4){
}
$b++
}";


code interprété

<h1>L'&eacute;quipe</h1>
<table class='equipe' summary='Equipe du roman'>

0=0
while(Array = mysql_fetch_array(Resource id #6)){
if(0%7==0){
<tr>
}
<td class='perso'>
<a href='#'><img src='./photos/auteur.jpg' width='auto' height='auto' alt=''/></a>
</td>

if(0%5==4){
}
0++
}
</tr>

0=0
while(Array = mysql_fetch_array(Resource id #7)){
if(0%7==0){
<tr>
}
<td class='perso'>
Arnaud Roussel
<br />
Auteur du Roman
<br />
2003
-
if (Arnaud Roussel=='Arnaud Roussel')
{
2021
}
else {
$date
}

<td>
if(0%5==4){
}
0++
}
</tr>
</table>
<br />
<p>Tous les noms et les lieux sont d&eacute;pos&eacute;s et prot&eacute;g&eacute;s par un copyright</p>    </div>
<div class="footer"></div>


Je suis sûr que c'est une question d'initialisation de variable et son incrémentation "++" voir des problèmes de quote ou double quote

Qu'en pensez-vous?
Modérateur
Bonjour,

Les fonctions commençant par "mysql_" ont été supprimé dans php il y a plusieurs années. Il faut un gros coup de chance pour que ça marche encore.

Du coup, je dis comme niuxe : commence déjà par migrer vers pdo.

EDIT: en plus de ça tu mélanges du php et du html sans ajouter les balises <?php et ?> nécessaires. Je ne vois vraiment pas comment ça pourrait fonctionner.

Amicalement,
Modifié par parsimonhi (31 Mar 2021 - 18:53)
Bonjour,
J'i essayé de reproduire ton cas, pour tester en local:
j'ai vite compris que tes codes étaient des morceau incohérents dont on ne sait pas grand chose.
au mieux ta page PHP complète ferait l'affaire, je veux dire une page complète.
Y compris en masquant les mots de passe, "include("inc/connect.php");"
Merci (ne donnes surtout pas le html résultant cela embrouille tout !
OK alors je remets tout à plat. C'est un vieux site que je remets à jour car beaucoup de technologies dessus sont obsolètes: Flash, PHP 5.5, javascript, CSS, XHTML, HTML5, responsive... le but est donc de corriger le code puis de moderniser celui-ci. Et je n'ai pas fait de veille techno depuis plusieurs années.
ma page de base s'appelle equipe.php qui est appelée via un frame.php.
equipe.php est une des 2 pages faisant appel à une base de données les autres pages n'existent pas physiquement car dans frame.php elle sont appelées via une page lang_main.php (afin d'appeler en fonction de la langue du navigateur http://www.last-chronicle.com/frame.php?Language=FR ou http://www.last-chronicle.com/frame.php?Language=EN ...
car dans l'absolu je ne veux avoir qu'un seul fichier à modifier par langue. voici d'abord frame.php - Je suis sûr que j'ai écris des hérésies mais c'était y'a longtemps


<?php 
$cryptinstall="./crypt/cryptographp.fct.php";
include $cryptinstall;
?>

<!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">
<head>
<title>:: Bienvenue sur la page d'accueil de la derni&egrave;re chronique d'Yrneh ::</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link href="last.css" rel="stylesheet" type="text/css" />
<link type="text/css" rel="stylesheet" href="css/jquery.ui.css"></link>
<link type="text/css" rel="stylesheet" href="css/default.css"></link>
<script type="text/javascript" src="extras/all.js"></script>
<script type="text/javascript" src="lib/hash.js"></script>
<script type="text/javascript" src="lib/turn.min.js"></script>
<script type="text/javascript" src="lib/zoom.min.js"></script>
<script type="text/javascript" src="lib/bookshelf.js"></script>
<script type="text/javascript">
<!--/*--><![CDATA[//><!--if (parent!=window){top.location = location.href;}
function popup(page,nom,option) {window.open(page,nom,option);}//--><!]]>
</script>
</head>
<body>

<?php
include("base_Inc.php");
include("inc/connect.php");
$connexion =mysql_connect($serveur,$utilisateur,$mdp)
or die ("Impossible d'&eacute;tablir de connexion"); $data= mysql_select_db($db,$connexion) or die ("S&eacute;lection impossible");
?>
<div class="conteneur">
	<div class="header"></div>
	<?=$site_lang['menu']?>
  <div class="frame">     
<? $go="";
if (isset($_GET['go'])){ $go = $_GET['go'];
	if ($go=="1"){?><?=$site_lang['roman']?><?}
	if ($go=="2"){?><?=$site_lang['interview']?><?}
	if ($go=="3"){?><?=$site_lang['equipe']?><?}
	if ($go=="4"){?><?=$site_lang['credits']?><?}
	if ($go=="5"){?><?=$site_lang['chronologie']?><?}
	if ($go=="6"){?><?=$site_lang['geographie']?><?}
	if ($go=="7"){?><?=$site_lang['langues']?><?}
	if ($go=="8"){?><?=$site_lang['heraldique']?><?}
	if ($go=="9"){?><?=$site_lang['peuples']?><?}
	if ($go=="10"){?><?=$site_lang['creatures']?><?}
	if ($go=="11"){?><?=$site_lang['protagonistes']?><?}
	if ($go=="12"){?><?=$site_lang['genealogie']?><?}
	if ($go=="13"){include('dessins.php');}	
}
else{	?><?=$site_lang['accueil']?><?}
?>
    </div>
<div class="footer"></div>
</div>
</body>
</html>


l'appel d'equipe.php se fait donc par

<? $go="";
if (isset($_GET['go'])){ $go = $_GET['go'];
	if ($go=="13"){include('dessins.php');}<?}

Et l'affichage des 7 membres de l'équipe se fait correctement sans erreur (mais oui je sais sans mysqli ou PDO - ce sera corrigé puisque chez OVH je suis encore en php 5.5 et que je dois passer sur 7.0)
equipe.php:

<?php
$date=date(Y);
include("inc/connect.php");
$connexion =mysql_connect($serveur,$utilisateur,$mdp)
or die ("Impossible d'&eacute;tablir de connexion"); $data= mysql_select_db($db,$connexion) or die ("S&eacute;lection impossible");

$requete ="SELECT photos FROM yrneh_photos order by ID ASC";
$resultat = mysql_query($requete) or die ("Ex&eacute;cution impossible");
$nblignes = mysql_num_rows($resultat);
$requete2 ="SELECT nom, titre, annee, Annee2 FROM yrneh_photos order by ID ASC";
$resultat2 = mysql_query($requete2) or die ("Ex&eacute;cution impossible");
$nblignes2 = mysql_num_rows($resultat2);

echo "<h1>L'&eacute;quipe</h1>";
echo "<table class='equipe' summary='Equipe du roman'>";
$a=0;
while($ligne = mysql_fetch_array($resultat)){
if($a%7==0){
echo "<tr>";
}
echo"<td class='perso'>";
echo '<a href="#"><img src="./photos/';
echo $ligne['photos'];
echo '" width="auto" height="auto" alt=""/></a>';
echo "</td>";
if($a%5==4){
}
$a++;
}
echo "</tr>";
$b=0;
while($ligne2 = mysql_fetch_array($resultat2)){
if($b%7==0){
echo "<tr>";
}
echo "<td class='perso'>";
echo $ligne2['nom'];
echo "<br />";
echo $ligne2['titre'];
echo "<br />";
echo $ligne2['annee'];
echo "-";
if ($ligne2['nom']=='Arnaud Roussel')
{
echo $date;
}
else {
echo $ligne2['Annee2'];
}
echo "</td>";
if($b%5==4){
}
$b++;
}
echo "</tr>";
echo "</table>";
echo "<br />";
echo "<p>Tous les noms et les lieux sont d&eacute;pos&eacute;s et prot&eacute;g&eacute;s par un copyright</p>";
?>


Je veux supprimer la page equipe.php pour que l'appel dans frame.php se fasse ainsi:

<? $go="";
if (isset($_GET['go'])){ $go = $_GET['go'];
	if ($go=="1"){?><?=$site_lang['equipe']?><?}

ceci va donc chercher dans mon fichier lang_main.php (dont j'ai raccourci le code pour lisibilité) contenant ceci:

<?php
$date=date(Y);
//$all="test"; <== ceci était pour un test (embarqué tout le code d'equipe.php dans une variable)

/////////////////////////////////////////////////////////////////////////////////////////
// Accueil du site
$site_lang['accueil']="<h1>Bienvenue sur le site de la derni&egrave;re chronique d'Yrneh</h1>
<h4>blablabla.</h4>
<br />
The last chronicle production&copy; 2002-$date</h4>
<p>Tous les noms et les lieux sont d&eacute;pos&eacute;s et prot&eacute;g&eacute;s par un copyright</p>";

/////////////////////////////////////////////////////////////////////////////////////////
// Menu du site
$site_lang['menu']="
<div id='menu'>
<ul>
<li><a href='#'><img src='img/roman.jpg' alt='' width='242px' height='38px' /></a>
<ul>
<li><a href='frame.php?go=1'>Roman</a></li>
<li><a href='frame.php?go=3'>Equipe</a></li>
</ul>
</li>

<li><a href='#'><img src='img/monde.jpg' alt='' width='242px' height='38px' /></a>
<ul>
<li><a href='frame.php?go=5'>Chronologie</a></li>
</ul>
</li>
</ul>
</div>
";
/////////////////////////////////////////////////////////////////////////////////////////
//Equipe
$site_lang['equipe']="
<h1>L'&eacute;quipe</h1>
<table class='equipe' summary='Equipe du roman'>
//(le code d'equipe.php) <== j'aimerai l'int&eacute;grer ici
</tr>
</table>
<br />
Tous les noms et les lieux sont d&eacute;pos&eacute;s et prot&eacute;g&eacute;s par un copyright</p>";
/////////////////////////////////////////////////////////////////////////////////////////


J'espère avoir été plus clair sur mon code
Modifié par Baldric (01 Apr 2021 - 08:54)
Modérateur
Bonjour,

Remarque en passant : la balise ouvrante "<?" est obsolète dans le monde moderne. Tu en as quelques unes dans ton code. Il faut mettre "<?php". Par contre, la balise "<?=" est toujours utilisable.

Amicalement,
Modérateur
Bonjour,

Baldric a écrit :
J'espère avoir été plus clair sur mon code


On ne comprend rien.

Il y a quoi qui ne marche pas ?

Amicalement,
Modérateur
Bonjour,

Bon, finalement, j'ai peut-être compris.

1) Dans le fichier equipe.php, tu remplaces tes echo par $site_lang['equipe'].=

Attention, c'est bien ".=" et non pas seulement "=".

2) Dans le fichier lang_main.php, tu remplaces :
$site_lang['equipe']="
<h1>L'&eacute;quipe</h1>
<table class='equipe' summary='Equipe du roman'>
//(le code d'equipe.php) <== j'aimerai l'int&eacute;grer ici
</tr>
</table>
<br />

par

$site_lang['equipe']="";
include("equipe.php");

Avec un peu de chance ça devrait marcher mais c'est sans garantie car je n'ai pas testé (il faudrait passer énormément de temps pour bâtir des pages de tests).

EDIT: après, si ça marche, il faudra sans doute encapsuler ce que fait equipe.php dans une fonction (par exemple equipe()). Parce que là, la manière de faire est bien crado. La fonction equipe() retournera une chaine de caractère qui contiendra ce que doit contenir $site_lang['equipe'], et dans le code de lang_main.php, il suffira de mettre alors :

include("equipe.php");
$site_lang['equipe']=equipe();


Amicalement,
Modifié par parsimonhi (02 Apr 2021 - 08:13)
parsimonhi a écrit :
Bonjour,

On ne comprend rien.

Il y a quoi qui ne marche pas ?

Amicalement,


je lance le site www.last-chronicle.com (index.php) ==> je clique sur l'image et j'arrive sur http://www.last-chronicle.com/frame.php?Language=FR (frame.php qui inclus une autre page php nommée lang_main.php) jusque là tout marche. dans le menu je sélectionne equipe.php qui est appelé par le lien
if ($go=="3"){include('equipe.php');}
comme indiqué dans le code posté ==> ça marche sans souci. Ce que je veux c'est que le contenu d'equipe.php soit mis dans lang_main.php où se trouve le contenu de chaque page du site (ne contenant pas de requête SQL" et ainsi abandonné la page equipe.php afin de réduire le nombre de pages "indépendantes" dans mon site. En fait dans la page frame.php à chaque fois que je décide de sélectionner une rubrique tout contenu soit récupérer de lang_main.php et pas sur une autres pages. Dans mon esprit je simplifie, je rationnalise le contenu de mon site.
au final voici à quoi ça ressemblerait (je sais qu'il y a des erreurs de quote...) dans lang_main.php

<?php
$date=date(Y);
include("inc/connect.php");
$connexion =mysql_connect($serveur,$utilisateur,$mdp)
or die ("Impossible d'&eacute;tablir de connexion"); $data= mysql_select_db($db,$connexion) or die ("S&eacute;lection impossible");

$requete ="SELECT photos FROM yrneh_photos order by ID ASC";
$resultat = mysql_query($requete) or die ("Ex&eacute;cution impossible");
$nblignes = mysql_num_rows($resultat);

$requete2 ="SELECT nom, titre, annee, Annee2 FROM yrneh_photos order by ID ASC";
$resultat2 = mysql_query($requete2) or die ("Ex&eacute;cution impossible");
$nblignes2 = mysql_num_rows($resultat2);
/////////////////////////////////////////////////////////////////////////////////////////
// Accueil du site
$site_lang['accueil']="<h1>Bienvenue sur le site de la derni&egrave;re chronique d'Yrneh</h1>
<h4>Je suis heureux de vous accueillir sur le site du roman que j'ai &eacute;crit &agrave; partir de 2002 et que j'ai tent&eacute; de faire publier en 2004 aupr&egrave;s d'une maison d'&eacute;dition nomm&eacute;e Bragelonne. D&eacute;sormais apr&egrave;s avoir remis &agrave; jour le site et fait une ultime passe sur la correction je lance une cagnotte sur Leetchi et Kisskiss-bankbank pour m'autopublier. Il s'agit de mon premier roman que j'ai maintes fois remani&eacute; depuis dix ans mais que j'ai trop longtemps laiss&eacute; de c&ocirc;t&eacute;. J'invite toutes les bonnes &acirc;mes &agrave; se joindre au projet pour lui donner une dimension 
encore plus grande et compl&eacute;ter une partie des rubriques dont je n'ai plus le temps de m'occuper car j'ai décidé de me lancer dans l'&eacute;criture d'un autre roman. Merci &agrave; tous d'avance.</h4>

/////////////////////////////////////////////////////////////////////////////////////////
// Menu du site
$site_lang['menu']="
<div id='menu'>
<ul>
<li><a href='#'><img src='img/roman.jpg' alt='' width='242px' height='38px' /></a>
<ul>
<li><a href='frame.php?go=1'>Roman</a></li>
<li><a href='frame.php?go=2'>Interview</a></li>
<li><a href='frame.php?go=3'>Equipe</a></li>
<li><a href='frame.php?go=4'>Cr&eacute;dits</a></li>
</ul>
</li>
//...
</ul>
</div>
";
/////////////////////////////////////////////////////////////////////////////////////////
//Equipe
$site_lang['equipe']="
<h1>L'&eacute;quipe</h1>
<table class='equipe' summary='Equipe du roman'>
"<h1>L'&eacute;quipe</h1>";

"<table class='equipe' summary='Equipe du roman'>";


$a=0;
while($ligne = mysql_fetch_array($resultat)){
if($a%7==0){
"<tr>";
}
"<td class='perso'>";
'<a href="#"><img src="./photos/';
$ligne['photos'];
'" width="auto" height="auto" alt=""/></a>';
"</td>";

if($a%5==4){
}
$a++;
}
"</tr>";

$b=0;
while($ligne2 = mysql_fetch_array($resultat2)){
if($b%7==0){
"<tr>";
}
"<td class='perso'>";
$ligne2['nom'];
"<br />";
$ligne2['titre'];
"<br />";
$ligne2['annee'];
"-";
if ($ligne2['nom']=='Arnaud Roussel')
{
$date;
}
else {
$ligne2['Annee2'];
}

"</td>";
if($b%5==4){
}
$b++;
}
</tr>
</table>
<br />
<p>Tous les noms et les lieux sont d&eacute;pos&eacute;s et prot&eacute;g&eacute;s par un copyright</p>";
?>
Bon on y voit plus clair, mais qui as écrit ce code ? toi ? parce que ce qui bloque tout ce sont les JS et les feuilles de style qui manquent !
En plus le html résultant n'est pas "propre"
Pour le moment sur cette page dont tu parles régles les sources

Failed to load resource: the server responded with a status of 404 (Not Found)
default.css:1 Failed to load resource: the server responded with a status of 404 (Not Found)
all.js:1 Failed to load resource: the server responded with a status of 404 (Not Found)
turn.min.js:68 Uncaught ReferenceError: jQuery is not defined
    at turn.min.js:68
zoom.min.js:26 Uncaught ReferenceError: jQuery is not defined
    at zoom.min.js:26
bookshelf.js:1 Failed to load resource: the server responded with a status of 404 (Not Found)
default.css:1 Failed to load resource: the server responded with a status of 404 (Not Found)
jquery.ui.css:1 Failed to load resource: the server responded with a status of 404 (Not Found)