djbabou
Messages postés155Date d'inscriptiondimanche 21 octobre 2007StatutMembreDernière intervention23 novembre 2015
-
29 nov. 2010 à 21:45
djbabou
Messages postés155Date d'inscriptiondimanche 21 octobre 2007StatutMembreDernière intervention23 novembre 2015
-
1 déc. 2010 à 14:09
Bonjour,
Après mon problème de calendrier, j'ai un souci avec le nombre exact de ligne que me retourne mes requêtes.
J'ai un petit album photo que je conçoit en récupérant les données dans une table album de ma base mysql.
Voici une partie de code :
Bonjour
<?php
//creation de la requete d'affichage
$requete2= "select * from reserv_album a, reserv_voiture v where a.id_voiture=v.id_voiture and v.categorie='A'";
$resultat=mysql_query($requete2) or die(mysql_error());
while($row2=mysql_fetch_array($resultat))
{?>
//on affiche la photo en taille normale
<?php
echo\" * ".$row2['titre']."
";
echo" : ";
?>
Ma question est la suivante : J'ai un seul affichage alors que dans ma base j'ai deux résultats.
En fait, sa m'affiche bien la première ligne de ma bd mais pas la seconde.
J'utilisais une boucle for avant, mais sa ne change rien don j'ai retiré et remplacer par la boucle while.
Comment expliquer cela ? C'est sur que c'est un problème de codage, mais je ne vois vraiment pas ce qui peut la causer.
Pourriez vous regarder mon bout de code, et me dire ce que vous trouvez louche svp ?
En fait, pour l'affichage, j'utilise entre autre du javascript, pour que lorsque l'on clique sur une miniature, elle s'affiche en taille normal.
Un fichier css pour la définition de mes éléments.
cod57
Messages postés1653Date d'inscriptiondimanche 7 septembre 2008StatutMembreDernière intervention11 septembre 201319 30 nov. 2010 à 10:50
bonjour
si tu mets ça avant le while ça te dit quoi ?
$num_rows = mysql_num_rows($resultat);
echo "$num_rows enregistrements\n";
</dl> ?? ça doit arreter le code
<?php
//creation de la requete d'affichage
$requete2="select * from reserv_album a, reserv_voiture v where a.id_voiture=v.id_voiture and v.categorie='A'";
$resultat=mysql_query($requete2) or die(mysql_error());
while($row2=mysql_fetch_array($resultat))
{?>
//on affiche la photo en taille normale
<?php
echo\" * ".$row2['titre']."
";
echo" : ";
?>
djbabou
Messages postés155Date d'inscriptiondimanche 21 octobre 2007StatutMembreDernière intervention23 novembre 2015 30 nov. 2010 à 14:23
Alors, je pense avoir avancé!
Maintenant j'ai bien l'affichage complet des résultats de ma requête sql.
2 choses :
-> sur ma page php, je déclarait deux fois un tableau associatif : mysql_fetch_array($resultat)
-> ensuite, j'ai passé tout mon code en php. J'ai fait des echo de chacune de mes lignes, supprimant ainsi les balises <?php et ?> et html.
Mon code ressemble maintenant à sa :
<?php
//creation de la requete d'affichage
$requete2= "select * from reserv_album a, reserv_voiture v where a.id_voiture=v.id_voiture and v.categorie='A'";
djbabou
Messages postés155Date d'inscriptiondimanche 21 octobre 2007StatutMembreDernière intervention23 novembre 2015 30 nov. 2010 à 21:52
Petite remarque
Pour l'affichage du premier résultat, tout marche nikel. Aucun souci : en cliquant sur les miniatures on a bien l'image qui s'affiche en taille normal dans la div réservé à cela.
Cependant, pour les autres résultats de la requete, quand je clique sur les miniatures, sa m'ouvre mes images dans une nouvelles fenetres, et non plus dans la div.
Est-ce normal ? Y a t-il un moyen d'éviter cela ? Merci de vos réponses.
Vous n’avez pas trouvé la réponse que vous recherchez ?
djbabou
Messages postés155Date d'inscriptiondimanche 21 octobre 2007StatutMembreDernière intervention23 novembre 2015 1 déc. 2010 à 14:09
slt a tous!
Je pense avoir trouvé mon problème. en fait il s'agit de ma fonction JavaScript.
Dans mon html, je fait appel à une fonction pour afficher les miniatures en tailles réelles.
Malheureusement, en ayant plusieurs résultats pour ma requete, la fonction qui se charge quand on ouvre la page n'attribue les bons éléments aux photos qu'à la première ligne. Je vais la modifier pour voir si j'arrive à changer sa.
la voici cette fonction
function displayPics()
{
var photos = document.getElementById('galerie_mini') ;
// On récupère l'élément ayant pour id galerie_mini
var liens = photos.getElementsByTagName('a') ;
// On récupère dans une variable tous les liens contenu dans galerie_mini
var big_photo = document.getElementById('big_pict') ;
// Ici c'est l'élément ayant pour id big_pict qui est récupéré, c'est notre photo en taille normale
var titre_photo = document.getElementById('photo').getElementsByTagName('dt')[0] ;
// Et enfin le titre de la photo de taille normale
// Une boucle parcourant l'ensemble des liens contenu dans galerie_mini
for (var i = 0 ; i < liens.length ; ++i) {
// Au clique sur ces liens
liens[i].onclick = function() {
big_photo.src = this.href; // On change l'attribut src de l'image en le remplaçant par la valeur du lien
big_photo.alt = this.title; // On change son titre
titre_photo.firstChild.nodeValue = this.title; // On change le texte de titre de la photo
return false; // Et pour finir on inhibe l'action réelle du lien
};
}
}
window.onload = displayPics;
// Il ne reste plus qu'à appeler notre fonction au chargement de la page