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 11/10/2011, 09h25   #1
Candidat au titre de Membre du Club
 
Homme
Inscription : octobre 2011
Messages : 30
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Tarn (Midi Pyrénées)

Informations forums :
Inscription : octobre 2011
Messages : 30
Points : 12
Points : 12
Par défaut requete mysql avec des dates

Bonjour,

je viens vers vous car j'ai une requete qui ne fonctionne pas j'essaie de creer une boucle qui me récupére toutes les valeurs.

Quand j'execute ma requete je n'ai pas d'erreur mais si j'essaie d'afficher dans ma boucle les valeurs rien ne se passe avez vous une idée ?



Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
$contrat = $row_producteur['Contrat'];
$debut_contrat=new DateTime($contrat);
$fin_contrat=$debut_contrat->add(new DateInterval('P1Y'));;
 
 
 $compteur_production_annuel = 0;
 
$production = mysql_query("SELECT * FROM Production WHERE (date_debut>='".$debut_contrat->format('Y-m-d')."') and (date_debut<'".$fin_contrat->format('Y-m-d')."');");
 
while($row_production = mysql_fetch_array($production))
{
 
echo $row_production['Date_debut'];
echo $row_production['Date_fin'];
}
merci
esteban0013 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2011, 09h50   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 131
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 131
Points : 8 491
Points : 8 491
commence par activé le trace mode
Code :
ini_set('mysql.trace_mode', true);
ensuite un var_dump($row_production) pour voir ce que contient ta variable
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2011, 10h25   #3
Candidat au titre de Membre du Club
 
Homme
Inscription : octobre 2011
Messages : 30
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Tarn (Midi Pyrénées)

Informations forums :
Inscription : octobre 2011
Messages : 30
Points : 12
Points : 12
je viens de le faire j'ai ceci comme message

Code :
1
2
bool(false) 
Warning: Unknown: 2 result set(s) not freed. Use mysql_free_result to free result sets which were requested using mysql_query() in Unknown on line 0
esteban0013 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2011, 10h34   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 131
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 131
Points : 8 491
Points : 8 491
montre le code que t'as fais avec les modifs
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2011, 10h37   #5
Candidat au titre de Membre du Club
 
Homme
Inscription : octobre 2011
Messages : 30
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Tarn (Midi Pyrénées)

Informations forums :
Inscription : octobre 2011
Messages : 30
Points : 12
Points : 12
le voici

Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
$contrat = $row_producteur['Contrat'];
$debut_contrat=new DateTime($contrat);
$fin_contrat=$debut_contrat->add(new DateInterval('P1Y'));;
 
 ini_set('mysql.trace_mode', true);
 
 $compteur_production_annuel = 0;
 
$production = mysql_query("SELECT * FROM Production WHERE (date_debut>='".$debut_contrat->format('Y-m-d')."') and (date_debut<'".$fin_contrat->format('Y-m-d')."');");
$row_production = mysql_fetch_array($production);
var_dump($row_production);
esteban0013 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2011, 10h41   #6
Modérateur
 
Inscription : septembre 2010
Messages : 7 131
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 131
Points : 8 491
Points : 8 491
et var_dump($production);
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2011, 10h45   #7
Candidat au titre de Membre du Club
 
Homme
Inscription : octobre 2011
Messages : 30
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Tarn (Midi Pyrénées)

Informations forums :
Inscription : octobre 2011
Messages : 30
Points : 12
Points : 12
Citation:
Envoyé par stealth35 Voir le message
et var_dump($production);
voici le code d'erreur

Code :
1
2
resource(6) of type (mysql result) 
Warning: Unknown: 2 result set(s) not freed. Use mysql_free_result to free result sets which were requested using mysql_query() in Unknown on line 0
mais quand je teste ma requete sur phpmyadmin sans les variables ça passe est ce ma definition des variables dans la requete qui coince ?
esteban0013 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2011, 10h51   #8
Modérateur
 
Inscription : septembre 2010
Messages : 7 131
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 131
Points : 8 491
Points : 8 491
fait :

Code :
1
2
3
4
while($row_production = mysql_fetch_array($production))
{
    var_dump($row_production);
}
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2011, 10h58   #9
Candidat au titre de Membre du Club
 
Homme
Inscription : octobre 2011
Messages : 30
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Tarn (Midi Pyrénées)

Informations forums :
Inscription : octobre 2011
Messages : 30
Points : 12
Points : 12
Citation:
Envoyé par stealth35 Voir le message
fait :

Code :
1
2
3
4
while($row_production = mysql_fetch_array($production))
{
    var_dump($row_production);
}


je viens de tester je n'est que la deuxième ligne d'erreur

Code :
Warning: Unknown: 2 result set(s) not freed. Use mysql_free_result to free result sets which were requested using mysql_query() in Unknown on line 0
esteban0013 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2011, 11h01   #10
Modérateur
 
Inscription : septembre 2010
Messages : 7 131
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 131
Points : 8 491
Points : 8 491
je comprend c'est juste ta requete qui ne renvoie rien

pour le free result il faut toujours le mettre a la fin de ta boucle, comme l'indique la doc

toujours faire :
Code :
1
2
3
4
 
$sql = "SELECT * FROM Production WHERE (date_debut>='".$debut_contrat->format('Y-m-d')."') and (date_debut<'".$fin_contrat->format('Y-m-d')."');"
// var_dump($sql);
$production = mysql_query($sql);
vérifie ta requete

au passage je te conseil de passer sous mysqli ou PDO
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2011, 11h23   #11
Candidat au titre de Membre du Club
 
Homme
Inscription : octobre 2011
Messages : 30
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Tarn (Midi Pyrénées)

Informations forums :
Inscription : octobre 2011
Messages : 30
Points : 12
Points : 12
merci beaucoup stealth35 de m'avoir montrer comment voir ce que retourner ma requete et en fait c'etait au niveau de mes variables car debut contrat prenais la meme valeur que fin donc pas d'enregistrement.

Je vais voir concernant PDO ou mysqli.

En te remerciant
esteban0013 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 02h45.


 
 
 
 
Partenaires

Hébergement Web