Problème d'affiche dans une Boucle Foreach
Fermé
dylan_garrix
Messages postés
64
Date d'inscription
mardi 21 juillet 2015
Statut
Membre
Dernière intervention
2 février 2018
-
Modifié le 20 juil. 2017 à 09:59
Utilisateur anonyme - 25 juil. 2017 à 09:52
Utilisateur anonyme - 25 juil. 2017 à 09:52
A voir également:
- N'affichez que les personnes de calais ayant 20 ans et une note supérieure ou égale à 12. quel mot apparaît dans la colonne code ?
- Déplacer une colonne excel - Guide
- Code ascii de a - Guide
- Identifiant et mot de passe - Guide
- Formule somme excel colonne - Guide
- Trousseau mot de passe iphone - Guide
10 réponses
Utilisateur anonyme
21 juil. 2017 à 12:05
21 juil. 2017 à 12:05
Attends on n'a pas finit.
Si le fait de mettre dt comme datasource règle le problème, ça veut dire que Fill, ajoute chaque requête à dt.
Ce que j'avais mal interprété au début (le problème venant finalement du \r).
Donc tu peux supprimer la classe Résultat et toute référence à elle.
Une fois fait, essaye une requête avec des références qui n'existent pas, pour voir si ça buggue
Si ça marche on s'occupera de s'affranchir de la configuration de Windows pour le saut de ligne.
Si le fait de mettre dt comme datasource règle le problème, ça veut dire que Fill, ajoute chaque requête à dt.
Ce que j'avais mal interprété au début (le problème venant finalement du \r).
Donc tu peux supprimer la classe Résultat et toute référence à elle.
Une fois fait, essaye une requête avec des références qui n'existent pas, pour voir si ça buggue
Si ça marche on s'occupera de s'affranchir de la configuration de Windows pour le saut de ligne.
Utilisateur anonyme
19 juil. 2017 à 19:02
19 juil. 2017 à 19:02
Bonsoir
et bien ça fait exactement ce que tu as écrit
Au premier passage dans la boucle, ça remplit dt avec le résultat de la recherche de la première référence.
Au second passage dans la boucle, ça remplit (et donc remplace le contenu existant) dt avec le résultat de la recherche de la 2eme référence.
ETC.
Au dernier passage dans la boucle ça remplit (et donc remplace le contenu existant) dt avec le résultat de la recherche de la dernière référence.
Et enfin, ça affiche dt, avec la dernière référence.
Il y a plusieurs options, et les base de données n'étant pas pas ma tasse de thé, je ne les détaillerais pas trop.
Option 1
Tu écris une classe
Avant la boucle tu crées une List<T> de cette classe et tu ajoutes une instance à chaque boucle, un truc comme ça:
Et c'est cette liste que tu bindes.
Option 2
tu écris une requête avec "Where Ref_Art= Ref1 ou Ref2 ou Ref3, etc....", là pour la syntaxe je ne sais pas trop.
Option 3
tu fais une jointure, un exemple avec Linq
et bien ça fait exactement ce que tu as écrit
foreach (var substring in substrings) { SqlDataAdapter SDA1 = new SqlDataAdapter("SELECT NOMARTICLE,CODEARTICLE from woork Where Ref_Art='" + substring + "'", Con); SDA1.Fill(dt); }
Au premier passage dans la boucle, ça remplit dt avec le résultat de la recherche de la première référence.
Au second passage dans la boucle, ça remplit (et donc remplace le contenu existant) dt avec le résultat de la recherche de la 2eme référence.
ETC.
Au dernier passage dans la boucle ça remplit (et donc remplace le contenu existant) dt avec le résultat de la recherche de la dernière référence.
Et enfin, ça affiche dt, avec la dernière référence.
Il y a plusieurs options, et les base de données n'étant pas pas ma tasse de thé, je ne les détaillerais pas trop.
Option 1
Tu écris une classe
class Resultat { public string NomArticle {get; set;} public string CodeArticle {get; set;} }
Avant la boucle tu crées une List<T> de cette classe et tu ajoutes une instance à chaque boucle, un truc comme ça:
List<Resultat> res = new List<Resultat>(); foreach (var substring in substrings) { SqlDataAdapter SDA1 = new SqlDataAdapter("SELECT NOMARTICLE,CODEARTICLE from woork Where Ref_Art='" + substring + "'", Con); SDA1.Fill(dt); res.Add(new Resultat{NomArticle = dt.Rows[0].Field<string>(0), CodeArticle = dt.Rows[0].Field<string>(1)};//y'a peut être mieux que dt.Rows[0].Field<string>(0) mais comme je te l'ai dit c'est pas mon fort }
Et c'est cette liste que tu bindes.
GridView1.DataSource = res;
Option 2
tu écris une requête avec "Where Ref_Art= Ref1 ou Ref2 ou Ref3, etc....", là pour la syntaxe je ne sais pas trop.
Option 3
tu fais une jointure, un exemple avec Linq
List<Resultat> res = (from DataRow ligne in dt.Rows join reference in substrings on ligne.Field<string>("Ref_Art") equals reference select new Resultat { CodeArticle = ligne.Field<string>("CODEARTICLE"), NomArticle = ligne.Field<string>("NOMARTICLE"), } ).ToList();ça se fait aussi en SQL, mais je ne saurais te montrer.
dylan_garrix
Messages postés
64
Date d'inscription
mardi 21 juillet 2015
Statut
Membre
Dernière intervention
2 février 2018
2
20 juil. 2017 à 08:23
20 juil. 2017 à 08:23
ce que j'ai écrit sa n'a pas voulu marché comme j'avais éxpliquer on dirait sa écrase à chaque fois le résultat et affiche Seulement 1 seule a chaque fois que je supprime le suivant !!
malgrés vous m'avez dit c'est exactement ce que j'ai écrit
malgrés vous m'avez dit c'est exactement ce que j'ai écrit
dylan_garrix
Messages postés
64
Date d'inscription
mardi 21 juillet 2015
Statut
Membre
Dernière intervention
2 février 2018
2
20 juil. 2017 à 08:37
20 juil. 2017 à 08:37
avec l'option 1 sa m'affiche sa comme message d'erreur " Aucune ligne à la position 0."
Utilisateur anonyme
20 juil. 2017 à 12:07
20 juil. 2017 à 12:07
ce que j'ai écrit sa n'a pas voulu marché comme j'avais éxpliquer on dirait sa écrase à chaque fois le résultat et affiche Seulement 1 seule a chaque fois que je supprime le suivant !!Je me suis mal exprimé, tu vois qu'il faut être le plus précis possible, le code que tu as écrit fait exactement le comportement que tu as expliqué et non celui que tu voudrais.
Oui ça ecrase, puisque le code le demande.
Le message d'erreur c'est bien,ajouter à quelle ligne se produit l'erreur et quel est le contenu des variables à ce moment là c'est indispensable.
dylan_garrix
Messages postés
64
Date d'inscription
mardi 21 juillet 2015
Statut
Membre
Dernière intervention
2 février 2018
2
20 juil. 2017 à 12:57
20 juil. 2017 à 12:57
l'erreur sa m'affiche là :
le message d'erreur est = message d'erreur " Aucune ligne à la position 0."
je te met tous le code regarde
res.Add(new Resultat { NomArticle = dt.Rows[0].Field <string>(0), CodeArticle = dt.Rows[0].Field <string>(1) });
le message d'erreur est = message d'erreur " Aucune ligne à la position 0."
je te met tous le code regarde
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
namespace WebApplication5
{
public partial class WebForm1 : System.Web.UI.Page
{
SqlConnection Con = new SqlConnection("Data Source=sql01;Initial Catalog=ArticlesFournisseurs;Integrated Security=True");
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
Con.Open();
DataTable dt = new DataTable();
char delimiter = '\n';
string[] substrings = search.Text.Split(delimiter);
List<Resultat> res = new List<Resultat>();
foreach (var substring in substrings)
// Linq to SQL
// SqlDataAdapter
//DataTable
// SDA.Fill (Data)
//Set Data or Data Set
{
SqlDataAdapter SDA1 = new SqlDataAdapter("SELECT NOMARTICLE,CODEARTICLE from woork Where Ref_Art='" + substring + "'", Con);
res.Add(new Resultat { NomArticle = dt.Rows[0].Field <string>(0), CodeArticle = dt.Rows[0].Field <string>(1) });
SDA1.Fill(dt);
}
GridView1.DataSource = res;
// GridView1.DataSource = dt;
GridView1.DataBind();
Con.Close();
}
}
}
dylan_garrix
Messages postés
64
Date d'inscription
mardi 21 juillet 2015
Statut
Membre
Dernière intervention
2 février 2018
2
20 juil. 2017 à 13:01
20 juil. 2017 à 13:01
Peut tu me proposer le bon Code " une Solution " stp
Utilisateur anonyme
>
dylan_garrix
Messages postés
64
Date d'inscription
mardi 21 juillet 2015
Statut
Membre
Dernière intervention
2 février 2018
20 juil. 2017 à 13:07
20 juil. 2017 à 13:07
A première vue, cela voudrait dire qu'il n'y a rien dans dt.
Ce qui est logique puisque tu faits le fill après cette ligne.
Ce qui est logique puisque tu faits le fill après cette ligne.
dylan_garrix
Messages postés
64
Date d'inscription
mardi 21 juillet 2015
Statut
Membre
Dernière intervention
2 février 2018
2
>
Utilisateur anonyme
20 juil. 2017 à 13:15
20 juil. 2017 à 13:15
si sa m'affiche toujours le dernier exemple je met :
E113916
734145
E113915
88609*
734146
sa m'affiche le tableau de "734146 " ensuite je supprime le dernier ce qui donne sa :
E113916
734145
E113915
88609*
sa m'affiche le tableau de "88609* " !!
ainsi de Suite !
et ce que je veut c'est en mettant tous ses donnant :
sa m'affiche tous ensemble dans un Seule tableau
E113916
734145
E113915
88609*
734146
sa m'affiche le tableau de "734146 " ensuite je supprime le dernier ce qui donne sa :
E113916
734145
E113915
88609*
sa m'affiche le tableau de "88609* " !!
ainsi de Suite !
et ce que je veut c'est en mettant tous ses donnant :
sa m'affiche tous ensemble dans un Seule tableau
Utilisateur anonyme
>
dylan_garrix
Messages postés
64
Date d'inscription
mardi 21 juillet 2015
Statut
Membre
Dernière intervention
2 février 2018
20 juil. 2017 à 13:24
20 juil. 2017 à 13:24
Pour ton message de 13:15, de quel code parles tu, puisque celui de 12:57 plante, il ne devrait rien afficher.
Utilisateur anonyme
20 juil. 2017 à 18:04
20 juil. 2017 à 18:04
Non, tu ne m'as pas une seule fois fourni l'information dont j'ai besoin.
Je ne sais pas si tu crois que je te prends pour un idiot (ça n'est pas le cas) et que du coup tu ne veux, ou alors si tu ne comprends ce que je te demande, ou si tu est tellement sûr de toi que tu ne veux même pas vérifier ce p**** de contenu, ou je ne sais quelle autre raison.
Du coup, maintenant que j'ai visual studio sous la main, je peux te montrer, un truc qui peut très bien se produire chez toi et qui serait une bonne raison de bugguer.
Avec ce code
Tout a l'air en ordre, pourtant en faisant un point d'arrêt sur la ligne

On constate que substring ne vaut pas "E113916" et que du coup la recherche ne peut pas aboutir.
Donc forcément, quand ensuite on demande de lire le 1er résultat de la recherche, ben y en a pas.
Donc tant que tu ne m'auras pas dit si chez toi c'est bien "734145", "E113915", "88609*" et "734146", on ne pourra pas avancer.
Je ne sais pas si tu crois que je te prends pour un idiot (ça n'est pas le cas) et que du coup tu ne veux, ou alors si tu ne comprends ce que je te demande, ou si tu est tellement sûr de toi que tu ne veux même pas vérifier ce p**** de contenu, ou je ne sais quelle autre raison.
Du coup, maintenant que j'ai visual studio sous la main, je peux te montrer, un truc qui peut très bien se produire chez toi et qui serait une bonne raison de bugguer.
Avec ce code
char delimiter = '\n'; string[] substrings = @"E113916 734145 E113915 88609* 734146".Split(delimiter); foreach (var substring in substrings) // Linq to SQL // SqlDataAdapter //DataTable // SDA.Fill (Data) //Set Data or Data Set { SqlDataAdapter SDA1 = new SqlDataAdapter("SELECT Ref_Art,NOMARTICLE,CODEARTICLE from woork", Con); SDA1.Fill(dt); }
Tout a l'air en ordre, pourtant en faisant un point d'arrêt sur la ligne
SDA1.Fill(dt);

On constate que substring ne vaut pas "E113916" et que du coup la recherche ne peut pas aboutir.
Donc forcément, quand ensuite on demande de lire le 1er résultat de la recherche, ben y en a pas.
Donc tant que tu ne m'auras pas dit si chez toi c'est bien "734145", "E113915", "88609*" et "734146", on ne pourra pas avancer.
dylan_garrix
Messages postés
64
Date d'inscription
mardi 21 juillet 2015
Statut
Membre
Dernière intervention
2 février 2018
2
21 juil. 2017 à 08:29
21 juil. 2017 à 08:29
" Donc tant que tu ne m'auras pas dit si chez toi c'est bien "734145", "E113915", "88609*" et "734146", on ne pourra pas avancer. "
tu parle dans ma Base oui je t'avais dis elle existe puisque toute Seule sa marche
et si dans la TextBox oui c'est Bien sa !!
sinon que veut tu dire si chez moi c'est bien "734145", "E113915", "88609*" et "734146",
je t'ai répondu comme j'avais compris le question
tu parle dans ma Base oui je t'avais dis elle existe puisque toute Seule sa marche
et si dans la TextBox oui c'est Bien sa !!
sinon que veut tu dire si chez moi c'est bien "734145", "E113915", "88609*" et "734146",
je t'ai répondu comme j'avais compris le question
dylan_garrix
Messages postés
64
Date d'inscription
mardi 21 juillet 2015
Statut
Membre
Dernière intervention
2 février 2018
2
21 juil. 2017 à 08:34
21 juil. 2017 à 08:34
quand je met le point d'arret sur cette ligne moi sa m'affiche pour substrings toute les refs que j'ai entre et pour Substring = NULL c'est normal !
dylan_garrix
Messages postés
64
Date d'inscription
mardi 21 juillet 2015
Statut
Membre
Dernière intervention
2 février 2018
2
21 juil. 2017 à 08:59
21 juil. 2017 à 08:59
Bonjour, euh je viens de mettre le point de l'execution sur le
"
SqlDataAdapter SDA1 = new SqlDataAdapter("SELECT NOMARTICLE,CODEARTICLE from woork Where Ref_Art= '" + substring + "'", Con);"
il me sors la première valeurs !
oui talleur c'est normal parce que j'ai pas encore fais l'execution
donc Voilà il me sors la premiere valeur pas comme toi ! c'est Bizarre non ?
"
SqlDataAdapter SDA1 = new SqlDataAdapter("SELECT NOMARTICLE,CODEARTICLE from woork Where Ref_Art= '" + substring + "'", Con);"
il me sors la première valeurs !
oui talleur c'est normal parce que j'ai pas encore fais l'execution
donc Voilà il me sors la premiere valeur pas comme toi ! c'est Bizarre non ?
Bizarre pas forcément, ça veut dire que ton Windows a une configuration particulière.
La conf par défaut est que la fin de ligne est signifiée pas "\r\n" donc en splitant juste avec "\n" on se retrouve avec "\r" à la fin des lignes intermédiaires et pas la dernière.
Et du coup si 734145 existe 734145\r non.
C'est ce que je t'ai montré avec ma capture.
Donc à priori, le problème n'est pas là.
Peux tu me donner le contenu de de ton texbox, pas ce que tu as tapé, mais bien ce qui apparaît dans l'espion flottant (comme sur ma capture) pour connaître les éventuels caractères invisibles.
La conf par défaut est que la fin de ligne est signifiée pas "\r\n" donc en splitant juste avec "\n" on se retrouve avec "\r" à la fin des lignes intermédiaires et pas la dernière.
Et du coup si 734145 existe 734145\r non.
C'est ce que je t'ai montré avec ma capture.
Donc à priori, le problème n'est pas là.
Peux tu me donner le contenu de de ton texbox, pas ce que tu as tapé, mais bien ce qui apparaît dans l'espion flottant (comme sur ma capture) pour connaître les éventuels caractères invisibles.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
dylan_garrix
Messages postés
64
Date d'inscription
mardi 21 juillet 2015
Statut
Membre
Dernière intervention
2 février 2018
2
21 juil. 2017 à 09:10
21 juil. 2017 à 09:10
dylan_garrix
Messages postés
64
Date d'inscription
mardi 21 juillet 2015
Statut
Membre
Dernière intervention
2 février 2018
2
21 juil. 2017 à 09:38
21 juil. 2017 à 09:38
https://img-19.ccm2.net/nyKlp2xfD7oJFTg6z7z_YeJHCao=/73f3d69f47a84fa28745ea6337b212af/ccm-ugc/substring_textbox.jpg
ma TextBox regarde dans le code que je t'ai envoyé je l'ai donné le nom de Substring voilà la capture
ma TextBox regarde dans le code que je t'ai envoyé je l'ai donné le nom de Substring voilà la capture
Utilisateur anonyme
21 juil. 2017 à 10:18
21 juil. 2017 à 10:18
Sans deconner!
Y'a un \r à la fin de chacune de tes lignes!
Si tu m'avais montré ça hier à midi, ton problème serait réglé depuis longtemps.
Dans un premier temps, teste en splittant sur "\r\n" et si ça marche, on rendra ton code robuste à l'erreur de saisie et à la configuration inhabituelle de Windows.
Y'a un \r à la fin de chacune de tes lignes!
Si tu m'avais montré ça hier à midi, ton problème serait réglé depuis longtemps.
Dans un premier temps, teste en splittant sur "\r\n" et si ça marche, on rendra ton code robuste à l'erreur de saisie et à la configuration inhabituelle de Windows.
dylan_garrix
Messages postés
64
Date d'inscription
mardi 21 juillet 2015
Statut
Membre
Dernière intervention
2 février 2018
2
21 juil. 2017 à 10:21
21 juil. 2017 à 10:21
montre moi Doucement parceque j'ai rien compris !
je suis pas un pro je viens de commencer avec le C# le \r je sais pas d'ou il apparait mais bon je le vois biens dans la capture que je t'ai envoyé
que Dois-je faire exactement et j'espère que sa va marcher
je suis pas un pro je viens de commencer avec le C# le \r je sais pas d'ou il apparait mais bon je le vois biens dans la capture que je t'ai envoyé
que Dois-je faire exactement et j'espère que sa va marcher
Utilisateur anonyme
21 juil. 2017 à 10:30
21 juil. 2017 à 10:30
Je répète
Dans un premier temps, teste en splittant sur "\r\n" et si ça marche, on rendra ton code robuste à l'erreur de saisie et à la configuration inhabituelle de Windows.
Dans un premier temps, teste en splittant sur "\r\n" et si ça marche, on rendra ton code robuste à l'erreur de saisie et à la configuration inhabituelle de Windows.
dylan_garrix
Messages postés
64
Date d'inscription
mardi 21 juillet 2015
Statut
Membre
Dernière intervention
2 février 2018
2
21 juil. 2017 à 10:37
21 juil. 2017 à 10:37
peut tu me donner la Syntaxe S'il vous plait j'ai pas réussi !
char [] delimiter = '\r\n' ; erreur
char [] delimiter = "\r\n" ; erreur
char delimiter = \r\n' ; erreur
char delimiter = "\r\n"; erreur !
merci de m'aider a Spliter
char [] delimiter = '\r\n' ; erreur
char [] delimiter = "\r\n" ; erreur
char delimiter = \r\n' ; erreur
char delimiter = "\r\n"; erreur !
merci de m'aider a Spliter
Utilisateur anonyme
>
dylan_garrix
Messages postés
64
Date d'inscription
mardi 21 juillet 2015
Statut
Membre
Dernière intervention
2 février 2018
21 juil. 2017 à 11:10
21 juil. 2017 à 11:10
char définit un caractère unique, a, A, b - 1 ! \r.
"\r\n" contient "plusieurs" caractères, c'est donc une chaine de caractères : string (note qu'une chaine de caractères commence à 0 caractères).
Dans les différentes surcharges de la méthode split (il y a eu quelques changements au fil des Frameworks), il en existe ou tu peux entrer un tableau de string en délimiteur.
Pour .Net 4.51, la surcharge la plus simple, nécessite un paramètre d'option
"\r\n" contient "plusieurs" caractères, c'est donc une chaine de caractères : string (note qu'une chaine de caractères commence à 0 caractères).
Dans les différentes surcharges de la méthode split (il y a eu quelques changements au fil des Frameworks), il en existe ou tu peux entrer un tableau de string en délimiteur.
Pour .Net 4.51, la surcharge la plus simple, nécessite un paramètre d'option
string[] delimiteur = {"\r\n"}; string[] lignes = montexte.Split(delimiter, StringSplitOptions.RemoveEmptyEntries);//cette option à l'avantage de virer les lignes vides.
dylan_garrix
Messages postés
64
Date d'inscription
mardi 21 juillet 2015
Statut
Membre
Dernière intervention
2 février 2018
2
21 juil. 2017 à 11:29
21 juil. 2017 à 11:29
sa marche Bien je t'ai envoyé une capture d'écran sauf que il me répète le premier seulement 5 fois le nombre de ligne dans la TexTBOX
dylan_garrix
Messages postés
64
Date d'inscription
mardi 21 juillet 2015
Statut
Membre
Dernière intervention
2 février 2018
2
21 juil. 2017 à 11:19
21 juil. 2017 à 11:19
https://img-19.ccm2.net/XAQmS7qzwxltQF-ojfVU0lo-_Zk=/7a327d8ad2a548b48395da464446a27b/ccm-ugc/rt.png
sa marche mais sa m'affiche les mêmes resultat regarde
sa marche mais sa m'affiche les mêmes resultat regarde
Pour aider au débogage, peux tu modifier un peu le code
d'une part
et dans la boucle
d'une part
class Resultat { public string RefArticle {get; set;} public string NomArticle {get; set;} public string CodeArticle {get; set;} }
et dans la boucle
res.Add(new Resultat{NomArticle = dt.Rows[0].Field<string>(0), CodeArticle = dt.Rows[0].Field<string>(1), RefArticle = substring});
dylan_garrix
Messages postés
64
Date d'inscription
mardi 21 juillet 2015
Statut
Membre
Dernière intervention
2 février 2018
2
21 juil. 2017 à 11:42
21 juil. 2017 à 11:42
https://img-19.ccm2.net/JZIWeSc2Rpev6tZ6w_k3TP-prR4=/2ccba18adbb74dfc8a830a2241d50cd0/ccm-ugc/yo.png
on avance petit a petit regarde maint les ref qui change mais le nom et le code reste toujours celui du premier
on avance petit a petit regarde maint les ref qui change mais le nom et le code reste toujours celui du premier
dylan_garrix
Messages postés
64
Date d'inscription
mardi 21 juillet 2015
Statut
Membre
Dernière intervention
2 février 2018
2
21 juil. 2017 à 11:58
21 juil. 2017 à 11:58
c'est bon je viens de le régler enfaite fallais faire le
GridView1.DataSource = DT;
et non GridView1.DataSource = res;
c'est bon sa marche merci beaucoup !
euh apart sa autre question ! as-tu un Bon site Web qui apprend le C# ASP.NET et les requetes avec les DATATABLE , DATASET , Gridview les trucs comme cela ? svp
GridView1.DataSource = DT;
et non GridView1.DataSource = res;
c'est bon sa marche merci beaucoup !
euh apart sa autre question ! as-tu un Bon site Web qui apprend le C# ASP.NET et les requetes avec les DATATABLE , DATASET , Gridview les trucs comme cela ? svp
dylan_garrix
Messages postés
64
Date d'inscription
mardi 21 juillet 2015
Statut
Membre
Dernière intervention
2 février 2018
2
21 juil. 2017 à 12:01
21 juil. 2017 à 12:01
et Si je veut faire une condition Sur une ligne si elle existe vraiment pas dans ma base ou pas sinon je l'affiche dans un autre tableau de non existant !
exemple :
893.316PB
153380
734144
smldpsd ==> celui la n'existe pas "
153140
comment faire pour faire un genre de if () et l'afficher dans une nouvelle table
exemple :
893.316PB
153380
734144
smldpsd ==> celui la n'existe pas "
153140
comment faire pour faire un genre de if () et l'afficher dans une nouvelle table
21 juil. 2017 à 13:22
21 juil. 2017 à 13:31
21 juil. 2017 à 13:37
comme sa !
21 juil. 2017 à 16:02
24 juil. 2017 à 08:29
je sais pas si on a un autre truc a faire mais je veut améliorer encore une autre chose