Problème de syntaxe avec la commande

Résolu/Fermé
Meili Messages postés 15 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 17 octobre 2012 - 24 mars 2008 à 19:06
Meili Messages postés 15 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 17 octobre 2012 - 24 mars 2008 à 21:37
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

croy Messages postés 453 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 23 octobre 2012 114
24 mars 2008 à 19:24
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>';
?>
0
Meili Messages postés 15 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 17 octobre 2012
24 mars 2008 à 19:43
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)
0
croy Messages postés 453 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 23 octobre 2012 114
24 mars 2008 à 19:56
Pourrais-tu renvoyer ton script qui provoque une erreur en ligne 8.
0
Meili Messages postés 15 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 17 octobre 2012
24 mars 2008 à 20:42
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 )
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
croy Messages postés 453 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 23 octobre 2012 114
24 mars 2008 à 20:56
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>';
?>
0
Meili Messages postés 15 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 17 octobre 2012
24 mars 2008 à 21:37
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.
0