Pb avec mysql

aldaris -  
 burnedsyn -
salut,
je suis en train de réaliser un site php pour exposer des photos.
le principe est le suivant :
php va chercher dans mysql les noms de sphotos, et affiche une banderole avec des miniatures de c ees photos. quand l'utilisateur clique dessus, cela affiche l'image en grand sur la page au dezsus de la banderole.
le problème, c'est que mysql me renvoie n'importe quoi quand je passe par le site, alors que quand j'écris la requète directement dans phpmyadmin, ca se passe bien.
voici le bout de code qui va chercher les noms des images, et opur chaque image, ajoute une cellule dans la banderole avec ue miniature de l'image.
<?php
//connexion à la base(non représentée ici)

$result1=mysql_query("SELECT * FROM `photos` WHERE photo LIKE 'pro%' AND photo!='$img'");
$nbre1=mysql_fetch_row($result1);
mysql_free_result($result1);
mysql_close();

foreach($nbre1 as $value)
{$liste=getimagesize("photos/$value.JPG");
$width=$liste[0];
$height=$liste[1];
echo "<td class=\"tdcasephoto\"><a href=\"pro.php?img=$value\"><img src=\"photos/$value.JPG\" width=\"",$width/8,"\" height=\"",$height/8,"\"></a></td>";

}

5 réponses

PhP Messages postés 1774 Statut Membre 606
 
Bonjour,

C'est normal que ça ne fonctionne pas !

Tu utilises chaque champ de la table photos comme s'il s'agissait d'une image. C'est peut être le cas tu me diras ça j'en sais rien, mais ça serait bien la première fois que je verrais un truc pareil ! Normalement si tu as N photos alors dans ta table PHOTOS tu as N enregistrements.

Pourrais-tu poster la structure de ta table PHOTOS ?

0
aldaris
 
--
-- Structure de la table `photos`
--

CREATE TABLE `photos` (
`photo` varchar(30) collate latin1_general_ci NOT NULL,
PRIMARY KEY (`photo`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

--
-- Contenu de la table `photos`
--

INSERT INTO `photos` VALUES ('pro1');
INSERT INTO `photos` VALUES ('pro2');
INSERT INTO `photos` VALUES ('pro3');

pro1, pro2 et pro3 sont les noms de trois photos (qui devraient être affichées!!)
le site est : http://essaisphotos.free.fr/pro.php
il n'y a donc qu'une colonne 'photo' dans la table 'photos'
0
PhP Messages postés 1774 Statut Membre 606
 
Ok

Essai plutôt :

$result1=mysql_query("SELECT * FROM `photos` WHERE photo LIKE 'pro%' AND photo!='$img'"); 

while {$row=mysql_fetch_object($result1))
{ 
	$value = $row->photo;
	$liste=getimagesize("photos/$value.JPG"); 
	$width=$liste[0]; 
	$height=$liste[1]; 
	echo "<td class=\"tdcasephoto\"><a href=\"pro.php?img=$value\"><img src=\"photos/$value.JPG\" width=\"".$width/8."\" height=\"".$height/8."\"></a></td>"; 
}
mysql_free_result($result1); 
mysql_close(); 


0
aldaris
 
super !! ca marche! merci beaucoup !!
pourrais tu me dire ce qui n'allait pas dans mon bout de code ?faut-il nécéssairement utiliser un objet ? (parce que je ne sais pas m'en servir ^^)
merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
burnedsyn
 
Bonjour,
en fait dans ton code
tu n'utilise qu'un seul resultat

$nbre1=mysql_fetch_row($result1);

au lieu de boiucler sur ces resultats

while($nbre1=mysql_fetch_row($result1))

{

ton code pour les cellules ici

}
0