Renseignement requête sql

Fermé
zatox Messages postés 640 Date d'inscription samedi 17 février 2007 Statut Membre Dernière intervention 26 juin 2020 - 2 janv. 2010 à 17:51
zatox Messages postés 640 Date d'inscription samedi 17 février 2007 Statut Membre Dernière intervention 26 juin 2020 - 5 janv. 2010 à 02:07
Bonjour, je me suis trompé j'ai d'abord posté dans webmasterring mais je crois que c'est plutot ici que je dois poster, voici mon problème:

sur le site http://www.plongee-sous-glace.fr/ j'utilise une base sql qui contient 10 tables pour chaque langue. Toutes les tables ont strictement la même structure. Je voudrais savoir s'il est possible de passer dans les ordres sql le nom de la table accédée en paramètre de telle façon que je puisse écrire un seul ordre qui serait appelé par un include chaque fois que j'en ai besoin, le nom de la table serait passé en paramètre, ceci afin de n'avoir pour un seul ordre qu'une seule modif à faire dans le cas d'évolution des tables ? En effet, actuellement, quand je dois faire évoluer mes tables (rajout d'une colonne par exemple, pour un ordre je dois faire 10 modifs. Exemple:
$retour = mysql_query('SELECT chapitre, contenu, groupe, nom_g, position, nom_p, http, videoweb, videoflv, diaporama, nbespace, nbsautligne FROM news_piauplongee_fr ORDER BY groupe DESC, position ASC LIMIT 0, 100');


$retour = mysql_query('SELECT chapitre, contenu, groupe, nom_g, position, nom_p, http, videoweb, videoflv, diaporama, nbespace, nbsautligne FROM centre_piauplongee_fr ORDER BY groupe DESC, position ASC LIMIT 0, 100');


Ces 2 ordres sont identiques, il n'y a que le nom de la table qui change, avec une variable comme nom de table, je n'aurait besoin que d'un seul ordre précédé de l'alimentation de la table à laquelle je veux accéder.
Merci pour vos réponses

8 réponses

XatOr Messages postés 742 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 5 décembre 2010 34
2 janv. 2010 à 17:59
Essaie avec :
"SELECT champ1, champ2 FROM ".{$maTable}


J'ai un doute sur la syntaxe mais il me semble que ce soit ca !
0
XatOr Messages postés 742 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 5 décembre 2010 34
2 janv. 2010 à 18:04
Où ça :
"SELECT * FROM '{$maTable}'"


Merci de me tenir au courant !
0
zatox Messages postés 640 Date d'inscription samedi 17 février 2007 Statut Membre Dernière intervention 26 juin 2020 66
2 janv. 2010 à 18:07
ok merci, je dois m'absenter dès que j'ai fais l'essai je te tiens au courant
0
zatox Messages postés 640 Date d'inscription samedi 17 février 2007 Statut Membre Dernière intervention 26 juin 2020 66
3 janv. 2010 à 00:41
Non ça ne marche pas !
0

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

Posez votre question
XatOr Messages postés 742 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 5 décembre 2010 34
3 janv. 2010 à 14:52
Et ça tout simplement :
$query = "SELECT * FROM ".$maTable;
0
zatox Messages postés 640 Date d'inscription samedi 17 février 2007 Statut Membre Dernière intervention 26 juin 2020 66
4 janv. 2010 à 20:03
Bonsoir, ben non ça marche pas non plus, je sais pas si je vais y arriver !!!! merci pour ton aide si quelqu'un a une idée ?
0
Salut

essaie donc
$matable = "news_piauplongee_fr";
ou
$matable = "centre_piauplongee_fr";
puis
$retour = mysql_query("SELECT chapitre, contenu, groupe, nom_g, position, nom_p, http, videoweb, videoflv, diaporama, nbespace, nbsautligne FROM $matable ORDER BY groupe DESC, position ASC LIMIT 0, 100");
nb: tes apostrophes ont été remplacées par des guillemets pour pouvoir évaluer $matable
0
zatox Messages postés 640 Date d'inscription samedi 17 février 2007 Statut Membre Dernière intervention 26 juin 2020 66
5 janv. 2010 à 02:07
Oauis !!! salut et merci ça marche c'était mes simples quotes dans l'ordre SELECT, avec les guillemets c'est bon encore merci à toi fiu.
Donc solution: l'ordre SELECT doit être entouré par des guillemets et pas des quotes simples.
0