Problème de syntaxe avec la commande [Résolu/Fermé]

Signaler
Messages postés
15
Date d'inscription
lundi 24 mars 2008
Statut
Membre
Dernière intervention
17 octobre 2012
-
Messages postés
15
Date d'inscription
lundi 24 mars 2008
Statut
Membre
Dernière intervention
17 octobre 2012
-
Bonjour,

Afin d'éviter d'avoir à taper une multitudes de lignes pour déclarer mes pages valides en faisant comme ci-dessous

<?
$pageOK = array('CRIN001' => 'pages/CRIN001.php',
'CRIN002' => 'pages/CRIN002.php',
'CRIN003' => 'pages/CRIN003.php',
etc.....);
?>

j'aurais aimé pouvoir remplacer toutes ses lignes par une seule faisant appel à ma base de données qui contient déjà toutes ces informations.

Et obtenir ainsi un code qui ressemblerait à ça :

<?
include("sql.php");
include("connection.php");

$result = mysql_query("SELECT * from articles order by no");

$pageOK = array(

while ($row = mysql_fetch_array($result))

{'$row[ref]' => 'pages/$row[ref].php'});

mysql_close();
?>

J'ai beau tourner mon code dans tous les sens, je suis persuadée qu'à force j'ai dû rajouter des erreurs de ponctuation et de parenthèse un peu partout, mais rien à faire pour que ça marche, et je n'arrive pas non plus à trouver la solution sur les forums.

J'en suis à me demander si celà ne serait finalement pas du domaine de l'impossible.

Merci d'avance de vos réponses.

5 réponses

Messages postés
453
Date d'inscription
samedi 19 janvier 2008
Statut
Membre
Dernière intervention
23 octobre 2012
111
Essaye qqch comme :
<?php
include("sql.php");
include("connection.php");

$result = mysql_query("SELECT * from articles order by no");
$pageOK = array( 'aaa' );
while( $row = mysql_fetch_array( $result ) )
	{
	$t = $row[ 'ref' ] => 'pages/' . $row[ 'ref'] . 'php';
	$pageOK = array_merge( $pageOK, $t );
	}
mysql_close();

unset( $pageOK[ 0 ] );

echo '<pre>'; print_r( $pageOK ); echo '</pre>';
?>
Messages postés
15
Date d'inscription
lundi 24 mars 2008
Statut
Membre
Dernière intervention
17 octobre 2012

Merci pour la réponse,

Cependant, pris tel quel, le code ne fonctionne pas et me retourne le message d'erreur suivant :

"Parse error: parse error in g:\serveur\www\pageok.php on line 8"

(la ligne 8 chez moi étant la 4 ici)
Messages postés
453
Date d'inscription
samedi 19 janvier 2008
Statut
Membre
Dernière intervention
23 octobre 2012
111
Pourrais-tu renvoyer ton script qui provoque une erreur en ligne 8.
Messages postés
15
Date d'inscription
lundi 24 mars 2008
Statut
Membre
Dernière intervention
17 octobre 2012

Alors,

J'appelle la pageok.php depuis ma page index.php qui est la suivante :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
</head>
<style type='text/css'>@import url(style.css);</style>
<body>

<?
include("pageok.php");
if ( (isset($_GET['page'])) && (isset($pageOK[$_GET['page']])) ) {
include($pageOK[$_GET['page']]);
} else {
include("pages/CONF001.php");
}
?>


<?
include("sql.php");
include("connection.php");
$result = mysql_query("SELECT * from articles where categorie='Crinolines' order by no");
while ($row = mysql_fetch_array($result)){
echo "
<a href='index.php?page=$row[ref]'><img src='img/mini/$row[categorie]/$row[ref].png' height='50'></a>";
}
mysql_close();
?>

</body>
</html>

et ma page pageok.php est exactement celle que tu m'as envoyée.

(Désolée de la longueur de ce code que j'ai tenté d'alléger un tantinet quand même )
Messages postés
453
Date d'inscription
samedi 19 janvier 2008
Statut
Membre
Dernière intervention
23 octobre 2012
111
Désolé, il y a une légère erreur dans le script que je t'ai envoyé dans mon message de 19h24

Le script suivant ne provoque pas d'erreur :

<?php
include("sql.php");
include("connection.php");

$result = mysql_query("SELECT * from articles order by no");
$pageOK = array( 'aaa' );
while( $row = mysql_fetch_array( $result ) )
	{
	$t = array( $row[ 'ref' ] => 'pages/' . $row[ 'ref'] . 'php' );
	$pageOK = array_merge( $pageOK, $t );
	}
mysql_close();

unset( $pageOK[ 0 ] );

echo '<pre>'; print_r( $pageOK ); echo '</pre>';
?>
Messages postés
15
Date d'inscription
lundi 24 mars 2008
Statut
Membre
Dernière intervention
17 octobre 2012

Merci beaucoup,

J'ai dû rajouter un "." juste avant le 'php' dans la ligne de la variable $t, mais comme ça ça fonctionne.

Merci infiniment, tu viens de m'éviter plusieurs centaines de lignes de code à saisir.