Zone texte

Fragtal Messages postés 35 Statut Membre -  
jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour
Alors voila dans ma base données j'ai un tableau qui contient plusieurs colonne le prix le nom des plantes ... j'ai aussi une zone de texte et je voudrais la mettre sur ma page web en php je voudrais pouvoir y écrire des choses et que lorsque je clique sur un bouton ou que je rafraîchis la page sa sincrémente dans ma base de données voila merci .

3 réponses

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    Bonjour,

    - Avec quoi connectes tu ta bdd ? PDO ou mysqli ?
    - Sais tu faire des formulaires HTML ?
    - Sais tu faire des requêtes SQL ( SELECT ou UPDATE ) ?
    - Qu'as tu commencé à faire ?
    - Quelle est la structure de ta table ?
    - Site web réalisé par toi ou à l'aide d'un cms comme wordpress par exemple ?

    Merci de répondre à TOUTES les questions si tu souhaites obtenir de l'aide.

    1
    1. Fragtal Messages postés 35 Statut Membre
       
      Bonjour
      -Je suis sous WAMPserver (phpmyadmin) du coup mes requêtes sont on sql
      -je sais en faire quelque une oui
      -j'ai fais ma base de données et ma page d'insertion
      -Ma table posséde un une colonne ID Nom Prix Stock Text et code barres
      -Page web réaliser par moi
      0
    2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      Tu as oublié :
      Avec quoi connectes tu ta bdd ? PDO ou mysqli ?


      Donc :
      1 - Connexion à ta bdd en utilisant pdo ou myslqi
      2 - Pour lister : requête de type SELECT

      Ensuite, plusieurs façons de faire :
      Solution basique :
      Ouverture d'un formulaire HTML
      Boucle sur le résultat de la requête pour générer l'affichage... dans un tableau html par exemple
      ( les champs modifiables seront à base d'input text par exemple )
      Ajout d'un bouton SUBMIT
      Fermeture du formulaire HTML

      Lors du "submit" du formulaire, récupération des champs remplis/modifiés (boucle pour les parcourir... )
      Requête UPDATE pour mettre à jour en BDD


      deuxième solution:
      Affichage des infos (dans un tableau par exemple )
      Un bouton "modifier" en regarde de chaque ligne. (sous forme de "lien" contenant l' ID de l'élément à modifier. )
      Si on clique sur une ligne, ouverture d'une fenêtre contenant un formulaire avec les champs modifiables. La encore, requête UPDATE après submit du formulaire.

      Troisième solution
      Utilisation d'AJAX.
      On affiche les données ... on mets des champs input pour les champs modifiables.
      La différence se trouvant dans le fait qu'on a pas besoin de formulaire....
      A chaque "modification" d'une valeur dans le tableau, un script Javascript fait appel (en ajax) à un script PHP qui fait un UPDATE dans la bdd.
      => Voir ici des exemples en ajax avec jquery : https://codes-sources.commentcamarche.net/source/102253-exemple-ajax-en-jquery
      0
    3. Fragtal Messages postés 35 Statut Membre
       
      c'est on pdo et la premiére technique me semble bien
      0
    4. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832 > Fragtal Messages postés 35 Statut Membre
       
      exemple soluction 1
      <?php
      //affichage des erreurs php
      error_reporting(E_ALL);
      ini_set('display_errors', TRUE);
      ini_set('display_startup_errors', TRUE);
      
      //connexion à la bdd
      require_once "tonfichierdeconnexionatabdd.php"
      
      
      //recupération des données dans la table
      $sql = "SELECT * FROM taTable";
      try{
         $prepare = $bdd->prepare($sql);
         $prepare->execute();
         //on stocke le resultat de la requete dans un array
         $result = $prepare->fetchAll();
      }catch(Exception $e){
        echo 'erreur '.$e->getMessage();
      }
      
      // si des données sont envoyées via le submit
      if(isset($_POST['valider'])){
        print_r($_POST);
        //ici tu dois coder la récupération des données.... et l'envoie en bdd
        
         /**
         // code à completer ..
         $sql = "UPDATE tatable
                   SET tonchamp = :lavalue1
                       ,tonchamp2 = :lavalue2
                       //etc...
                   WHERE id = $id";  
         $datas = array(':lavalue1'=>$lavalue1, ':lavalue2'=>$lavalue1 etc..);             
         try{
            $prepare = $bdd->prepare($sql);
            $prepare->execute($datas);
        }catch(Exception $e){
          echo 'erreur '.$e->getMessage();
        }          
        */
      }
      
      ?>
      
      <form name="myform" action="" method="post">
      <table>
      <?php
        if(!empty($result )){
          foreach($result  as $i=>$R){
            echo "<tr>";
              foreach($R as $col=>$value){
                echo "<td>";
                echo "<input type='text' name='".$col."['".$i."']' value='$value'>";
                echo "</td>";
              }
            echo "</tr>";
          }
        }
      ?>
      </table>
      <input type="submit" value="valider" name="valider">
      </form>
      
      0
    5. Fragtal Messages postés 35 Statut Membre
       
      Mercii :)
      A la place de lavalue1 et lavalue2 je met quoi?
      0
  2. Fragtal Messages postés 35 Statut Membre
     




    Voici ce que maffiche la page web quand je la lance :
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      Tu dois utiliser le code que je t'ai donné.... avec le formulaire et les input !
      Tu dois mettre un print_r($_POST); au début du fichier
      Tu testes ton formulaire.... et tu nous indiques ce que donnes ton print.
      0
    2. Fragtal Messages postés 35 Statut Membre
       
      Bonjour,
      j'ai essayer je n'y arrive pas ,Je n'y arrive pas
      0
    3. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      Tu n'arrives pas à quoi ?
      Qu'as tu essayé ?
      Qu'obtiens tu ?
      Tu as mis le print_r comme je te l'ai demandé ? Où ça ? Montre ton code
      0