Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/04/2011, 21h37   #1
Membre habitué
 
Inscription : décembre 2007
Messages : 392
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : décembre 2007
Messages : 392
Points : 118
Points : 118
Par défaut Select dans une boucle while

Bonjour,

Je suis completement bloque et je ne trouve pas de solution. Je viens donc une fois de plus demander de l'aide

Je veux faire une calendrier avec pour certains jours un lien vers une autre page.

J'ai fait cela:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
while ($i<=$nombreDeJours)
{
$requete="select date from bpv_com WHERE link_id IN ('5','6','7','8','12')";
$result = mysql_fetch_array(mysql_query($requete)); 
 
echo "<td width=\"12,5%\">";
 
$date_actitees=$year."-".$month."-".$i;
 
IF ($result[0] == $date_actitees)
{
 
echo "<a href=\"organisation.php?date=".$date_actitees."\">$i</a>";
}else
{
echo $i;
}
echo "</td>";
$i=$i+1;
$j=$j+1;
if ($j==7)
{
echo "</tr><tr>";
$j=0;
}
}
 
?>
Lorsque j'ecris
Code :
IF ($result[0] == $date_actitees)
il me met bien un lien juste pour la valeur de result[0]. Maintenant je voudrais que il passe en revu toutes les valeurs de result ($result[0] $result[1]$result[2]....) pour qu'un lien soit cree a chaque valeur qui correspond a la date $date_actitees.

style $result[$i-1] mais je ne sais pas comment faire cela!

Merci de votre aide.
voyageurdumonde est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/04/2011, 22h12   #2
Membre émérite
 
Avatar de vorace
 
Homme
Développeur
Inscription : août 2010
Messages : 587
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur

Informations forums :
Inscription : août 2010
Messages : 587
Points : 861
Points : 861
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
$requete="select date from bpv_com WHERE link_id IN ('5','6','7','8','12')";
while($result = mysql_fetch_array(mysql_query($requete))){ 
 
echo "<td width=\"12,5%\">";
 while ($i<=$nombreDeJours)
{
$date_actitees=$year."-".$month."-".$i; 
IF ($result[0] == $date_actitees)
{
 
echo "<a href=\"organisation.php?date=".$date_actitees."\">$i</a>";
}else
{
echo $i;
}
echo "</td>";
$i=$i+1;
$j=$j+1;
if ($j==7)
{
echo "</tr><tr>";
$j=0;
}
}
}
 
?>
__________________
Développeur informatique contrarié...
vorace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/04/2011, 00h21   #3
Membre habitué
 
Inscription : décembre 2007
Messages : 392
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : décembre 2007
Messages : 392
Points : 118
Points : 118
non ca ne fonctionne pas (ca creer un boucle sans fin et plante FF)

par contre ca m'a donne une idee qui fonctionne

je cree un array avant la boucle puis je fais une recherche dans l'array pour voir si ma valeur est presente.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
$requete="select date from bpv_com WHERE link_id IN ('5','6','7','8','12')";
//$result = mysql_fetch_array(mysql_query($requete));
$requete1 = mysql_query( $requete, $link ) or die;
$table = array();
while ($result = mysql_fetch_array($requete1)){
$table[] = $result['date'];
 
}
 
while ($i<=$nombreDeJours)
{
echo "<td width=\"12,5%\">";
$date_actitees=$year."-".$month."-".$i;
 
IF (in_array($date_actitees, $table))
.....
Ca fonctionne bien sauf pour les 9 premiers jours du mois car $i<=$nombreDeJours donne comme resultat "1" "2" etc.... et que dans la BDD les informations sont ecrite "01" "02"

comment faire pour que $i = 01 et non pas 1
Merci
voyageurdumonde est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/04/2011, 10h23   #4
Membre émérite
 
Avatar de vorace
 
Homme
Développeur
Inscription : août 2010
Messages : 587
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur

Informations forums :
Inscription : août 2010
Messages : 587
Points : 861
Points : 861
str_pad() :
http://php.net/manual/fr/function.str-pad.php
__________________
Développeur informatique contrarié...
vorace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/04/2011, 11h27   #5
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
sinon pour faciliter ton traitement php tu peux aussi mettre en base un calendrier .. et tu fais seulement de l'affichage en php..
__________________
Stay in Bed .. Save Energy
boo64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/04/2011, 18h08   #6
Membre habitué
 
Inscription : décembre 2007
Messages : 392
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : décembre 2007
Messages : 392
Points : 118
Points : 118
salut,

Je ne suis pas sur de comprendre ce que tu veux me dire

Je n'ai pas du etre clair dans ma demande,
Le code fonctionne bien sauf que pour les 9 premiers jours du mois $i<=$nombreDeJours donne comme resultat "1" "2" etc.... et dans la BDD les informations sont ecrite "01" "02"

comment faire pour que $i = 01 et non pas $i =1,

existe-il une foncion PHP qui ferait cela automatiquement.

Merci
voyageurdumonde est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/04/2011, 20h22   #7
Membre émérite
 
Avatar de vorace
 
Homme
Développeur
Inscription : août 2010
Messages : 587
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur

Informations forums :
Inscription : août 2010
Messages : 587
Points : 861
Points : 861
Citation:
Envoyé par voyageurdumonde Voir le message
salut,

Je ne suis pas sur de comprendre ce que tu veux me dire

Je n'ai pas du etre clair dans ma demande,
Le code fonctionne bien sauf que pour les 9 premiers jours du mois $i<=$nombreDeJours donne comme resultat "1" "2" etc.... et dans la BDD les informations sont ecrite "01" "02"

comment faire pour que $i = 01 et non pas $i =1,

existe-il une foncion PHP qui ferait cela automatiquement.

Merci
et si tu regardais juste au dessus le lien que je t'ai mis :
str_pad()
__________________
Développeur informatique contrarié...
vorace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2011, 00h35   #8
Membre habitué
 
Inscription : décembre 2007
Messages : 392
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : décembre 2007
Messages : 392
Points : 118
Points : 118
Desole Vorace, j'avais juste vu la reponse de boo64.
Merci pour l'info
voyageurdumonde est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h36.


 
 
 
 
Partenaires

Hébergement Web