Lister, trier les noms selon des lieux
Résolu
t671
Messages postés
1476
Date d'inscription
Statut
Membre
Dernière intervention
-
t671 Messages postés 1476 Date d'inscription Statut Membre Dernière intervention -
t671 Messages postés 1476 Date d'inscription Statut Membre Dernière intervention -
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
- Logiciel pour trier les photos automatiquement - Guide
- Lister les disques cmd - Guide
- Lieux visités google - Guide
3 réponses
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)
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 ........ !
:-(
:-(
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 ........... :(
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)