Pb avec mysql
aldaris
-
burnedsyn -
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>";
}
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>";
}
A voir également:
- Pb avec mysql
- Mysql community download - Télécharger - Bases de données
- Mysql error in file: /engine/classes/mysql.php at line 53 ✓ - Forum Réseaux sociaux
- Le paquet « mysql-server » n'a pas de version susceptible d'être installée ✓ - Forum Debian
- Phpmyadmin a tenté de se connecter au serveur mysql, et le serveur a rejeté la connexion. merci de vérifier les valeurs de host, username et password dans la configuration et de s'assurer qu'elles correspondent aux informations fournies par l'administrateur du serveur mysql. ✓ - Forum PHP
- Access vs mysql - Forum Webmastering
5 réponses
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 ?
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 ?
--
-- 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'
-- 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'
Ok
Essai plutôt :
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();
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question