Afficher des données sur toutes les lignes

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Afficher des données sur toutes les lignes

Re: Afficher des données sur toutes les lignes

par keunene » 28 avr. 2023, 19:34

ok j'essaie

Re: Afficher des données sur toutes les lignes

par or 1 » 26 avr. 2023, 16:38

https://api.jquery.com/append/ pour ajouter une nouvelle ligne au lieu de changer tout le contenu de #customer-data

Re: Afficher des données sur toutes les lignes

par two3d » 26 avr. 2023, 11:09

Il te faut inverser l'affichage via la requête SQL :
$qry = "select * from lesentrees where idpr = ".$userID . " ORDER BY idpr DESC"; //ou ASC

Re: Afficher des données sur toutes les lignes

par keunene » 26 avr. 2023, 09:22

peut être, il faut une boucle en javascript

Re: Afficher des données sur toutes les lignes

par keunene » 26 avr. 2023, 07:44

Merci infiniment, votre apport m'a permis de bouger un peu. Désormais les lignes que je crée, quand je choisis un élément dans la liste déroulante, charge le contenu.Mais il y a un problème, les autres lignes chargent leur contenu dans la première ligne.Or ce que je cherche, est que chaque ligne devrait charger son contenu dans sa ligne(en bas d'elle et non en haut dans la première ligne).Je ne sais pas si je me fais comprendre.Mon problème, je ne suis pas très bon en javascript. voici le nouveau code:

Code : Tout sélectionner

<script> //$(document).ready(function(){ //$("#customer-list").change(function(){ $(document).on("change", "#customer-list",function(){ //$(document).on("change",".customer-list",function(){ //$("element").change(function $("#loader").show(); var getUserID = $(this).val(); if(getUserID != '0') { $.ajax({ type: 'GET', url: 'ajax8.php', data: {customer_id:getUserID}, success: function(data){ $("#loader").hide(); $("#customer-data").html(data); } }); } else { $("#customer-data").html(''); $("#loader").hide(); } }); //}); </script>

Re: Afficher des données sur toutes les lignes

par keunene » 25 avr. 2023, 22:03

ok merci

Re: Afficher des données sur toutes les lignes

par two3d » 25 avr. 2023, 12:50

Si tu clic sur du contenu chargé, il le reconnaitra pas, il te faut faire avec

Code : Tout sélectionner

$(document).on("change", "element",function
et non avec

Code : Tout sélectionner

$("element").change(function
https://www.c2script.com/scripts/jquery ... t-s37.html

Afficher des données sur toutes les lignes

par keunene » 25 avr. 2023, 10:50

bonjour,
Je voudrais faire un logiciel de caisse.
J'ai deux pages index.php et ajax.
la page index.php me permet de créer plusieurs lignes(En fait ce sont des ajouts de produit dans une boutique pour un client qui
veut acheter plusieurs produits)
cette page fait ressortir tous les produits et on sélectionne le produit qu'un client désire.
la page ajax.php fait sortir les données qui sont liées à la base de données quand on sélectionne un produit sans recharger la page.
Mais il y a un problème.Quand on choisit le produit sur la première ligne, les données liées à ce produit s'affichent .

Mais à partir de la deuxième ligne, quand on choisit un autre produit, les données ne s'affichent pas.
voici index.php
Le problème se trouve en mon sens dans le code javascript.Or je ne suis pas du tout bon en javascript.Votre aide s'il vous plaît.

Code : Tout sélectionner

<?php session_start(); ?> <!DOCTYPE html> <html><head> <meta charset="UTF-8"> <!--<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />--> <title>Groupe Scolaire Avicenne</title> <body > <?php if (function_exists('mb_ereg_replace')) { function mb_escape(string $string) { return mb_ereg_replace('[\x00\x0A\x0D\x1A\x22\x25\x27\x5C\x5F]', '\\\0', $string); } } else { function mb_escape(string $string) { return preg_replace('~[\x00\x0A\x0D\x1A\x22\x25\x27\x5C\x5F]~u', '\\\$0', $string); } } ?> <h2 id="fichecnedt"></h2> <?php ?> <h3> </h3> <?php if (isset ($_POST ['nombre'])) { $nombre=$_POST['nombre']; } ?> <table style="text-align: left; width: 100%;" border="0" cellpadding="2" cellspacing="2"> <tbody> <tr> <td valign="top"> <?php //include("entete.php"); ?> </td> <td valign="top"> <div> <table > <tbody> <tr> <td> </h3> <h3> <form name="test" method="post" action="achat6.php"> <input type="number" step="0" min="1" max="10" name="nombre" size="5" value="" class="note">- <button type="submit" class="btn btn-primary">Choisir le nombre de notes</button> </form> </td> </tr> </tbody> </table> <div style="text-align: center;"> <?php // include("recupere.php"); ?></div> </div><div id="fichecnedt"> </div> </pre> </form> <?php if (!isset($_POST['nombre'])) { $nombre=1; }?> <form name="test" method="post" action="enfin.php" onsubmit="return hiplahupbarlbatluc();"> <?php //création d'un formulaire fictif for($i=0;$i<$nombre;$i++){ ?> <table style="text-align: center; width: 100%;" border="5" cellpadding="2" cellspacing="2"> <tbody> <tr> <td><form action="entree.php" method="POST"> <?php require_once('configu.php'); $qry = "SELECT * FROM lesentrees order by nompr asc "; $rs = $dbConn->query($qry); $fetchAllData = $rs->fetch_all(MYSQLI_ASSOC); ?> <div> <label></label> <select name="id" id="customer-list"> <option value="0"> ----</option> <?php foreach($fetchAllData as $customerData) { $customerID = $customerData['idpr']; //$createFullName = $customerData['nompr']." ".$customerData['last_name']; echo '<option value = "'.$customerID.'">'.$customerData['nompr'].'</option>'; } ?> </select> </div> <img src="img/ajax-loader.gif" id="loader"> <div id="customer-data"></div> <script src="jquery.minv.js"></script> <script> $(document).ready(function(){ $("#customer-list").change(function(){ $("#loader").show(); var getUserID = $(this).val(); if(getUserID != '0') { $.ajax({ type: 'GET', url: 'ajax.php', data: {customer_id:getUserID}, success: function(data){ $("#loader").hide(); $("#customer-data").html(data); } }); } else { $("#customer-data").html(''); $("#loader").hide(); } }); }); </script> <br><br> <input type=text list=browsers4582 name="matricule" autocomplete="off" PLACEHOLDER="Matricule de l'acheteur"> <datalist id=browsers4582 > <?php include("configu.php"); $sql18 = "SELECT DISTINCT matriculelog,nomlog FROM logscolarite order by nomlog asc "; foreach ($bdd->query($sql18) as $data) { // on affiche les informations de l'enregistrement en cours // echo '<option >'.$data['pseudo'].'</option>'; echo ' <option value="'.$data['matriculelog'].'">'.$data['nomlog'].' '; } ?> </datalist> <input type=text list=browsersfoi name="nom" autocomplete="off" PLACEHOLDER="Nom de l'acheteur"> <datalist id=browsersfoi > <?php include("configu.php"); $sql18 = "SELECT DISTINCT matriculelog,nomlog,prenomlog FROM logscolarite order by nomlog asc "; foreach ($bdd->query($sql18) as $data) { // on affiche les informations de l'enregistrement en cours // echo '<option >'.$data['pseudo'].'</option>'; echo ' <option value="'.$data['nomlog'].' '.$data['prenomlog'].'"> '.$data['matriculelog'].' '; } ?> </datalist> <input type=text list=browsersvvv required aria-required="true" name="zone" autocomplete="off" PLACEHOLDER="Zone"> <datalist id=browsersvvv > <?php include("configu.php"); $sql18 = "SELECT DISTINCT nomzone,lieuzone FROM zone order by nomzone asc "; foreach ($bdd->query($sql18) as $data) { // on affiche les informations de l'enregistrement en cours // echo '<option >'.$data['pseudo'].'</option>'; echo ' <option ">'.$data['nomzone'].' '; } ?> </datalist> <br><br> <br><br> </td> </tr> </tbody> <?php }// fin foreach ?> </table> <center> <!-- <input type="submit" name="valider" value="VALIDER NOTE" >--> <div id ="tumasvutumvoisplus"> <input type="submit" name="valider" value="VALIDER" > <!--<input id="submit" type="image" src="image/save.jfif" style="width:70px;height:70px;"style="width:500px;height:600px;" value="submit" onclick="this.src='past.png';"/>--></center> </form> <br> </td> <td valign="top"> <?php ///include("entete2.php"); ?> </td> </tr> </tbody> </table> </body> </html>



voici ajax.php

Code : Tout sélectionner

<?php require_once('configu.php'); if(isset($_GET['customer_id']) && is_numeric($_GET['customer_id'])) { $userID = $_GET['customer_id']; $qry = "select * from lesentrees where idpr = ".$userID; $rs = $dbConn->query($qry); $fetchAllData = $rs->fetch_ALL(MYSQLI_ASSOC); $createTable = '<table>'; $createTable .= '<tr>'; $createTable .= '<th>Nom</th>'; $createTable .= '<th>ID du produit</th>'; $createTable .= '<th>Prix</th>'; $createTable .= '<th>Qté</th>'; $createTable .= '<th>Info</th>'; $createTable .= '</tr>'; foreach($fetchAllData as $customerData) { $createTable .= '<tr>'; $createTable .= '<td>'.$customerData['nompr'].' <input type="text" name="produit" value="'.$customerData['nompr'].'" /> </td>'; $createTable .= '<td>'.$customerData['matriculepr'].' <input type="hidden" name="matprod" value="'.$customerData['matriculepr'].'" /> </td>'; $createTable .= '<td>'.$customerData['prixpr'].' <input type="number" name="montant" value="'.$customerData['prixpr'].'" /> </td>'; $createTable .= '<td> <input type="number" required aria-required="true" name="nbre" PLACEHOLDER="Qté" /> </td>'; $createTable .= '<td>'.$customerData['infopr'].' <textarea id="textarea" name="comm" rows="4" cols="15" placeholder="Si vous avez une autre description , c\'est ici..." ></textarea> </td>'; $createTable .= '</tr>'; } $createTable .= '</table>'; echo $createTable; $rs->close(); $dbConn->close(); } ?>