A voir également:
- Récupérer la plus petite ID d'un foreach.
- Comment recuperer un message supprimé sur whatsapp - Guide
- Recuperer video youtube - Guide
- Comment récupérer un compte facebook piraté - Guide
- Impossible de récupérer mon compte gmail - Guide
- Récupérer mon compte facebook désactivé - Guide
3 réponses
Bionik
Messages postés
4232
Date d'inscription
jeudi 19 août 2010
Statut
Modérateur
Dernière intervention
3 août 2016
184
10 avril 2013 à 15:23
10 avril 2013 à 15:23
Salut,
Tu peux utiliser la fonction MIN de SQL.
$sql = "SELECT MIN(id) FROM ta_table" ;
Tu peux utiliser la fonction MIN de SQL.
$sql = "SELECT MIN(id) FROM ta_table" ;
Salut, tout d'abord merci pour ton aide ;) Je viens de tester, mais ça ne me convient pas totalement ;)
j'ai opté pour la fonction min de php, mais vu que j'utilise cela dans un foreach je ne peux pas faire de min(array(r->blabla)); puisque sinon il décrète que chaque ID est la plus petite. Il faudrait donc que je récupère toutes mes ID dans un tableau en dehors du foreach. Tu sais comment faire ?
j'ai opté pour la fonction min de php, mais vu que j'utilise cela dans un foreach je ne peux pas faire de min(array(r->blabla)); puisque sinon il décrète que chaque ID est la plus petite. Il faudrait donc que je récupère toutes mes ID dans un tableau en dehors du foreach. Tu sais comment faire ?
Azraka
Messages postés
252
Date d'inscription
mercredi 11 juin 2008
Statut
Membre
Dernière intervention
5 juin 2014
13
10 avril 2013 à 16:32
10 avril 2013 à 16:32
Avant ton foreach déclare une variable $min, que tu initialises à 0.
Dans ton foreach tu fais un
Sinon si ton id est la clé de ton tableau tu peux aussi faire un
Dans ton foreach tu fais un
if ($tonId < $min) { $min = $tonId; }Et à la fin du foreach c'est bon, $min contient bien l'id min =)
Sinon si ton id est la clé de ton tableau tu peux aussi faire un
$min = min(array_keys($tontableau));
Merci à tous j'ai trouvé la solution, et j'ai oublié de venir répondre ^^'
Alors pour ceux que ça intéresse et qui aurait ce problème, voici la solution :
Faites un premier foreach($rows_o as $r) : dans lequel $id = min(array($r->id));
Puis faite une second foreach comme le premier avec la condition suivante :
if ($r->id == $id) {ce que vous voulez}
au final vous avez :
<?php
foreach($rows_o as $r) :
$id = min(array($r->id));
endforeach;
?>
<?php foreach($rows_o as $r) : ?>
<?php
if ($r->id == $id)
{
echo 'l'id le plus petit';
}
else
{
echo 'les autres id';
}
?>
">
Je vous explique un peu si ça vous intéresse ;)
En gros le foreach est fait pour lister, mais il liste d'une manière particulière, en fait le foreach répète son code pour chaque valeur qu'on lui demande de tester, donc si je faisais tout dans un seul foreach, il commencerait par tester l'id 1 seule, et dirait que c'est la plus petite, puis l'id 2 seule et dirait également que c'est la plus petite (bah oui elle est seule) etc.
Du coup, on séparant cela en deux foreach on peut extraire la plus petite valeur.
Voila c'est assez peu claire comme explication mais c'est le matin ;) Et puis il faut que vous cogitiez un peu pour que ça rentre hein ! :p
Aller bonne chance ;)
Guillaume
Alors pour ceux que ça intéresse et qui aurait ce problème, voici la solution :
Faites un premier foreach($rows_o as $r) : dans lequel $id = min(array($r->id));
Puis faite une second foreach comme le premier avec la condition suivante :
if ($r->id == $id) {ce que vous voulez}
au final vous avez :
<?php
foreach($rows_o as $r) :
$id = min(array($r->id));
endforeach;
?>
<?php foreach($rows_o as $r) : ?>
<?php
if ($r->id == $id)
{
echo 'l'id le plus petit';
}
else
{
echo 'les autres id';
}
?>
">
Je vous explique un peu si ça vous intéresse ;)
En gros le foreach est fait pour lister, mais il liste d'une manière particulière, en fait le foreach répète son code pour chaque valeur qu'on lui demande de tester, donc si je faisais tout dans un seul foreach, il commencerait par tester l'id 1 seule, et dirait que c'est la plus petite, puis l'id 2 seule et dirait également que c'est la plus petite (bah oui elle est seule) etc.
Du coup, on séparant cela en deux foreach on peut extraire la plus petite valeur.
Voila c'est assez peu claire comme explication mais c'est le matin ;) Et puis il faut que vous cogitiez un peu pour que ça rentre hein ! :p
Aller bonne chance ;)
Guillaume