Modifier des données mysql via formulaire php

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par vitalizo, 15 Janvier 2007.

  1. vitalizo
    vitalizo WRInaute impliqué
    Inscrit:
    27 Novembre 2005
    Messages:
    946
    J'aime reçus:
    0
    re à tous, je continue mon périple dans l'apprentissage de mysql.

    La j'en suis à faire des formulaire php pour directement modifier des valeurs dans ma bdd sauf que je bloque.

    J'ai suivi un tuto voilà comment ca se passe.
    D'abord une page maj_pronos qui me permet de choisir quel données à mettre à jour
    Code:
      <?php
        //connection au serveur:
        $cnx = mysql_connect( "" ) ;
      
        //sélection de la base de données:
        $db = mysql_select_db( "" ) ;
      
        //requête SQL:
        $sql = "SELECT *
    	      FROM pronostics
    	      ORDER BY club1" ;
      
        //exécution de la requête:
        $requete = mysql_query( $sql, $cnx ) ;
      
        //affichage des données:
        while( $result = mysql_fetch_object( $requete ) )
        {
           echo("<div align=\"center\">".$result->resultat." <a href=\"maj_pronos2.php?idPersonne=".$result->id_personne."\">modifier</a><br>\n") ;
        }
      ?>
    Ensuite voila le problème, une page maj_pronos2 qui là rien ne s'affiche
    Code:
     <?php
        //connection au serveur:
        $cnx = mysql_connect( "" ) ;
      
        //sélection de la base de données:
        $db = mysql_select_db( "" ) ;
      
      //récupération de la variable d'URL,
      //qui va nous permettre de savoir quel enregistrement modifier
      $id  = $_GET["idPersonne"] ;
      
      //requête SQL:
      $sql = "SELECT *
                FROM pronostics
    	    WHERE id_personne = ".$id ;
    	    
      //exécution de la requête:
      $requete = mysql_query( $sql, $cnx ) ;
      
      //affichage des données:
      if( $result = mysql_fetch_object( $requete ) )
      {
      ?><form name="insertion" action="maj_pronos3.php" method="POST">
      <input type="hidden" name="id" value="<?php echo($id) ;?>">
      <table border="0" align="center" cellspacing="2" cellpadding="2">
        <tr align="center">
       <td>club1</td>
          <td><input type="text" name="club1" value="<?php echo($result->club1) ;?>"></td>
        </tr>
        <tr align="center">
          <td>club2</td>
          <td><input type="text" name="club2" value="<?php echo($result->club2) ;?>"></td>
        </tr>
        <tr align="center">
          <td>vainqueur</td>
          <td><input type="text" name="vainqueur" value="<?php echo($result->vainqueur) ;?>"></td>
        </tr>
        <tr align="center">
          <td>cote</td>
          <td><input type="text" name="cote" value="<?php echo($result->cote) ;?>"></td>
        </tr>
        <tr align="center">
          <td>resultat</td>
          <td><input type="text" name="resultat" value="<?php echo($result->resultat) ;?>"></td>
        </tr>
        <tr align="center">
          <td colspan="2"><input type="submit" value="modifier"></td>
        </tr>
        <tr align="center">
          <td colspan="2"><input type="submit" value="modifier"></td>
        </tr>
      </table>
    </form>
      <?php
      }//fin if 
      ?>
    Cette page est censé m'afficher les données inscrites dans ma bdd afin que je les mettent à jour sauf que rien ne s'affiche

    Une idée, car je bloque
     
  2. fablezouave
    fablezouave WRInaute discret
    Inscrit:
    20 Décembre 2006
    Messages:
    106
    J'aime reçus:
    0
    salut

    Es-tu sûr que ta requète renvoie des résultats ?
    Fais un mysql_num_rows( $requete ); pour le savoir

    fab
     
  3. vitalizo
    vitalizo WRInaute impliqué
    Inscrit:
    27 Novembre 2005
    Messages:
    946
    J'aime reçus:
    0
    Euh c'est à dire et à vrai dire j'apprends le php/mysql par des tutos ou des exercices et mysql_num_rows( $requete ); je ne l'ai jamais vu.

    Si par "Es-tu sûr que ta requète renvoie des résultats ?", tu entends "est ce que je vois les entrées à modifier sur la page maj_pronos" ma réponse oui.

    Tout s'affiche correctement, j'ai toutes les entrées de ma bdd classés par club1 qui s'affiche avec un lien "modifier" juste à cote qui celui me renvoie sur une page vierge alors qu'il devrait m'afficher toutes les valeurs presentes dans cette entrée
     
  4. DomicilePC
    DomicilePC WRInaute discret
    Inscrit:
    17 Janvier 2005
    Messages:
    169
    J'aime reçus:
    0
    Bonjour,

    essai de récupérer l'id ainsi
    Code:
    $id  = $HTTP_GET_VARS["idPersonne"];
     
  5. vitalizo
    vitalizo WRInaute impliqué
    Inscrit:
    27 Novembre 2005
    Messages:
    946
    J'aime reçus:
    0
    rien :-((.

    Suffit je viens de me rendre compte d'un truc surement bête.

    Apres avoir choisi l'entrée que je voulais modifier, dans barre d'adresse cela donne ceci;

    "http://www.aaa.com/bbb/maj_pronos2.php?idPersonne="

    ne faudrait-il qu'il y ait:
    "http://www.aaa.com/bbb/maj_pronos2.php?idPersonne=club1" ??
     
  6. rottman
    rottman WRInaute passionné
    Inscrit:
    6 Janvier 2004
    Messages:
    1 804
    J'aime reçus:
    0
  7. DomicilePC
    DomicilePC WRInaute discret
    Inscrit:
    17 Janvier 2005
    Messages:
    169
    J'aime reçus:
    0
    Si

    Echo() n'est pas une fonction et les parenthèses ne sont pas nécessaires, elles peuvent même rendre invalide en y passant plus d'un paramètre.

    Je retirerais les parenthèses des echo().

    Ensuite, si idPersonne peut être club1, c'est qu'il n'est pas numérique, il faut donc mettre autour de $id dans la requête des guillemets simples.
    Code:
    $sql = "SELECT * 
                FROM pronostics 
           WHERE id_personne = '".$id."'" ;
     
  8. vitalizo
    vitalizo WRInaute impliqué
    Inscrit:
    27 Novembre 2005
    Messages:
    946
    J'aime reçus:
    0
    Comment faire ? :-o) (au sujet de l'adresse)


    Sinon
    pour les parenthèses quand tu dids "Je retirerais les parenthèses des echo(). "

    par exemple tu enleve ces parenthèse là?
    echo($result->club1) en echo $result->club1 ?
     
  9. DomicilePC
    DomicilePC WRInaute discret
    Inscrit:
    17 Janvier 2005
    Messages:
    169
    J'aime reçus:
    0
  10. vitalizo
    vitalizo WRInaute impliqué
    Inscrit:
    27 Novembre 2005
    Messages:
    946
    J'aime reçus:
    0
    Petite récap.

    J'ai donc enleve toutes les parenthèses des echo
    ca donne <?php echo $result->club1 ;?>

    J'ai aussi remplacé

    Code:
    $sql = "SELECT * 
                FROM pronostics 
           WHERE id_personne = ".$id ; 
    
     par 
    
    $sql = "SELECT * 
                FROM pronostics 
           WHERE id_personne = '".$id."'" ;
    Ca s'affiche toujours pas, je pense qu'il y a un souci au niveau de mon adresse comme je l'ai dit plus haut
    ca viendrait donc de là:

    Code:
     {
           echo("<div align=\"center\">".$result->club1." <a href=\"maj_pronos2.php?idPersonne=".$result->id_personne."\">modifier</a><br>\n") ;
        }
    id_personne n'etant pas numérique, je crois qu'il y a un souci au niveau de cette ligne

    une idée?
     
  11. DomicilePC
    DomicilePC WRInaute discret
    Inscrit:
    17 Janvier 2005
    Messages:
    169
    J'aime reçus:
    0
    Enlèves toute les parenthèses des echo() toutes.

    donc
    Code:
    echo "<div align=\"center\">".$result->club1." <a href=\"maj_pronos2.php?idPersonne=".$result->id_personne."\">modifier</a><br>\n" ;
    Et si il en reste, retire les

    Au fait, tes div, tu les fermes quand?
    Ca doit être ça:
    tu fais une boucle, tu ouvres un div à chaque fois mais tu ne le fermes pas. Tu te retrouves avec une quantité de div ouverts et jamais fermés.

    on aurait donc:
    Code:
    echo "<div align=\"center\">".$result->club1." <a href=\"maj_pronos2.php?idPersonne=".$result->id_personne."\">modifier</a></div>\n" ;
    Le </div> remplce le <br>
     
  12. vitalizo
    vitalizo WRInaute impliqué
    Inscrit:
    27 Novembre 2005
    Messages:
    946
    J'aime reçus:
    0
    Je commence à desesperer, j'ai bien enlevé toutes les parenthèses, j'avais oublié de faire la div (je viens de c/c ton morceau de code)

    Etant donné que c'est la 1ere fois que je fais ceci.
    Une fois l'entrée sélectionné je devrais pas arriver sur une adress du type:
    "http://www.aaa.com/bbb/maj_pronos2.php?idPersonne=club1" ??

    or là, je tombe sur
    ""http://www.aaa.com/bbb/maj_pronos2.php?idPersonne="

    EDIT
    Petit miracle !!
    J'ai supprimé la condition if de la maj_pronos2
    Code:
     if( $result = mysql_fetch_object( $requete ) )
      {
    et j'ai enfin vu quelquechose sur cette foutu page :-o).
    Mais voilà les champs sont vides, surement que if ne marche pas et ne m'affiche pas les éléments déja inscrits sur ma bdd

    c'est ca non?
     
  13. DomicilePC
    DomicilePC WRInaute discret
    Inscrit:
    17 Janvier 2005
    Messages:
    169
    J'aime reçus:
    0
    Ben si,

    Pour savoir fait simplement
    echo "l'id perso est: ".$result->id_personne;
    à la place du lien et de la div, s'il t'affiche rien, c'est que le champ ne s'appelle pas comme ça (ortho)

    ou mets des or die("quelque chose de sensé") à tes requêtes
    ex:
    Code:
    $sql = "SELECT * 
             FROM pronostics 
             ORDER BY club1" ; 
      
        //exécution de la requête: 
        $requete = mysql_query( $sql, $cnx ) or die("requete club1 failed");
    Des fois on repère des erreurs dans les requçetes comme ça
     
  14. vitalizo
    vitalizo WRInaute impliqué
    Inscrit:
    27 Novembre 2005
    Messages:
    946
    J'aime reçus:
    0
    Je suis vraiment fatigué moi.
    Sur la base que je veux travailler c'est id et non id_personne.

    c'est bon j'ai trouvé mais j'ai vraiment honte de le dire :-o)

    On va dire que c'est une erreur de débutant. Sur la base que je travaille là actuellement, c'est id et non id_personne (qui me sert pour une autre base).


    P.S: vraiment dsl pour tout ce temps perdu.






    C'est en faisant des erreurs que l'on apprends
     
  15. code
    code WRInaute impliqué
    Inscrit:
    29 Juillet 2005
    Messages:
    617
    J'aime reçus:
    0
    Tu dois prendre les problemes dans l'ordre et progresser dans ton code petit à petit jusqu'à ce que tu trouves l'erreur.

    Pour ma part, puisque tu dis que tu ne vois pas l'id passée en paramètre dans la barre d'adresse, c'est que déjà il y a un problème dans la récupération de cet id.

    Celui-ci est transmis en GET :

    pour le récupérer :

    $id = isset($_GET['id']) ? $_GET['id'] : '';

    et ensuite dans ta requete :

    $sql = "SELECT *
    FROM pronostics
    WHERE id_personne = '$id' ";
     
  16. DomicilePC
    DomicilePC WRInaute discret
    Inscrit:
    17 Janvier 2005
    Messages:
    169
    J'aime reçus:
    0
Chargement...
Similar Threads - Modifier données mysql Forum Date
Supprimer mon site de Similarweb ? Ou modifier les données ? Administration d'un site Web 26 Novembre 2020
Une ASTUCE pour stocker les données peu courantes sans modifier la structure de la table Développement d'un site Web ou d'une appli mobile 9 Mai 2014
WordPress Retirer ou modifier la donnée structurée "date" avec Yoast Débuter en référencement 1 Avril 2022
Modifier le nom de la taxonomie Développement d'un site Web ou d'une appli mobile 7 Février 2022
WordPress Balise canonique sur une page impossible à modifier via Yoast Problèmes de référencement spécifiques à vos sites 28 Octobre 2021
Comment modifier le thème Chrome ? YouTube, Google Images et Google Maps 3 Juin 2021
WordPress Modifier les balises hn de sa homepage Wordpress Débuter en référencement 13 Novembre 2020
Comment modifier le format des URL Shopify URL Rewriting et .htaccess 7 Juin 2020
Modifier une partie de l'url page produit. Quel impact en seo ? Débuter en référencement 5 Janvier 2020
Logos des partenaires: Peut-on les modifier pour que cela soit moins moche? Administration d'un site Web 5 Décembre 2019
Comment modifier le lien dans copyright ( footer ) dans prestashop 1.7 Développement d'un site Web ou d'une appli mobile 1 Octobre 2019
Wordpress redirections et htaccess à modifier ? URL Rewriting et .htaccess 14 Janvier 2019
WordPress Comment modifier l'identité du site dans les fichiers ? Problèmes de référencement spécifiques à vos sites 23 Septembre 2018
Mysql, modifier des chaines avec différents caractères Administration d'un site Web 13 Septembre 2018
Modifier le contenu d'un bloc Développement d'un site Web ou d'une appli mobile 27 Février 2018
Comment modifier la balise Title et Hn sur wordpress ? Débuter en référencement 14 Janvier 2018
Modifier les mails sous wordpress e-commerce 9 Novembre 2017
Modifier les mails suivant les commandes e-commerce 4 Octobre 2017
Doit on modifier son site lors de la mise à jour de PHP ? Développement d'un site Web ou d'une appli mobile 3 Août 2017
Modifier le code d'un plugin de contenu similaire Développement d'un site Web ou d'une appli mobile 27 Mars 2016