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 :

[Conception] probleme 1er enregistrement


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2006
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 60
    Par défaut [Conception] probleme 1er enregistrement
    Bonjout tout le monde,

    voila mon problème :

    a partir des données que je récupère je fais un update d'une table --

    Ca fonctionne très bien à part pour le premier enregistrement :
    voila 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
    $Output[$j] .= "<form method='POST' name='envoyer$IdIco' ction='envoi_commentaire.php?aydi=$IdIco'>";
    // je récupère les valeurs depuis la requete
        $ChampTexte1 = $ctItem["stru_comment1"];
       $ChampTexte2 = $ctItem["stru_comment2"];
       if ($AutoriserEcriture == True)// si on a l'autorisation d'écrire on peut saisir dans les champs et on affiche le bouton pour modifier
       {
          $Output[$j] .= "<td width='3' height='5'><input type='text' name='txtCommentaire1$IdIco' value=\"$ChampTexte1\" maxlength='3' size='3'>";
          $Output[$j] .= "<td width='1%' height='5'><input type='text' name='txtCommentaire2$IdIco' value=\"$ChampTexte2\" size='30'>";
          $Output[$j] .= "<td><input type='submit' name='btnCommentaire2$IdIco' value='$IdIco' style='width:50;height:20;'></td>";
          $Output[$j] .= "</form>";
       }
       else// affichage seulement des champs de saisie et on n'affiche pas le bouton modifier
       {
          $Output[$j] .= "<td width='3' height='5'><input type='text' name='txtCommentaire1$IdIco' value=\"$ChampTexte1\" maxlength='3' size='3' readonly>";
          $Output[$j] .= "<td width='1%' height='5'><input type='text' name='txtCommentaire2$IdIco' value=\"$ChampTexte2\" size='30' readonly>";
          $Output[$j] .= "</form>";
    }
    Je ne comprend pas pourquoi ca ne fonctionne pas, en fait lorsque je clique sur le bouton de submit, pour tout les enregistrements, ca me renvoie bioen à la page envoie_commentaire.php?aydi=$IdICo sauf pour le premier enregistrement.

    Pourtant lors de l'affichage, je récupère bien les bonnes valeurs, même pour le 1er enregis.

    Quelqu'un aurait une idée ???

    Merci

  2. #2
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    dans ta balise form, il y a écrit "ction" au lieu de "action"

  3. #3
    Membre averti
    Inscrit en
    Février 2006
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 60
    Par défaut
    non ca c'était juste un mauvais copier coller je pense parceque dans le code executé y'a bien action.

    sinon j'ai pas de message d'erreur. le problème c'est que je sais pas pourquoi mais pour le premier enregistrement, le formulaire ne me renvoie pas à la page qui a dans 'action'.
    Mais pour les enregistrements suivant ca focntionnne très bien ...

  4. #4
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    La première fois que tu affiches le formulaire, quand tu vérifies ton code HTML généré, il est bien normal ? notamment les trucs affichés avec des variables PHP comme $IdIco ?

  5. #5
    Membre averti
    Inscrit en
    Février 2006
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 60
    Par défaut
    $IdIco me renvoi bien l'id du premier enregistrement.
    meme les champs texte du premier enregistrement sont correct.
    c'est juste que je sais pas pourkoi mais pour le premier enregistremnt, je crois qu'il n'ouvre pas le fichier qu'il y a dans action ....
    Il fait une sorte de rafraichissmeent de la page en changeant quelques paramètres d'affichage mais ca ne change rien dans la base de données.

    Mais pourkoi est ce que ca fonctionne très bien pour tout les autres enregistrements ??? .....

  6. #6
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Tu peux montrer le code de modification de la base de données ?

  7. #7
    Membre averti
    Inscrit en
    Février 2006
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 60
    Par défaut
    voila la page envoi_commentiatre.
    je ne pense pas qu'il y ait des problème dans cette page vu que ca fonctionne pour tout les enregistremetn a part le premier mais qui c'est ....


    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
    // recupération de l'id, et des commentaires saisit dans l'écran 
    if (isset($_GET["aydi"])) {$aydi = $_GET["aydi"];} 
    else{$aydi = 1;} 
    if (isset($_POST["txtCommentaire2$aydi"])){$Comment2 = $_POST["txtCommentaire2$aydi"];} 
    else{$Comment2 = "";} 
    if (isset($_POST["txtCommentaire1$aydi"])) 
    {$Comment1 = $_POST["txtCommentaire1$aydi"];} 
    else{$Comment1 = "";} 
     
    // ajout d'un slash devant chaque caractère qui en besoins pour etre insérer dans une requete pour les champs de commentaire 
    $champ1 = addslashes($Comment1); 
    $champ2 = addslashes($Comment2); 
    // mise a jour des commentaires de l'id selectionné 
    $sql = "UPDATE structure SET stru_comment1 = '$champ1', stru_comment2 = '$champ2' WHERE stru_id = $aydi "; 
    // Erreur si pas réussi update 
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
     
    // récupération de l'url qui a appelé ce fichier php 
    $url = $HTTP_REFERER; 
    // redirection vers cette url 
    header ("Location: $url");

    merci

Discussions similaires

  1. [Conception] probleme d'affichage de plusieurs enregistrements
    Par benoitinfrance dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 22/08/2006, 09h08
  2. [Conception] probleme d'enregistrement dans une table
    Par k_boy dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 28/05/2006, 23h38
  3. Réponses: 1
    Dernier message: 04/11/2005, 23h26
  4. Probleme d'enregistre de caracteres unicodes dans sqlserver
    Par ouedmouss dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 05/09/2005, 08h13
  5. [Oracle 10g]Problème pour enregistrer blob
    Par Invité dans le forum Hibernate
    Réponses: 6
    Dernier message: 27/04/2005, 11h45

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