IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

expression for { } incomplète


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Inscrit en
    Mai 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Mai 2006
    Messages : 11
    Par défaut expression for { } incomplète
    Bonjour,

    voici qui devrait normalement mettre en place un système de boutons "précédent" et "suivant" pour passer d'une fiche à une autre.

    Tout fonctionne correctement :
    • présence des 2 boutons sur chaque fiche ;

    • présence unqiuement du bouton "précédent" sur la dernière fiche ;


    mais sur la première fiche, aucun bouton ne s'affiche, alors que je devrais avoir uniquement le bouton "suivant" ...

    D'où vient mon erreur ?

    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    	<title></title>
    </head>
    <body>
    <?php
    $produit_id = rcd("produit_id", "0");
    $admin = rcd("admin", "1");
     
    $filtre = null;
    $filtre["produit_id"] = $produit_id;
    if ($admin!="1") {
    	$filtre["NOW"] = "1";
    }
     
    $produit = new produit();
    $produit->liste($filtre);
    $fiche = $produit->get_fiche();
     
    if ($fiche==null) {
    	redirect("/fr/gamme/gam_".$fichier_nom.".php");
    }
     
    $liste_option = $produit->get_liste_option(0, $langue_temp);
     
     
    $filtre = null;
    $filtre["gamme_id"] = $fiche["gamme_id"];
    $filtre["NOW"] = "1";
    $filtre["langue_id"] = "fr";
    $nb = $produit->liste($filtre);
     
    $produit_id_sauv = "";
    $produit_id_precedent = "";
    $produit_id_suivant = "";
    for ($ifor=0; $ifor<$nb; $ifor++) {
    	$fiche_produit = $produit->ligne($ifor);
    	if ($fiche_produit["produit_id"]==$produit_id) {
    		$produit_id_precedent = $produit_id_sauv;
    		$produit_nom_precedent = $produit_nom_sauv;
    	} else if ($produit_id_precedent!="") {
    		$produit_id_suivant = $fiche_produit["produit_id"];
    		$produit_nom_suivant = $fiche_produit["produit_titre"];
    		$ifor = $nb;
    	}
    	$produit_id_sauv = $fiche_produit["produit_id"];
    	$produit_nom_sauv = $fiche_produit["produit_titre"];
    }
    ?>
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td width="200">
    <?php
    if ($produit_id_precedent!="") {
    print("<a href=\"".urlrewr($produit_nom_precedent)."-".$produit_id_precedent.".html\"><img src=\"/fr/gamme/media/btn_precendent.gif\" width=\"104\" height=\"20\" border=\"0\"></a>");
    } else {
    print("&nbsp;");
    }
    ?>
    </td>
    <td width="200">
    <?php
    if ($produit_id_suivant!="") {
    print("<a href=\"".urlrewr($produit_nom_suivant)."-".$produit_id_suivant.".html\"><img src=\"/fr/gamme/media/btn_suivant.gif\" width=\"87\" height=\"20\" border=\"0\"></a>");
    } else {
    print("&nbsp;");
    }
    ?>
    </td>
    </tr>
    </table>
    </body>
    </html>
    Toute aide est la bienvenue.

    - Manuphi

  2. #2
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 129
    Par défaut
    Bonjour,

    Juste a titre d'aide. As-tu essayé de faire un var_dump de tes variables a l'éxécution de ta page ? Parfois on trouve solution a nos problèmes de cette manière.

    Sylvain

  3. #3
    Membre habitué
    Inscrit en
    Mai 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Mai 2006
    Messages : 11
    Par défaut
    Merci Sylvain.
    Je pense que c'est l'expression for suivante qui est mal formulée, mais je ne trouve pas mon erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    for ($ifor=0; $ifor<$nb; $ifor++) {
    	$fiche_produit = $produit->ligne($ifor);
    	if ($fiche_produit["produit_id"]==$produit_id) {
    		$produit_id_precedent = $produit_id_sauv;
    		$produit_nom_precedent = $produit_nom_sauv;
    	} else if ($produit_id_precedent!="") {
    		$produit_id_suivant = $fiche_produit["produit_id"];
    		$produit_nom_suivant = $fiche_produit["produit_titre"];
    		$ifor = $nb;
    	}
    	$produit_id_sauv = $fiche_produit["produit_id"];
    	$produit_nom_sauv = $fiche_produit["produit_titre"];
    }

    D'autres idées ?

  4. #4
    Membre habitué
    Inscrit en
    Mai 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Mai 2006
    Messages : 11
    Par défaut
    J'ai réessayé différente formulation sur mon expression for et je ne vois toujours pas la solution ...

    Quelqu'un aurait-il une idée ? Ou peut-être quelqu'un pourrait me dire si j'ai oublié une parenthèse ou un point-virgule en trop ... Je ne pense pas, mais on ne sait jamais ...

    Ça m'énerve de ne pas trouver mon erreur !

  5. #5
    Membre Expert
    Avatar de Mahefasoa
    Homme Profil pro
    Manager IT
    Inscrit en
    Octobre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Manager IT

    Informations forums :
    Inscription : Octobre 2003
    Messages : 835
    Par défaut précédent ou suivant?
    Bonjour manuphi,

    moi je ferai plustôt l'algo suivant dans la boucle for ($ifor=0; $ifor<$nb; $ifor++)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Si $ifor == 0 alors
      ne pas afficher le bouton précédent
      afficher le bouton suivant
    Sinon Si $ifor == $nb -1 alors
      afficher le bouton précédent
      ne pas afficher le bouton suivant
    Sinon
      afficher le bouton précédent
      afficher le bouton suivant
    Fin de Si
    En espérant de t'avoir aidé,

    Thierry

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/08/2013, 21h49
  2. Schema Database - VS Express For Web 2012
    Par arsenik360 dans le forum ASP.NET MVC
    Réponses: 1
    Dernier message: 28/04/2013, 16h31
  3. [LibreOffice][Texte] Expression régulière incomplète
    Par Nerva dans le forum OpenOffice & LibreOffice
    Réponses: 4
    Dernier message: 12/04/2013, 10h34
  4. [Débutant] Base présente dans Visual Studio 2012 Express for the Web
    Par longbeach dans le forum Accès aux données
    Réponses: 1
    Dernier message: 21/01/2013, 14h09
  5. expression for ne fonctionne pas
    Par iks22 dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 10/01/2007, 14h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo