Lister, trier les noms selon des lieux
Résolu/Fermé
t671
Messages postés
1462
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
21 décembre 2024
-
7 févr. 2012 à 12:16
t671 Messages postés 1462 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 21 décembre 2024 - 8 févr. 2012 à 10:10
t671 Messages postés 1462 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 21 décembre 2024 - 8 févr. 2012 à 10:10
A voir également:
- Lister, trier les noms selon des lieux
- Excel trier par ordre croissant chiffre - Guide
- Les noms des animaux - Télécharger - Études & Formations
- Les logos et leurs noms - Télécharger - Jeux vidéo
- Application gratuite pour trier les photos - Guide
- Excel trier par date ne fonctionne pas ✓ - Forum Excel
3 réponses
AssassinTourist
Messages postés
5710
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
29 février 2024
1 311
7 févr. 2012 à 16:56
7 févr. 2012 à 16:56
Bonjour,
Je ne saurais pas t'aider précisément, mais je pense qu'il faut que tu cherches vers la commande sql INNER JOIN (au lieu de faire deux boucles)
Je ne saurais pas t'aider précisément, mais je pense qu'il faut que tu cherches vers la commande sql INNER JOIN (au lieu de faire deux boucles)
t671
Messages postés
1462
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
21 décembre 2024
11
7 févr. 2012 à 17:15
7 févr. 2012 à 17:15
J'y avais pensé, mais je ne sais pas du tout comment faire avec mes tables, puisque la table individus comporte les lieux éparpillés sur plusieurs colonne, et la table lieux regroupe tous les lieux ........ !
:-(
:-(
AssassinTourist
Messages postés
5710
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
29 février 2024
1 311
7 févr. 2012 à 17:19
7 févr. 2012 à 17:19
Tu peux faire un INNER JOIN table ON (val1 = val2 OR val3=val4) il me semble
t671
Messages postés
1462
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
21 décembre 2024
11
7 févr. 2012 à 17:35
7 févr. 2012 à 17:35
Si je fais :
Il faut dans ma deuxième boucle que je teste à chaque fois $row['lieu']. Si la valeur de $row['lieu'] ne change pas, je continue à afficher $row2['nom']. Mais si elle change, j'affiche de nouveau $row['lieu'].
Comment faire ça ???? Je m'emmêle les pinceaux ........... :(
while ($row = mysql_fetch_array($result)) { $query2='SELECT * FROM individus WHERE famille LIKE "%TOTO%" AND ("'.$row['lieu'].'" LIKE lieu_naissance OR "'.$row['lieu'].'" LIKE lieu_dc OR "'.$row['lieu'].'" LIKE lieu_mariage_1 OR "'.$row['lieu'].'" LIKE lieu_mariage_2 OR "'.$row['lieu'].'" LIKE lieu_mariage_3) GROUP BY nom'; $result2 = mysql_query($query2,$link) or exit ('Erreur : '.mysql_error() ); while ($row2 = mysql_fetch_array($result2)) { echo '<p>'.$row['lieu'].'<br>'; echo ' '.$row2['nom'].' - '; } }
Il faut dans ma deuxième boucle que je teste à chaque fois $row['lieu']. Si la valeur de $row['lieu'] ne change pas, je continue à afficher $row2['nom']. Mais si elle change, j'affiche de nouveau $row['lieu'].
Comment faire ça ???? Je m'emmêle les pinceaux ........... :(
AssassinTourist
Messages postés
5710
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
29 février 2024
1 311
7 févr. 2012 à 19:38
7 févr. 2012 à 19:38
C'est un autre problème.
// Tu fais une variable qui va te permettre de mémoriser la valeur juste avant
$old_valeur = "";
while ($row2 = mysql_fetch_array($result2))
{
if($row['lieu'] != $old_valeur)
{
echo '<p>'.$row['lieu'].'<br>';
echo ' '.$row2['nom'].' - ';
// On change la variable
$old_valeur = $row['lieu'];
}
}
Bon après, je ne suis pas sûr d'avoir tout saisi ce que tu voulais faire au final, donc tu adaptes le if au besoin (et mettre un else)
// Tu fais une variable qui va te permettre de mémoriser la valeur juste avant
$old_valeur = "";
while ($row2 = mysql_fetch_array($result2))
{
if($row['lieu'] != $old_valeur)
{
echo '<p>'.$row['lieu'].'<br>';
echo ' '.$row2['nom'].' - ';
// On change la variable
$old_valeur = $row['lieu'];
}
}
Bon après, je ne suis pas sûr d'avoir tout saisi ce que tu voulais faire au final, donc tu adaptes le if au besoin (et mettre un else)
t671
Messages postés
1462
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
21 décembre 2024
11
8 févr. 2012 à 10:10
8 févr. 2012 à 10:10
Effectivement ! C'était si simple .................. ;o)
Merci beaucoup AssassinTourist !!!!
Merci beaucoup AssassinTourist !!!!