Petit probleme WHERE

Eléphant du PHP | 257 Messages

30 avr. 2006, 19:39

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:

Mammouth du PHP | 19672 Messages

30 avr. 2006, 19:44

Forcément : tu ajoutes une clause identifiant une vignette précise, mysql n'en retournera pas davantage.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 257 Messages

30 avr. 2006, 19:46

Forcément : tu ajoutes une clause identifiant une vignette précise, mysql n'en retournera pas davantage.
Bah où ça ??
:oops:

Eléphant du PHP | 493 Messages

30 avr. 2006, 19:49

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 !

Eléphant du PHP | 257 Messages

30 avr. 2006, 19:53

Forcément : tu ajoutes une clause identifiant une vignette précise, mysql n'en retournera pas davantage.
Où ça Cyrano ?
:cry:

Eléphant du PHP | 493 Messages

30 avr. 2006, 19:54

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 ...

Eléphant du PHP | 257 Messages

30 avr. 2006, 20:02

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:

Eléphant du PHP | 493 Messages

30 avr. 2006, 20:06

Lis mon post au dessus !

Eléphant du PHP | 257 Messages

30 avr. 2006, 20:11

Lis mon post au dessus !
je n'ai pas compris ce que tu voulais dire !

:oops: :oops:

Eléphant du PHP | 257 Messages

30 avr. 2006, 20:50

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:

Eléphant du PHP | 493 Messages

30 avr. 2006, 20:52

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 :)

Eléphant du PHP | 257 Messages

30 avr. 2006, 20:56

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:

Eléphant du PHP | 493 Messages

30 avr. 2006, 20:57

Il n'y a pas de boucle là donc ton script retournera toujours l'id image du premier membre !

Eléphant du PHP | 257 Messages

30 avr. 2006, 20:58

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:

Eléphant du PHP | 493 Messages

30 avr. 2006, 21:07

Bah en commençant par nous expliquer de manière détaillée ce que tu désires faire.