-1
votes

Problèmes de boucle PHP

NOOB problème: j'ai des problèmes avec une boucle dans PHP ... Voici le code (j'ai utilisé la même méthodologie pour d'autres pages et fonctionne); Le code est censé afficher les noms des produits à partir d'une commande, cela fonctionne, mais il ne montre pas le tout premier produit, je ne sais pas pourquoi: xxx

et voici Le code où j'ai utilisé mysqli_fetch_array avant la boucle xxx

Est-ce que quelqu'un a une idée de comment dois-je modifier ce code? Merci!


14 commentaires

Voulez-vous dire que la première ligne indiquée dans le résultat a une valeur $ i de 2 ? Avez-vous un style côté client qui consiste à cacher la première rangée? Vérifiez la source de page pour le HTML exact dans la réponse.


Pour montrer le tout premier produit, vous devez utiliser avec la requête SQL avec Desc .


la première rangée indiquée dans le résultat commence par 1, comme la normale, je veux dire, il commence par le numéro 1, il continue bien avec 2, et 3 etc., mais le numéro 1 est attribué au numéro de produit 2, et donc sur ... Le nom de mon premier produit n'apparaît pas


Habituellement, la première position d'un tableau c'est l'index 0, essayez avec 0 au lieu de 1


$ i = 0 est ce que vous n'avez pas besoin de $ i = 1


J'ai essayé et ça ne marche pas ... Si j'écris 0 dans mon code, ma liste de produits commencera par le numéro de série 0 et c'est tout, le premier produit n'apparaît pas


@ Mihaelaa077: Si la première ligne affichée a la valeur de 1 pour $ i alors le tandis que boucle n'est clairement pas "sautant sur la première itération "Comme décrit dans la question. Peut-être que votre requête (laquelle nous ne pouvons pas voir) est de retourner des données (que nous ne pouvons pas voir) que vous n'attendez pas? Peut-être que le problème est dans un autre code (que nous ne pouvons pas voir)? On dirait que vous avez simplement fait des hypothèses sur le problème et posez des questions sur ces hypothèses, pas sur le problème.


Je ne savais pas comment décrire la question: D J'ai essayé de mon mieux


La requête renvoie les données que j'attends, mais il ne montre que le tout premier produit de ma commande


@ Mihaelaa077: Comment avez-vous confirmé que les données retournées par votre requête sont ce que vous attendez? Ou peut-être que vous appelez mysqli_fetch_array une fois avant le début de la boucle?


J'ai utilisé mysqli_fetch_array une fois avant le début de la boucle au début du code de la page, voici comment il est utilisé:


$ query_selectorightems = "SELECT *, COMMANDE_ITEMS.QUANTITITY AS Q À partir de commandes, Order_Items, Produits Où Order_Items.order_id = '$ ORDRE_ID' et ORDRE_ITEMS.PRO_ID = Produits.Pro_ID et commande_Items.order_Id_Id = order.ordr_ids"; $ résultat_selectorightems = mysqli_query ($ con, $ query_selectorderems); $ row_selectorderitems = mysqli_fetch_array ($ résultat_selector deritems);


@ MihaelaA077: Veuillez modifier la question pour inclure le code correspondant.


fait, et je suis désolé si cela semble un peu ambigu à la question, c'est ma première fois en train de poster une question ici: D


3 Réponses :


-1
votes

Peut être utilisé mysqli_fetch_array ($ résultat_selectorItems) avant cela pour la boucle. Vérifiez une fois


2 commentaires

Il est utilisé au début du code de cette page; Voici le code:


$ query_selectorightems = "SELECT *, COMMANDE_ITEMS.QUANTITITY AS Q À partir de commandes, Order_Items, Produits Où Order_Items.order_id = '$ ORDRE_ID' et ORDRE_ITEMS.PRO_ID = Produits.Pro_ID et commande_Items.order_Id_Id = order.ordr_ids"; $ résultat_selectorightems = mysqli_query ($ con, $ query_selectorderems); $ row_selectorderitems = mysqli_fetch_array ($ résultat_selector deritems);



0
votes

Vous lisez et ignorez le premier enregistrement dans les résultats. Considérez comment votre boucle fonctionne: xxx

chaque appel d'itération mysqli_fetch_array , stocke l'enregistrement dans $ rang_selectordertems , puis utilise cela pour afficher l'enregistrement . Ensuite, considérons ce que vous faites avant la boucle: xxx

Vous faites exactement cette même chose, mais pas affichage Ce premier enregistrement.

supprimer simplement ce premier appel à mysqli_fetch_array avant la boucle.


0 commentaires

-1
votes
$row_selectOrderItems=mysqli_fetch_array($result_selectOrderItems);
remove this line, so that, it will not read the 1st result at starting.
Now, when you use it in the while loop, it reads the first line

0 commentaires