8791 sujets

Développement web côté serveur, CMS

Bonjour, j'ai un problème de syntaxe que je comprends pas.

Mon fichier : config.inc.php

$server = 'localhost';
$user = 'asdfasdf';
$pass = 'asdfasdf';
$db = 'bmark';
$pref = 'user_';

$connection = mysql_connect($server, $user, $pass)
or die ("Could not connect to server ... \n" . mysql_error ());
mysql_select_db($db)
or die ("Could not connect to database ... \n" . mysql_error ());

Ici, j'ai mis $pref = "user_"

Mais dans mysql et php, comment je mets ça?

actuellement, j'ai :

$result = mysql_query("SELECT * FROM pre_bmark ORDER BY id ASC") or die(mysql_error());
while($row = mysql_fetch_array( $result )) {
.....
}

Je veux pouvoir dans config.inc.php changer "pre_" sans changer dans tous mes fichiers.
Je pense que c'est une variable que ça prends mais ici, je ne sais pas comment le faire.

Un aide est appréciée!
Merci.
Dan.
salut...

D'abord un rappel des règles du forum, les extrait de code doivent être entouré de la balise [ code ] [ /code ] pour une bonne lisibilité...

et donc..

ça n'a rien de compliqué c'est une des bases à connaitre en php.. la concaténation...

ta requête devrait ressembler à ceci :


$result = mysql_query("SELECT * FROM ".$pref."bmark ORDER BY id ASC") or die(mysql_error()); 


ainsi lors de l'interprétation du code par php $pref sera remplacé dans ton cas par user_
Modifié par pchlj (07 Sep 2010 - 23:27)
Salut,

pas sûr d'avoir tout compris mais en général on défini une constante dans le fichier de configuration de ce genre :
define('PREFIXE_TABLE', 'pre_');
et on l'utilise dans les requêtes :
$sql = 'Select * FROM '.PREFIXE_TABLE.'matable';
Désolé pour l'encadrement absent.
J'étais très fatigué.

Je vais essayer ça.

Merci à vous deux pour vos réponses!
C'est apprécié!

Smiley biggrin

pchlj a écrit :
salut...

D'abord un rappel des règles du forum, les extrait de code doivent être entouré de la balise [ code ] [ /code ] pour une bonne lisibilité...

et donc..

ça n'a rien de compliqué c'est une des bases à connaitre en php.. la concaténation...

ta requête devrait ressembler à ceci :


$result = mysql_query("SELECT * FROM ".$pref."bmark ORDER BY id ASC") or die(mysql_error()); 


ainsi lors de l'interprétation du code par php $pref sera remplacé dans ton cas par user_
Je trouve la variante
$result = mysql_query("SELECT * FROM {$pre}_bmark ORDER BY id ASC") or die(mysql_error());

beaucoup plus lisible que la version concaténée, mais c'est une question de goût.
Salut Quentin,

c'est effectivement une affaire de goût mais personnellement je préfère la version concaténée, tout simplement parce que dans mon éditeur de code cela affiche les variables d'une autre couleur que le reste de la chaîne et que du coup cela facilite la relecture. Par contre je ferais sûrement comme toi si j'utilisais JAWS.
Un autre détails que je ne savais pas.
Merci!
J'aime bien utiliser define("",""); quand c'est possible. Je sais qu'il y a d'autres méthode que j'ai vu comme blabla['truc'] -> "asdf"; je sais pas, je vais à l'image mentale.

QuentinC a écrit :
Je trouve la variante
$result = mysql_query("SELECT * FROM {$pre}_bmark ORDER BY id ASC") or die(mysql_error());

beaucoup plus lisible que la version concaténée, mais c'est une question de goût.