begin process at 2012 05 29 18:56:16
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript et le navigateur

 > 

Autre

 > 

Problème de concaténation d'URL


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème de concaténation d'URL

mercredi 1 juin 2011 à 10:24:41 | Problème de concaténation d'URL

vincevalantine

Bonjour tout le monde,

Merci d'avance pour ceux qui auront la peine de lire, de réfléchir et bien sûr de résoudre le problème auquel je suis confronté.

Tout d'abord, j'ai une fonction JS qui me permet de faire défiler mes images à l'aide d'un tableau. (var diapo = new Array.....voir la fonction ci-dessous)

Ces images défilent mais ont aussi un lien qui permet à un client de voir ces partenaires, donc ces images défilantes sont cliquables.

Je n'en dis pas plus, voici la fonction JS:


----------------------------------------------

// Déclaration des variables globales

var diapo = new Array;
var tab_url = new Array;
var noDiapo = 0;
var noUrl = 0;

/**
* Fonction qui met la liste des images (contenu dans le champ caché de la page HTML générée
* dans le tableau nommé diapo
* et la liste des URL dans le
* tableau nommé tab_url
* */

function SplitTableau()
{
var liste_images = "";
var liste_liens = "";

// On récupère la liste des fichiers contenue dans le champ caché de la page HTML
liste_images = document.getElementById("liste_fichiers").value;

// On récupère la liste des url contenue dans le champ caché de la page HTML
liste_liens = document.getElementById("liste_url").value;

diapo = liste_images.split('//'); // On divise cette liste d'après les séparateurs '//'
tab_url = liste_liens.split('//');

// On compte le nombre d'éléments présents dans le tableau
noDiapo = diapo.length - 1;
noUrl = tab_url.length - 1;
}

/**
* Fonction qui change l'image dans la "div" nommée "diaporama"
*/

function ChangeImage()
{
if (noDiapo == -1)
{
noDiapo = (diapo.length - 1);
}
if (noUrl == -1)
{
noUrl = (tab_url.length - 1);
}
// Si l'élément diaporama est présent dans la page PHP
if (document.getElementById("diaporama"))
{
// On modifie le contenu PHP de la div en y mettant une balise <img> et un lien <a href=".....">
document.getElementById("diaporama").innerHTML = '<a href="' + tab_url[noUrl] + '" target="_blank"><img src="../' + diapo[noDiapo] + '" /></a>';
noDiapo = noDiapo - 1; // On décrémente le no de Diapo pour en afficher une autre le prochain coup
noUrl = noUrl - 1; // On décrémente le no de l'URL pour en afficher une autre le prochain coup
}
setTimeout("ChangeImage()", 5000); // La fonction sera rappelée toutes les 5 sec.
}

----------------------------------------------

Et voici la page PHP abrégée + appel du JS :

----------------------------------------------

<script type="text/javascript">
window.onload=function()
{
SplitTableau();
ChangeImage();
// ...
// appel d'autres fonctions

};
</script>

<?php

echo '<div id="diaporama"></div>';

// accès à la BDD

define("SERVEUR", "db2843.1and1.fr");
define("LOGIN", "dbo355112866");
define("MDP", "dimitri90");
define("MABASE", "db355112866");

// connexion au serveur de BDD MySql
$connexion = mysql_connect(SERVEUR, LOGIN, MDP);

// choix de la base si connexion au serveur réussie
if ($connexion)
// connexion réussie
{
mysql_select_db(MABASE, $connexion);
}
else
{
echo 'Problème à la connexion !';
}
echo '<br />';


// récupération des images et des liens dans la table IMAGE_PUB
$requete = "SELECT * FROM IMAGE_PUB WHERE AffichageImgPub = 1 and CouplagePub = 1;";
// exécution de la requête à travers la connexion et récupération du recordset
$rsDiaporama = mysql_query($requete, $connexion);
$uneDiapo = mysql_fetch_assoc($rsDiaporama);
$liste_images = "";

// ajout d'une variable pour contruire la liste de liens
$liste_liens = "";
$cpt_images = 0;

while ($uneDiapo) {
$nomfic = $uneDiapo["LienImgPub"];
$url = $uneDiapo["LienPub"];

if ($cpt_images > 0) {
$liste_images = $liste_images . "//";
$liste_liens = $liste_liens . "//";
}
$liste_images = $liste_images . $nomfic; // concaténation du fichier image
$liste_liens = $liste_liens . $url; // concaténation de l'url

// passage au n-uplet suivant
$uneDiapo = mysql_fetch_assoc($rsDiaporama);

// incrémentation du compteur
$cpt_images++;
}

// champ caché qui contiendra la liste des fichiers images
echo '<input type="hidden" id="liste_fichiers" value="' . $liste_images . '">';
// champ caché qui contiendra la liste des url
echo '<input type="hidden" id="liste_url" value="' . $liste_liens . '">';

[i]// fermeture connexion[/i]
mysql_close($connexion);

?>
mercredi 1 juin 2011 à 10:36:17 | Re : Problème de concaténation d'URL

vincevalantine

Reformulation :

Bonjour tout le monde,

Merci d'avance pour ceux qui auront la peine de lire, de réfléchir et bien sûr de résoudre le problème auquel je suis confronté.

Tout d'abord, j'ai une fonction JS qui me permet de faire défiler mes images à l'aide d'un tableau. (var diapo = new Array.....voir la fonction ci-dessous)

Ces images défilent mais ont aussi un lien qui permet à un client de voir ces partenaires, donc ces images défilantes sont cliquables.

En fait il y a une sorte de concaténation de l'URL.

Je n'en dis pas plus, voici la fonction JS:

Code Javascript :
// Déclaration des variables globales
      var diapo = new Array;
      var tab_url = new Array;
      var noDiapo = 0;
      var noUrl = 0;

      /**
       * Fonction qui met la liste des images (contenu dans le champ caché de la page HTML générée
       * dans le tableau nommé diapo
       * et la liste des URL dans le
       * tableau nommé tab_url
       * */
      function SplitTableau()
      {
          var liste_images = "";
          var liste_liens = "";

          // On récupère la liste des fichiers contenue dans le champ caché de la page HTML
          liste_images = document.getElementById("liste_fichiers").value;
          
          // On récupère la liste des url contenue dans le champ caché de la page HTML
          liste_liens = document.getElementById("liste_url").value;

          diapo = liste_images.split('//');     // On divise cette liste
          tab_url = liste_liens.split('//');    // d'après les séparateurs '//'

          // On compte le nombre d'éléments présents dans le tableau
          noDiapo = diapo.length - 1;
          noUrl = tab_url.length - 1;
      }

      /**
       * Fonction qui change l'image dans la "div" nommée "diaporama"
       */
      function ChangeImage()
      {
          if (noDiapo == -1)
              {
                  noDiapo = (diapo.length - 1);
              }
              if (noUrl == -1)
              {
                  noUrl = (tab_url.length - 1);
              }
              // Si l'élément diaporama est présent dans la page PHP
            if (document.getElementById("diaporama"))
            {
                // On modifie le contenu PHP de la div en y mettant une balise <img> et un lien <a href=".....">
                document.getElementById("diaporama").innerHTML = '<a href="' + tab_url[noUrl] + '" target="_blank"><img src="../' + diapo[noDiapo] + '" /></a>';
                noDiapo = noDiapo - 1;  // On décrémente le no de Diapo pour en afficher une autre le prochain coup
                noUrl = noUrl - 1;      // On décrémente le no de l'URL pour en afficher une autre le prochain coup
            }
            setTimeout("ChangeImage()", 5000);      // La fonction sera rappelée toutes les 5 sec.
      }




Et voici la page PHP abrégée + appel du JS :


Code Javascript :
<script type="text/javascript">
    window.onload=function()
    {
        SplitTableau();
        ChangeImage();
        // ...
        // appel d'autres fonctions
    };
</script>



Code PHP :
<?php

echo '<div id="diaporama"></div>';

// accès à la BDD
define("SERVEUR", "db2843.1and1.fr");
define("LOGIN", "dbo355112866");
define("MDP", "dimitri90");
define("MABASE", "db355112866");

// connexion au serveur de BDD MySql
$connexion = mysql_connect(SERVEUR, LOGIN, MDP);

// choix de la base si connexion au serveur réussie
if ($connexion)
// connexion réussie
{
    mysql_select_db(MABASE, $connexion);
}
else
{
    echo 'Problème à la connexion !';
}
echo '<br />';


// récupération des images et des liens dans la table IMAGE_PUB
$requete = "SELECT * FROM IMAGE_PUB WHERE AffichageImgPub = 1 and CouplagePub = 1;";
// exécution de la requête à travers la connexion et récupération du recordset
$rsDiaporama = mysql_query($requete, $connexion);
$uneDiapo = mysql_fetch_assoc($rsDiaporama);
$liste_images = "";

// ajout d'une variable pour contruire la liste de liens
$liste_liens = "";
$cpt_images = 0;

while ($uneDiapo) {
    $nomfic = $uneDiapo["LienImgPub"];
    $url = $uneDiapo["LienPub"];

    if ($cpt_images > 0) {
        $liste_images = $liste_images . "//";
        $liste_liens = $liste_liens . "//";
    }
    $liste_images = $liste_images . $nomfic;    // concaténation du fichier image
    $liste_liens = $liste_liens . $url;     // concaténation de l'url

    // passage au n-uplet suivant
    $uneDiapo = mysql_fetch_assoc($rsDiaporama);

    // incrémentation du compteur
    $cpt_images++;
}

// champ caché qui contiendra la liste des fichiers images
echo '<input type="hidden" id="liste_fichiers" value="' . $liste_images . '">';
// champ caché qui contiendra la liste des url
echo '<input type="hidden" id="liste_url" value="' . $liste_liens . '">';

// fermeture connexion
mysql_close($connexion);

?>
mercredi 1 juin 2011 à 17:42:06 | Re : Problème de concaténation d'URL

vincevalantine

Réponse acceptée !
J'ai moi-même résolu mon problème.
Je donne la source si quelqu'un souhaite l'avoir (le script PHP est bon) :

Voici le JS :

Code Javascript :
// Déclaration des variables globales
      var diapo = new Array;
      var tab_url = new Array;
      var noDiapo = 0;
      var noUrl = 0;

      /**
       * Fonction qui met la liste des images (contenu dans le champ caché de la page HTML générée
       * dans le tableau nommé diapo
       * et la liste des URL dans le
       * tableau nommé tab_url
       * */
      function SplitTableau()
      {
          var liste_images = "";
          var liste_liens = "";

          // On récupère la liste des fichiers contenue dans le champ caché de la page HTML
          liste_images = document.getElementById("liste_fichiers").value;
          
          // On récupère la liste des url contenue dans le champ caché de la page HTML
          liste_liens = document.getElementById("liste_url").value;

          diapo = liste_images.split('//');     // On divise cette liste
          tab_url = liste_liens.split('//');    // d'après les séparateurs '//'

          // On compte le nombre d'éléments présents dans le tableau
          noDiapo = diapo.length - 1;
          noUrl = tab_url.length - 1;
      }

      /**
       * Fonction qui change l'image dans la "div" nommée "diaporama"
       */
      function ChangeImage()
      {
          if (noDiapo == -1)
              {
                  noDiapo = (diapo.length - 1);
              }
              if (noUrl == 0)
              {
                  noUrl = (tab_url.length - 1);
              }
              // Si l'élément diaporama est présent dans la page PHP
            if (document.getElementById("diaporama"))
            {
                // On modifie le contenu PHP de la div en y mettant une balise <img> et un lien <a href=".....">
                document.getElementById("diaporama").innerHTML = '<a href=http://' + tab_url[noUrl] + ' target="_blank"><img src="../' + diapo[noDiapo] + '" /></a>';
                noDiapo = noDiapo - 1;  // On décrémente le no de Diapo pour en afficher une autre le prochain coup
                noUrl = noUrl - 1;      // On décrémente le no de l'URL pour en afficher une autre le prochain coup
            }
            setTimeout("ChangeImage()", 5000);      // La fonction sera rappelée toutes les 5 sec.
      }


Cette discussion est classée dans : images, liste, url, green, color


Répondre à ce message

Sujets en rapport avec ce message

zone de liste multicoloNNes et contenant des images [ par hebertsylvain ] J'aurais besoin de créer une zone de liste multicolonnes (2 colonnes) avec dans la premiere une petite icone et dans la seconde un champ texte.Dans ce forcer le rafraîchissement des images sous ie [ par eax ] salutj'aimerais savoir comment faire pour forcer internet explorer à recharger une image sans la relire dans son cache à chaque affichage de la pageme Setpixel (x,y) = color , color = getpixel (x,y) [ par frop01 ] Salut,Je voudrais savoir, s'il existe une fonction de lecture et écriture d'un pixel en javascript ??if réponse==oui { alert ("expliquer");}Merci . Récupération valeur dans liste de selection dynamique [ par jyhes ] Bonjour,C'est certainement un grand classique, mais toutes mes recherches sont restées infructueuses. Ou alors j'ai mal cherché, désolé.Qui fait sa BA ptit prob avec onMouseOver et onMousedown [ par destiny ] voila le code qui est dans un boucle php :                " style="backg Menu vertical particulier [ par GanJasTeR ] Bonjour à tous.Voila je suis en train de réaliser mon portfolio et je bute sur un petit menu que j'ai dessiné mais que je n'aarive pas à coder. Une so Affichage d'une image dans un autre cadre en xhtml - css - javascript [ par Hackers50 ] Bonjour à tous,Ca fait maintenant quelque jour que je cherche une solution à mon problème et j'espère que ce forum où de moins vous pourrez m'aider.Vo Affichage d'une image dans un autre cadre en xhtml - css - javascript [ par Hackers50 ] Bonjour à tous,Ca fait maintenant quelque jour que je cherche une solution à mon problème et j'espère que ce forum où de moins vous pourrez m'aider.Vo bug sous firefox [ par ahmedoo ] Salut, sous IE le style="background-repeat: repeat-y" marche très bien mais évidement sous firefox ça ne marche pas ! Quelqu'un peut regarder ma css mettre en valeur dans une liste [ par JackNUMBER ] bonjour !je souhaiterai savoir comment arriver à mettre en valeurs des éléments dans une liste d'image de cette façon là : <a target="_blank" href="ht


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales