Visioneuse d'image pb de naviquation sur le tab source de données

Kikuts Messages postés 159 Date d'inscription jeudi 11 janvier 2007 Statut Membre Dernière intervention 5 novembre 2010 - 28 avril 2008 à 18:12
Kikuts Messages postés 159 Date d'inscription jeudi 11 janvier 2007 Statut Membre Dernière intervention 5 novembre 2010 - 29 avril 2008 à 10:10
Bonjour ! Dans le cadre du developpement d'un site Internet de présentation de produit, je dois insérer une visionneuse d'image coté visuel (partie non administré : pr les clients)

J'ai trouvé une source sur ce fofo :

//Code de la source :

var nom = new objet ("produit_34.jpg", "produit_35.jpg", "produit_4.jpg");

function objet()
{
this.length = objet.arguments.lengthfor (var i 0; i < this.length; i++) this[i+1] objet.arguments[i]
}

function suivante(){    numero +1;    if (numero nom.length + 1) numero = 1;
 document.image.src = dossier+nom[numero];
}

function precedente()
{    numero -1;    if (numero 0) numero = nom.length;
    document.image.src = dossier+nom[numero];
}

function changer()
{    numero +1;    if (numero nom.length + 1) numero = 1;
    document.image.src = dossier+nom[numero];
    roll=setTimeout("changer()", 1500);
}

function initial()
{
    window.clearTimeout(roll);  document.image.src = dossier+nom[numero];
}

Voila. J'ai modifier la partie var comme suit :

var nom = new objet (<?php     tab_img(); ?>);

fonction tab_img :

function tab_img2()
{
    $tab = Array();
    $images = Images::findAll();       
       
    $i=1;
   
    if($img1 = mysql_fetch_object($images))
    {
        $tab[$img1->machine][$i] = $img1->image;
        $i++;
    }
   
    while($img = mysql_fetch_object($images))
    {   
        if($img->machine == $img1->machine)
        {
            $tab[$img->machine][$i] = '"'.$img->image.'"';
            $i++;
        }
        else
        {
            $i=1;
            $tab[$img->machine][$i] = '"'.$img->image.'"';
            //On met dans img1 l'image de la nouvelle machine puis on va insérer tout les images du nouveau type de machine (id différent)
            $img1 = $img;
            $i++;
        }
    }
    print_r($tab);
   
    return $tab;
}

Malheuresement coté html
id.');">

> " onClick="suivante('.$ligne->id.');">

Il ne se passe rien quand je clique sur ces boutons.

Si quelqu'un a besoin de code supplémentaire car il pense pouvoir m'aider, je m'en occuperai rapidement (je vérifirais présence de nouveau message matin midi et fin de journée)

Merci d'avance ; )

5 réponses

Kikuts Messages postés 159 Date d'inscription jeudi 11 janvier 2007 Statut Membre Dernière intervention 5 novembre 2010
28 avril 2008 à 18:13
Arg je voulais éditer pour mettre en forme et je trouve pas dsl ^^

Merci d'avance ; )
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
29 avril 2008 à 00:26
j'ai du mal avec(j'ai pas encore regardé le php) : il sert à quoi objet() ??
quant aux autres fonctions : tu utilises des variables non définies (en tous cas, dans l'extrait de code que tu montres).
Et puis tu passes des paramètres aux fonctions suivante() et  precedente() mais tu ne les utilises pas...?
Bref, j'ai du mal à comprendre comment un code comme celui-ci peut fonctionner, moi. T'es sûr que tu l'utilises correctement ? Où est le code original que tu as trouvé ici ?
0
Kikuts Messages postés 159 Date d'inscription jeudi 11 janvier 2007 Statut Membre Dernière intervention 5 novembre 2010
29 avril 2008 à 09:23
 Je ne me rappel plus exactement ou j'ai trouvé ce code :s

En fait la variable $ligne->id c'est l'id retourné par une requete. Ensuite il y a ces variables :
var bauto = 0;
var dossier="./Style/images/";
var numero = 1;

Je pense que la fonction objet permet de créer un pseudo tableau. L'image pointe sur dossier/letableau[numero] ou numero s'incremente quand on clic sur suivant.

Je pense que la solution doit être dans la fonction objet : réussir à faire un truc de ce genre

function objet()
{
    this.length = objet.arguments.length    for (var i 0; i < this.length; i++) this[i+1] objet.arguments[i]
}
deviendrais

function objet(numprod)
{
    this.length = objet.arguments.length    for (var i 0; i < this.length; i++) this[i+1] objet.arguments[numProd][i]
}

ou encore

function objet($tab, numprod)
{
    this.length = objet.arguments.length    for (var i 0; i < this.length; i++) this[i+1] tab[prod][i]
}

En fait je récupère tout les produits de ma base avec fonction tabImg2.

Je créer un objet exploitable avec la fction objet et voilà
Merci d'avance ; )
0
Kikuts Messages postés 159 Date d'inscription jeudi 11 janvier 2007 Statut Membre Dernière intervention 5 novembre 2010
29 avril 2008 à 09:26
Pour le paramètre j'ai mis une version o je tentais de faire ca :

function suivante(parametre_passe_dans_html){    numero +1;    if (numero nom.length + 1) numero = 1;
 document.image.src = dossier+nom[parametre_passe_dans_html][numero];
}

function precedente(parametre_passe_dans_html)
{    numero -1;    if (numero 0) numero = nom.length;
    document.image.src = dossier+nom[parametre_passe_dans_html][numero];
}
Histoire d'essayer de recueillir des info du tableau

Merci d'avance ; )
0

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

Posez votre question
Kikuts Messages postés 159 Date d'inscription jeudi 11 janvier 2007 Statut Membre Dernière intervention 5 novembre 2010
29 avril 2008 à 10:10
Bon j'abandonne déjà :  je me dit que le temps de trouver le pb, j'aurais largement le temps de trouver une autre visionneuse et c'est chose faite :

http://webmaster.lycos.fr/tips/987669141/

elle correspond moins à mes attentes mais je m'en contenterais.

Mais si jamais qq1 connait la réponse aux pb je suis toujours intéréssé.
Merci d'avance ; )
0
Rejoignez-nous