Requête SQL avec php besoin d'aide
am88
Messages postés
9
Date d'inscription
Statut
Membre
Dernière intervention
-
donniecent Messages postés 19 Date d'inscription Statut Membre Dernière intervention -
donniecent Messages postés 19 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un problème avec la requête SQL j'aimerai avoir votre aide
la table operation suivante :
id_op ----- date_op ------------ id_articl ---- prix ----- duree
1 --------- 2012-04-10 -------- 512 -------- 2100 ------ 5
2 --------- 2012-04-17 -------- 324 -------- 900 ------- 2
3 --------- 2012-04-23 -------- 214 -------- 8900 ----- 48
4 --------- 2012-04-27 -------- 512 -------- 1100 ----- 36
5 --------- 2012-05-27 -------- 512 -------- 850 ------ 20
je veut sélectionner le prix et la duree WHERE date_op = max
voici le code php
<?php
$connexion = mysql_connect('localhost','root','','maintenance');
if(mysql_error($connexion)){
die('Ereur de connexion : '.mysql_error());
}
$sql= "SELECT MAX(date_op) AS date FROM maintenance.operation";
if($resultats = mysql_query($sql, $connexion)){
$ligne = mysql_fetch_assoc($resultats);
$date_max = $ligne['date'];
}
echo $date_max;
//ici j'ai la date qui s'affiche sont problème le problème c'est quand j'utilise cette variable dans le deuxième SELECT comme suit :
$sql = "SELECT id_op, prix, duree FROM maintenance.operation WHERE date_op = $date_max ";
if($resultats = mysql_query($sql, $connexion)){
$ligne = mysql_fetch_assoc($resultats);
$prix_op = $ligne['prix'];
$duree_op = $ligne['duree'];
}
?>
y-a-t-il une autre façon pour avoir le même résultat
j'ai essayer la même chose en remplaçant date_op par id_op et sa a marcher sont problème
j'aimerer aussi faire des traitement comme :
2012-04-01'<date_op<'2012-05-01 (pour le dessin des graphe)
si possible des lien utile sure comment faire ces traitement
j'ai un problème avec la requête SQL j'aimerai avoir votre aide
la table operation suivante :
id_op ----- date_op ------------ id_articl ---- prix ----- duree
1 --------- 2012-04-10 -------- 512 -------- 2100 ------ 5
2 --------- 2012-04-17 -------- 324 -------- 900 ------- 2
3 --------- 2012-04-23 -------- 214 -------- 8900 ----- 48
4 --------- 2012-04-27 -------- 512 -------- 1100 ----- 36
5 --------- 2012-05-27 -------- 512 -------- 850 ------ 20
je veut sélectionner le prix et la duree WHERE date_op = max
voici le code php
<?php
$connexion = mysql_connect('localhost','root','','maintenance');
if(mysql_error($connexion)){
die('Ereur de connexion : '.mysql_error());
}
$sql= "SELECT MAX(date_op) AS date FROM maintenance.operation";
if($resultats = mysql_query($sql, $connexion)){
$ligne = mysql_fetch_assoc($resultats);
$date_max = $ligne['date'];
}
echo $date_max;
//ici j'ai la date qui s'affiche sont problème le problème c'est quand j'utilise cette variable dans le deuxième SELECT comme suit :
$sql = "SELECT id_op, prix, duree FROM maintenance.operation WHERE date_op = $date_max ";
if($resultats = mysql_query($sql, $connexion)){
$ligne = mysql_fetch_assoc($resultats);
$prix_op = $ligne['prix'];
$duree_op = $ligne['duree'];
}
?>
y-a-t-il une autre façon pour avoir le même résultat
j'ai essayer la même chose en remplaçant date_op par id_op et sa a marcher sont problème
j'aimerer aussi faire des traitement comme :
2012-04-01'<date_op<'2012-05-01 (pour le dessin des graphe)
si possible des lien utile sure comment faire ces traitement
A voir également:
- Requête SQL avec php besoin d'aide
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Logiciel sql - Télécharger - Bases de données
- Jointure sql ✓ - Forum MySQL
- Alert php ✓ - Forum PHP
2 réponses
Bonsoir personnellement je code en PDO, mais il me semble que vous n'avez pas besoin de deux requêtes pour récupérer le prix et la durée de l'entrée ayant la date la plus ancienne :
Voici le code que je proposes :
<?php
$connexion = mysql_connect('localhost','root','','maintenance');
if(mysql_error($connexion)){
die('Ereur de connexion : '.mysql_error());
}
$sql= "SELECT id_op, date_op, prix, duree FROM operation ORDER by id_op LIMIT 0, 1";/** cette requête vous récupère toutes les informations concernantl'article le plus ancien.**/
if($resultats = mysql_query($sql, $connexion)){
$prix = $ligne['prix'];
$duree = $ligne['duree'];
//AFFICHAGE DU PRIX ET DE LA DURÉE DE VOTRE ARTICLE LE PLUS ANCIEN
echo 'Prix = '.$prix.'<br/>';
echo 'Durée = '.$duree.'';
}
?>
Admin de : http://b2geek.com à vôtre service.
b2geek.com | Site communautaire d'entraide domaine informatique, jeux vidéos, et bien plus
Voici le code que je proposes :
<?php
$connexion = mysql_connect('localhost','root','','maintenance');
if(mysql_error($connexion)){
die('Ereur de connexion : '.mysql_error());
}
$sql= "SELECT id_op, date_op, prix, duree FROM operation ORDER by id_op LIMIT 0, 1";/** cette requête vous récupère toutes les informations concernantl'article le plus ancien.**/
if($resultats = mysql_query($sql, $connexion)){
$prix = $ligne['prix'];
$duree = $ligne['duree'];
//AFFICHAGE DU PRIX ET DE LA DURÉE DE VOTRE ARTICLE LE PLUS ANCIEN
echo 'Prix = '.$prix.'<br/>';
echo 'Durée = '.$duree.'';
}
?>
Admin de : http://b2geek.com à vôtre service.
b2geek.com | Site communautaire d'entraide domaine informatique, jeux vidéos, et bien plus