Mettre des éléments ds un tableau
ladj59
Messages postés
322
Statut
Membre
-
ladj59 Messages postés 322 Statut Membre -
ladj59 Messages postés 322 Statut Membre -
Bonjour,
avc le code ci-dessous je récupére une liste de sujets(que je'affiche avec echo $data['$n'];)
mais cette liste présente des doublons donc je voudrais les enlever et mettre tous les sujets dans un formulaire
Comment dois-je faire svp?
j'avais pensé mettre tous les sujets dans un tableau et trier le tableau en éliminant les doublons mais je n'y arrive pas trop
merci d'avance pour votre aide
<code type="php">
<?php
$sujets=mysql_query("SELECT DISTINCT sujet FROM base_physique ORDER BY sujet ");
while($sujet = mysql_fetch_array($sujets)) #propose tous les sujets présents dans la base de donnée
{
$data=explode(",",$sujet['sujet']);
for($n=0;$n<100;$n++)
if($data[$n] != "")
{
echo $data[$n];
}
}
</code>
avc le code ci-dessous je récupére une liste de sujets(que je'affiche avec echo $data['$n'];)
mais cette liste présente des doublons donc je voudrais les enlever et mettre tous les sujets dans un formulaire
Comment dois-je faire svp?
j'avais pensé mettre tous les sujets dans un tableau et trier le tableau en éliminant les doublons mais je n'y arrive pas trop
merci d'avance pour votre aide
<code type="php">
<?php
$sujets=mysql_query("SELECT DISTINCT sujet FROM base_physique ORDER BY sujet ");
while($sujet = mysql_fetch_array($sujets)) #propose tous les sujets présents dans la base de donnée
{
$data=explode(",",$sujet['sujet']);
for($n=0;$n<100;$n++)
if($data[$n] != "")
{
echo $data[$n];
}
}
</code>
A voir également:
- Mettre des éléments ds un tableau
- Tableau word - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
- Imprimer un tableau excel - Guide
- Photoshop elements gratuit - Télécharger - Retouche d'image
8 réponses
Bonjour.
Je ne comprends pas trop : ton SELECT DISTINCT devrait suffire à éviter les doublons...
sinon, il faut que tu te crées une fonction SupprimerDoublons($tableau). Pour les détails de la fonction, un petit tour sur google t'en donne pas mal...
Je ne comprends pas trop : ton SELECT DISTINCT devrait suffire à éviter les doublons...
sinon, il faut que tu te crées une fonction SupprimerDoublons($tableau). Pour les détails de la fonction, un petit tour sur google t'en donne pas mal...
Je ne comprend pas tout non-plus. Qui a t 'il dans ta colonne 'sujet' ? plusieurs sujets séparés par une virgule ?
Si c'est le cas un truc comme (le tableau final est $tableau):
Si c'est le cas un truc comme (le tableau final est $tableau):
<?php
$sujets=mysql_query("SELECT DISTINCT sujet FROM base_physique ORDER BY sujet ");
while($sujet = mysql_fetch_array($sujets)) #propose tous les sujets présents dans la base de donnée
{
$data=explode(",",$sujet['sujet']);
foreach($data as $unsujet)
{
if(!in_array($unsujet, $tableau))
{
$tableau[] = $unsujet;
}
}
}
oui il y a plusieurs sujets séparés par une virgule
avec ton code
quand je echo $unsujet;
il me met que le derrnier sujet( il ecrase surement a chaque fois)
comment faie pour récupérer tous les sujets dans le tableau ?
merci
avec ton code
quand je echo $unsujet;
il me met que le derrnier sujet( il ecrase surement a chaque fois)
comment faie pour récupérer tous les sujets dans le tableau ?
merci
// On se connecte à la base
mysql_connect($host,$user,$password);
$data = array();
$result = mysql_query("SELECT DISTINCT sujet FROM base_physique ORDER BY sujet");
// Pour chaque ligne récupérée dans la requête, on récupère le premier élément dans $data
while($row = mysql_fetch_array($result)) {
$data[] = $row[0];
}
mysql_free_result($result);
En fait, mysql_fetch_array te renvoie la prochaine réponse donnée par ta requête, il faut donc faire une boucle...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Pour mon exemple de code si tu veux tout afficher.
Rajoute a la fin
Rajoute a la fin
echo '<table>';
foreach($tableau as $ligne)
{
echo '<tr><td>',$ligne,'</td></tr>';
}
echo '</table>';
j'ai aussi un autre souc
Dans mon application je peux faire un recherche par sujets dans ma bdd
donc j'affiche le formulaire avec tous les suets présents (comme on vient de le voir) et une fois le sujet sélectionné je peux coché d'autres critéres pour affiner la recherche
sur la pge qui sert à afficher le résultat, mon probléme est que je récupére le sujet sélectionné grâce à une session et ensuite je fais ma requete mais le probléme c'est que je fais SELECT sujet=$_SESSION['sujet'] mais le probléme c'est que cela ne marche pas car dans le champ sujet, il peut y avoir plusieurs sujets(séparés par des virgules) et donc ce ne sera jamais égal si il y a plus d'un sujet
Comment faire svp?
Dans mon application je peux faire un recherche par sujets dans ma bdd
donc j'affiche le formulaire avec tous les suets présents (comme on vient de le voir) et une fois le sujet sélectionné je peux coché d'autres critéres pour affiner la recherche
sur la pge qui sert à afficher le résultat, mon probléme est que je récupére le sujet sélectionné grâce à une session et ensuite je fais ma requete mais le probléme c'est que je fais SELECT sujet=$_SESSION['sujet'] mais le probléme c'est que cela ne marche pas car dans le champ sujet, il peut y avoir plusieurs sujets(séparés par des virgules) et donc ce ne sera jamais égal si il y a plus d'un sujet
Comment faire svp?
Là, c'est du SQL...
Sélectionne les lignes de la table, où sujet contient $_SESSION['sujet']
$requete = "SELECT * FROM table where sujet like '%".$_SESSION['sujet']."%'";
Sélectionne les lignes de la table, où sujet contient $_SESSION['sujet']
c'est ce que j'ai fait mais cela ne marche pas car le champs sujet contient plusieurs sujets en général et il ne sera donc pas égal à $_SESSION['sujet' ], il faudrait que $_SESSION['sujet' ] soit comparé avec tous les sujets y compris ceux d'un même champ mais je ne sais pas comment faire...
merci d'avance
merci d'avance
je n'y arrive pas...
merci