une image réussi / mais plusieurs j'arrive pas :(

Eléphant du PHP | 417 Messages

20 juin 2011, 00:03

Bonsoir a tous le monde je vais essayer d'explique bien mon problème afin que vous pussiez m'aide :

mon problème je veux récupérer les données enregistrer dans une table voici la table :
Image

en gros je fait une requête : SELECT * FROM image WHERE id_portfolio = ".$id; // le $id c'est le id_portfolio que j'ai dans la table

après cette requête je veux récupérer les information suivant de tous les 3 enregistrement : id_img nom_img chemin_img legende_img desc_img

et les enregistrer dans des variable différents exemples :

Id_img1 = 17
id_img2 = 18
id_img3 = 20
nom_img1 = 17.jpg
nom_img2 = 18.jpg
........ (la meme chose pour le chemin_img legende_img et desc_img)

mais j'arrive pas :s
*************************************************************************************
sachant que avant qd j'ai une image ça si facile je fait comme ça :
$sql2 ="SELECT *
						FROM image
						WHERE id_portfolio = ".$id; 
				$requete2 = mysql_query( $sql2, $cnx );
				$result2 = mysql_fetch_object( $requete2 );
$path 			= $result2->chemin_img;
				$legende_img	= $result2->legende_img;
				$desc_img		= $result2->desc_img;
				$id_img			= $result2->id_img;
				$nom_img		= $result2->nom_img;
mais pour plusieurs c'est un peu compliquer pour moi :s
j'espère que vous avez bien compris mon problème

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

20 juin 2011, 12:49

salut,

pourquoi ne pas utiliser un tableau ? parce que bon le principe c'est que tu ne va pas savoir le nombre de tuple retourné ?

tu n'utilise pas de boucle pour récupérer tous les tuples donc tu ne va pouvoir en récupérer qu'un seul ;) me tuto qui va bien
<?php
$sql2 ="SELECT *
                                                FROM image
                                                WHERE id_portfolio = ".$id;
                                $requete2 = mysql_query( $sql2, $cnx );
while ( $result2 = mysql_fetch_object( $requete2 ) ) {
                                $path[]                = $result2->chemin_img;
                                $legende_img[]    = $result2->legende_img;
                                $desc_img[]         = $result2->desc_img;
                                $id_img[]             = $result2->id_img;
                                $nom_img[]          = $result2->nom_img;
}
?>
@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 417 Messages

21 juin 2011, 09:53

ça march ;) merci

Mammouth du PHP | 568 Messages

22 juin 2011, 10:53

Tu peux aussi mapper une classe sur le schéma de ta base et stocké directement l'objet dans une collection.

Ex:
class img {

private $id_img = null;
public $nom_img = null;
public $id_portfolio = null;
public $chemin_img = null;
public $legende_img = null;
public $desc_img = null;

public function setId($id) {
$this->id = $id;
}
}
Et dans ta boucle tu créé un objet img et tu le push dans le tableau.
<?php

$array_mes_images = array();

$sql2 ="SELECT *
                                                FROM image
                                                WHERE id_portfolio = ".$id;
                                $requete2 = mysql_query( $sql2, $cnx );
while ( $result2 = mysql_fetch_object( $requete2 ) ) {
$myImg = new img();
$myImg->setId($result2->id_img);
$myImg->chemin_img = $result2->chemin_img;
$myImg->legende_img = $result2->legende_img;
$myImg->desc_img = $result2->desc_img;
$myImg->nom_img = $result2->nom_img;

$array_mes_images[] = $myImg;
}
?>

Eléphant du PHP | 417 Messages

24 juin 2011, 10:09

c'est fait ^^ merci pour ta réponse qd meme

j'ai un autre souci avec le cache :s

enfait des fois qd je modifier une image la modification se fait bien mais au lui de m'afficher la nouvelle image il m'affiche l'ancien sachant qu'il est plus dans la répertoire des images upload et qu'il est remplacer par la nouvelle

j'ai demandé a un pote et il m'as parler d'une histoire des caches qu'il faut supprimé les caches de l'ordi je l'ai fait et sa marche mais je trouve ça pas sympa de supprimer a chaque fois les caches d'ordi

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

24 juin 2011, 20:09

change le nom de l'image ;)

le système de cache des navigateur permet d'éviter d'engorger les demandes pour des choses qui ne change "pas" (par exemple les images de ce forum ne change pas, donc pas besoin de les recharger a chaque fois que tu affiche une page ;)

@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 417 Messages

28 juin 2011, 01:27

change le nom de l'image ;)

le système de cache des navigateur permet d'éviter d'engorger les demandes pour des choses qui ne change "pas" (par exemple les images de ce forum ne change pas, donc pas besoin de les recharger a chaque fois que tu affiche une page ;)

@+
merci moogli j'ai essayé ton truc j'ai pas trouvé d'autre solution de cou j'ai essayé le tien ^^ et ça marche merci encore ^^

et j'ai une autre question en fait moi j'ai une page php pour afficher les enregistrement de la base de données sous forme d'un tableau mais je veu savoir comment faire par exemple pour organisé l'affichage cad quand j'ai plus de 10 enregistrement j'affiche les 10 première et apres en bas un bouton suivant pour afficher les autres? cad 10 enresitrement dans chaque page

pour mieux comprendre comme ici sur le forum on affiche pas toussssss les sujet dans une page mais on affiche 10 ou je sais pas combien avec un bouton de suivant ou page 1 page 2...