Page 1 sur 3

Petit probleme WHERE

Posté : 30 avr. 2006, 19:39
par alexdarcy
Bonjour
voilà j'ai un petit probleme avec l'affichage des vignettes de ma galerie photos.
Seul s'affiche la vignette de la photo avec le ID 1, comment faire pour afficher toutes les photos vignettes ?
Je pense que le probleme vient de WHERE !
<?
/*Made by moi*/
include_once("config/conf.inc.php");

//requete permettant de recup les infos dans la base de données.

$base2 = new class_db("SELECT * FROM membres");
$base2->next_record();

$actualite  = $base2->Record[actualite];
$id_photo_choisie =$base2->Record[id_photo_choisie];
$prenom  = $base2->Record[prenom];
$nom  = $base2->Record[nom];

//photo
$id_photo_choisie = $base2->Record[id_photo_choisie];
$base = new class_db("SELECT extension FROM photo where id='$id_photo_choisie'");
$base->next_record();
$type = $base->Record[extension];
$photo = "<img src='loge/photo/$id_photo_choisie.$type' height='200' border='0'>";

$base->free();
//Instructions de remplacement dans la page html
$tablo_asso = array(	"<actualite>" => $actualite,
			"<photo>" => $photo,
                                                "<prenom>" => $prenom,
                                                "<nom>" => $nom
			);
//Appel a la fonction de remplacements.
afficher($tablo_asso,"photos_com.html");	

//Fin de connection à la base
$base2->free();	
?>
:oops: :oops: :cry:

Posté : 30 avr. 2006, 19:44
par Cyrano
Forcément : tu ajoutes une clause identifiant une vignette précise, mysql n'en retournera pas davantage.

Posté : 30 avr. 2006, 19:46
par alexdarcy
Forcément : tu ajoutes une clause identifiant une vignette précise, mysql n'en retournera pas davantage.
Bah où ça ??
:oops:

Posté : 30 avr. 2006, 19:49
par Vaedan
4 problèmes majeurs !


1) Le tag PHP

Utilise <?php au lieu de <? pour éviter de futurs problèmes avec le XHTML et le XML.


2) Les tableaux

La bonne syntaxe d'appel d'un tableau est $tableau['colonne'] et non $tableau[colonne].


3) La requête SQL `membres`

Enumère les champs que tu désires récupérer au lieu d'utiliser le joker * afin de simplifier la tâche à MySQL.


4) La requête SQL `photo`

Surement dû au problème numéro 2 ! Utilise un error_reporting( E_ALL ) lorsque tu développes !

Posté : 30 avr. 2006, 19:53
par alexdarcy
Forcément : tu ajoutes une clause identifiant une vignette précise, mysql n'en retournera pas davantage.
Où ça Cyrano ?
:cry:

Posté : 30 avr. 2006, 19:54
par Vaedan
Je pense plutot que le problème vient de ce que je t'ai dit ... Ton $base2->Record[id_photo_choisie] n'est pas défini ...

Posté : 30 avr. 2006, 20:02
par alexdarcy
Je pense plutot que le problème vient de ce que je t'ai dit ... Ton $base2->Record[id_photo_choisie] n'est pas défini ...
comment ça pas défini ?? :oops: :cry:

Posté : 30 avr. 2006, 20:06
par Vaedan
Lis mon post au dessus !

Posté : 30 avr. 2006, 20:11
par alexdarcy
Lis mon post au dessus !
je n'ai pas compris ce que tu voulais dire !

:oops: :oops:

Posté : 30 avr. 2006, 20:50
par alexdarcy
voici ce que g changé :
<?php
/*Made by moi*/
include_once("config/conf.inc.php");

//requete permettant de recup les infos dans la base de données.

$base2 = new class_db("SELECT id_photo_choisie, prenom, ville, cp FROM membres");
$base2->next_record();

$id_photo_choisie =$base2->Record['id_photo_choisie'];
$prenom  = $base2->Record['prenom'];
$ville  = $base2->Record['ville'];
$cp  = $base2->Record['cp'];

//photo
$base = new class_db("SELECT extension FROM photo where id='$id_photo_choisie'");
$base->next_record();
$type = $base->Record['extension'];
$photo = "<img src='loge/photo/$id_photo_choisie.$type' height='150' width='120'>";

$base->free();
//Instructions de remplacement dans la page html
$tablo_asso = array(	"<photo>" => $photo,
                                                "<prenom>" => $prenom,
                                                "<ville>" => $ville,
			"<cp>" => $cp
                                                );
//Appel a la fonction de remplacements.
afficher($tablo_asso,"photos_com.html");	

error_reporting(E_ALL);

//Fin de connection à la base
$base2->free();	
?>
mais ça n'a rien changé :cry:

Posté : 30 avr. 2006, 20:52
par Vaedan
Il faut donc croire que l'id du premier membre est 1 :) Je ne vois pas pourquoi ça changerait puisque si tu fais tourner ton script en boucle, il affichera l'image QUE du premier membre !

EDIT: error_reporting( E_ALL ) se met en début de script :)

Posté : 30 avr. 2006, 20:56
par alexdarcy
Il faut donc croire que l'id du premier membre est 1 :) Je ne vois pas pourquoi ça changerait puisque si tu fais tourner ton script en boucle, il affichera l'image QUE du premier membre !

EDIT: error_reporting( E_ALL ) se met en début de script :)
oui et comment enlever la boucle !
:cry: :oops:

Posté : 30 avr. 2006, 20:57
par Vaedan
Il n'y a pas de boucle là donc ton script retournera toujours l'id image du premier membre !

Posté : 30 avr. 2006, 20:58
par alexdarcy
Il n'y a pas de boucle là donc ton script retournera toujours l'id image du premier membre !
oui et comment faire pour qu'il en soit autrement
:oops:

Posté : 30 avr. 2006, 21:07
par Vaedan
Bah en commençant par nous expliquer de manière détaillée ce que tu désires faire.