génerer automatiquement des <div>

Eléphant du PHP | 62 Messages

21 juin 2011, 14:43

bonjour
je veux à travers mon script generer des div afin de pouvoir integrer un script en javascripr pour faire un slide show
voici mon script en php

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="stylesheet" href="css/admin.css" type="text/css" media="screen" /> </head> <body> <div id="carrousel"> <?php include('params.inc.php'); $connect=mysql_connect(MYHOST,MYUSER,MYPASS) or die ('erreur de connexion'); mysql_select_db(MYDB) or die ('erreur de connexion à la base'); $requeteselect = 'SELECT id,lienimage,url FROM images'; $result = mysql_query($requeteselect, $connect); $tableau = array(); $i = 0; while($image_courante = mysql_fetch_array($result,MYSQL_ASSOC)){ //on met toutes les infos dans un tableau $tableau[$image_courante['id']]['url'] = $image_courante['url']; $tableau[$image_courante['id']]['lienimage'] = $image_courante['lienimage']; if($i == 0){ //si il s'agit de la première image on l'affiche echo '<div><a href='.$tableau[$image_courante['id']]['url'].'><img src='.$tableau[$image_courante['id']]['lienimage'].'> </a></div>'; } ++$i; } mysql_close($connect); ?> </div> </form> </body> </html>
or quand j'affiche le code source de ma age lors de l'affichage sur mon navigateur, j'ai qu'une seul div de crée, alors que dans ma base de données , j'ai deux résultat.
merci pour votre aide

Mammouth du PHP | 672 Messages

21 juin 2011, 15:48

Code : Tout sélectionner

if($i == 0){ //si il s'agit de la première image on l'affiche
or quand j'affiche le code source de ma age lors de l'affichage sur mon navigateur, j'ai qu'une seul div de crée, alors que dans ma base de données , j'ai deux résultat.
merci pour votre aide
Et s'il s'agit d'une autre image que la première, on fait quoi ? :mrgreen:

Eléphant du PHP | 62 Messages

21 juin 2011, 15:53

ah oui c'est vrai donc je vais supprimer cette partie la, en laissant que le while, et je vous dit quoi :D :D

Eléphant du PHP | 62 Messages

21 juin 2011, 15:55

ça marche toujours pas méme en modifiant mon code
voici mon nouveau code

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="stylesheet" href="css/admin.css" type="text/css" media="screen" /> </head> <body> <div id="carrousel"> <?php include('params.inc.php'); $connect=mysql_connect(MYHOST,MYUSER,MYPASS) or die ('erreur de connexion'); mysql_select_db(MYDB) or die ('erreur de connexion à la base'); $requeteselect = 'SELECT id,lienimage,url FROM images'; $result = mysql_query($requeteselect, $connect); $tableau = array(); while($image_courante = mysql_fetch_array($result,MYSQL_ASSOC)){ //on met toutes les infos dans un tableau $tableau[$image_courante['id']]['url'] = $image_courante['url']; $tableau[$image_courante['id']]['lienimage'] = $image_courante['lienimage']; echo '<div><a href='.$tableau[$image_courante['id']]['url'].'><img src='.$tableau[$image_courante['id']]['lienimage'].'> </a></div>'; $image_courante++; } mysql_close($connect); ?> </div> </form> </body> </html>

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

21 juin 2011, 20:11

il te faut penser à bien utiliser les balise html, donc mettre les " pour tous les attributs htmlt (<img src="image" /> et non <img src=image>)

qui plus est tu peux largement simplifier le code en supprimant les tableaux dans la boucle while (ils sont inutile tu dispose déjà des infos).

j'ai testé rapidement ton script :
- faut vraiment que tu revois ta classe de "réduction" des images, car celle ci fait un "crop" et non une réduction, pire quand l'image est trop petite elle l'augmente ... tuto sur le sujet => Comment faire une galerie de miniature
- faire un code html valide
- utiliser mysql_free_result() après une requête sql.

un code fonctionnel
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <link rel="stylesheet" href="css/admin.css" type="text/css" media="screen" />
</head>
<body>
     <div id="carrousel">
   <?php
              // include('params.inc.php');
               $connect=mysql_connect(MYHOST,MYUSER,MYPASS) or die ('erreur de connexion');
               mysql_select_db(MYDB) or die ('erreur de connexion à la base');
               $requeteselect = 'SELECT id,lienimage,url FROM images';
               $result = mysql_query($requeteselect, $connect);
               $tableau = array();
               while($image_courante = mysql_fetch_array($result,MYSQL_ASSOC)){
                  //on met toutes les infos dans un tableau                  
                     echo '<div>
                         <a href="'.$image_courante['url'].'">
                             <img src="'.$image_courante['lienimage'].'"> </a></div>';
                       $image_courante++;
               }
               mysql_free_result($result);
               mysql_close($connect);      
   ?>
   </div>
</form>
</body>
</html>
ça serait plutot sympa si tu pouvais utiliser la balise php (y a un bouton juste au dessus de la boite de saisie) le code en couleur c'est vachement mieux ;)


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