Jointure entre les bases.

Répondre
Datavinn
le 24/07/2003 à 15:19
Datavinn
Voila mon pb,
j'ai deux bases :

Illustration :
- titre_illus (clé primaire)
- type_illus
- date_illus
- img_illus
- descr_illus
- imgnew_id

imgnews :
- imgnew_id (clé primaire)
-img_new

Je voulais faire une jointure entre les deux et j'ai inséré "imgnew_id" dans la première. Le problème c'est que je ne peux pas mettre auto_increment pour celui de la base illustration (la clé primaire étant déjà en auto_increment), de plus je sais pas si le code apprécie le fait que je mette deux int ?

Du coup j'ai un message d'erreur :
Column count doesn't match value count at row 1

Quelqu'un a une idée svp ?
Gniok !
LA GLOBULE
le 24/07/2003 à 15:40
LA GLOBULE
Bon, entre tes deux tables, la jointure s'opere où ? Avec quels attributs ? Et lequels sont auto_increment ?
LA GLOBULE
le 24/07/2003 à 15:42
LA GLOBULE
Generallement, la jointure se passe comme ceci :

tu as une table avec une cle primaire.
tu retrouves cette cle en tant que cle etrangere dans une autre table.

Et la jointure se fait entre ces deux attributs.
Datavinn
le 24/07/2003 à 15:58
Datavinn
Les clés primaires sont :
- imgnew_id pour la table imgnews
- id_illus pour la table illustration

La clé étrangère est id_illus dans la table illustration (faut le précisé dans le code de création de table qu'elle est une "clé étrangère" ?).

Mon code d'affichage :
http://www.lephpfacile.com/wall/lire_wall.php?wall=538
Celui d'isertion :
http://www.lephpfacile.com/wall/lire_wall.php?wall=539
et celui du traitement :
http://www.lephpfacile.com/wall/lire_wall.php?wall=540

Le pb c'est qu'il me marque :
Column count doesn't match value count at row 1
Gniok !
Datavinn
le 24/07/2003 à 15:59
Datavinn
La clé étrangère est imgnew_id dans la table illustration

desolé
Gniok !
LA GLOBULE
le 24/07/2003 à 17:31
LA GLOBULE
$sql = 'SELECT titre_illus, type_illus, img_illus, descr_illus FROM illustration AND illustration.imgnew_id = imgnews.imgnew_id';


Deja la, il y a un probleme.
En effet, il te manque un where.
De plus, dans le from, tu dois mettre tes deux tables pour faire la jointure.
Datavinn
le 24/07/2003 à 18:09
Datavinn
Et comme ca ?

$nb_vignettes_a_afficher= 5;
// lancement de la requête. on sélectionne les vignettes
$sql = 'SELECT imgnews.imgnew_id FROM imgnews, illustration where illustration.titre_illus and illustration.type_illus and illustration.img_illus and illustration.descr_illus and imgnews.img_new ORDER BY imgnew_id DESC'.$nb_news_a_afficher.';';


J'ai été revoir le cours, ca devrait être bon si j'ai bien compris ?
Gniok !
Répondre
LoadingChargement en cours