Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/05/2011, 12h54   #1
Invité de passage
 
Homme
Inscription : mai 2011
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : mai 2011
Messages : 2
Points : 0
Points : 0
Par défaut Problème mysql selection ambigue

Bonjour,

Je suis débutant en programmation. J'ai un site web ayant des problèmes de double contenant.

J'ai un gros problème. J'ai 15 fournisseurs par exemple. Le problème consiste la pagination du site. J 'ai fournisseur-1.html
fournisseur-2.html fournisseur-3.html fournisseur-4.html etc...

Lorsque je veux accéder au fournisseur fournisseur-2.html ou fournisseur-3.html l'adresse dans le navigateur est: fournisseur-1_2a.html plus la pagination exemle: 1-3a, 1_4a etc...Lorsque je veux accéder au fournisseur fournisseur-4.html l'adresse dans le navigateur est fournisseur-1_4d.html et la pagination est 1_4d, 1_5d, 1_6d etc...
Ensuite j’ai le même problème pour les catégories puissances.

J'ai trouvé une erreur dans mon adresse web.

Voici le code:

Code php :
1
2
3
4
if(isset($_GET['f1id'])) { $criter = "fournisseur='".intval($_GET['f1id'])."'"; $table = "fournisseur";}
 
elseif(isset($_GET['f2id'])) {$criter = "cert LIKE '%,".intval($_GET['f2id']).",%'"; $table = "produit_puissance";}
else{}
ici, il sélectionne la base de donnée des produits. Mais le tableau concernant les fournisseur et les puissances, ne sont pas sélectionné.
Code php :
$nr_rows = $db->num_rows("select * from produit where $criter and activ=1 order by id desc");


Ici il fait la pagination. Il fait le choix de la catégorie avec cela: 'fournisseur':'produit_puissance' et met par défaut facom.
Code php :
1
2
3
4
5
if($c_var_ps>1) {
$t->set_var('PAGE',pagination(@$_GET['p'],$c_var_ps,((isset($_GET['f1id']))?'fournisseur':'produit_puissance').'/facom_'.((isset($_GET['f1id']))?intval($_GET['f1id']):intval($_GET['f2id'])).'-p_%page%.html'));
} else {
$t->set_var('PAGINATION','');
}


Donc, il faut sélectionner toutes les bases de données concernées. '.ident($subcat['nume']).'
Exemple
Code php :
1
2
$nr_fournisseur = $db->num_rows("select * from fournisseur where $criter and activ=1 order by id desc");
$nr_puissance = $db->num_rows("select * from outil where $criter and activ=1 order by id desc");

Et l'introduire dans l'URL.
Code php :
'.iden($nr_fournisseur['nom']).':'.iden($nr_puissance['nom']).'

J'ai essayé en faisant cela mais ça n'a pas fonctionné. Pourriez vous me dire comment, je pourrais intégrer les deux nouvelles nom, dans l'url ?


Le problème c'est que dois sélectionner deux table dans la base de donné et mettre une condition d'égalité

Table produit

Id title fournisseur desc …… actif

Table fournisseur

Id nom description actif


La condition c'est que l'id de la table fournisseur doit être éga,l à la colonne fournisseur et si c'est égal alors, il doit récupérer le nom du fournisseur. Mais il doit sélecter la totalité de la base produit et seulement une information nom de l'autre table.

Voici maintenant comment on la sélectionne:

Code :
select * from produit where $criter and activ=1 order by id desc
gabriel123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2011, 15h20   #2
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Architecte de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2004
Messages : 1 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
Je pense que vous vous êtes trompé de forum... vous êtes sur le forum SQL Server ici...
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h53.


 
 
 
 
Partenaires

Hébergement Web