Problème d'imbrication if pour ma requete
Résolu
sinifer
Messages postés
312
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
j'ai un problème avec ce code je vois pas l'erreur??
J'esseil de récupérer une date et avec cette date j'affiche les différent éléments dont j'ai besoin mais sa marche pas :( si vous pouvez me donner votre avis ce serait gentille merci car j'arrive pas a trouvé mon erreur je pense que j'ai du fair une erreur dans le if??
j'ai un problème avec ce code je vois pas l'erreur??
J'esseil de récupérer une date et avec cette date j'affiche les différent éléments dont j'ai besoin mais sa marche pas :( si vous pouvez me donner votre avis ce serait gentille merci car j'arrive pas a trouvé mon erreur je pense que j'ai du fair une erreur dans le if??
if (isset($date_du) && isset($date_au)) { $query_vg = mysql_query("SELECT IF(customers_from LIKE '1st%','1rst',customers_from) AS Origin, COUNT(*) AS effectif_vg FROM customers inner join relances_gratuites on customers.customers_id=relances_gratuites.customers_id WHERE customers_client='0' AND customers_emv='0' AND customers_seance ='0' AND relances_gratuites_inscription_date>='" . $date_du . "' and relances_gratuites_inscription_date<='" . $date_au . "' GROUP BY Origin "); and $query = mysql_query("SELECT IF(cu.customers_from LIKE '1st%','1rst',cu.customers_from) AS Origin, COUNT(DISTINCT cu.customers_id) AS effectif, count(co.commandes_status) AS command, AVG(co.commandes_montant) AS Mmc FROM customers cu INNER JOIN commandes co ON cu.customers_id=co.customers_id INNER JOIN relances_gratuites rg ON cu.customers_id=rg.customers_id WHERE co.commandes_status='1' AND rg.relances_gratuites_inscription_date>='" . $date_du . "' AND rg.relances_gratuites_inscription_date<='" . $date_au . "' GROUP BY Origin "; } else if (isset($date_du) && $date_du != '') { $query_vg = mysql_query("SELECT IF(customers_from LIKE '1st%','1rst',customers_from) AS Origin, COUNT(*) AS effectif_vg FROM customers inner join relances_gratuites on customers.customers_id=relances_gratuites.customers_id WHERE customers_client='0' AND customers_emv='0' AND customers_seance ='0' AND relances_gratuites_inscription_date>='" . $date_du . "' GROUP BY Origin "); and $query = mysql_query("SELECT IF(cu.customers_from LIKE '1st%','1rst',cu.customers_from) AS Origin, COUNT(DISTINCT cu.customers_id) AS effectif, count(co.commandes_status) AS command, AVG(co.commandes_montant) AS Mmc FROM customers cu INNER JOIN commandes co ON cu.customers_id=co.customers_id INNER JOIN relances_gratuites rg ON cu.customers_id=rg.customers_id WHERE co.commandes_status='1' AND rg.relances_gratuites_inscription_date>='" . $date_du . "' GROUP BY Origin"); } else (isset($date_au) && $date_au != '') { $query_vg = mysql_query("SELECT IF(customers_from LIKE '1st%','1rst',customers_from) AS Origin, COUNT(*) AS effectif_vg FROM customers inner join relances_gratuites on customers.customers_id=relances_gratuites.customers_id WHERE customers_client='0' AND customers_emv='0' AND customers_seance ='0' AND relances_gratuites_inscription_date>='" . $date_au . "' GROUP BY Origin "); and $query = mysql_query("SELECT IF(cu.customers_from LIKE '1st%','1rst',cu.customers_from) AS Origin, COUNT(DISTINCT cu.customers_id) AS effectif, count(co.commandes_status) AS command, AVG(co.commandes_montant) AS Mmc FROM customers cu INNER JOIN commandes co ON cu.customers_id=co.customers_id INNER JOIN relances_gratuites rg ON cu.customers_id=rg.customers_id WHERE co.commandes_status='1' AND rg.relances_gratuites_inscription_date>='" . $date_au . "' GROUP BY Origin"); }
A voir également:
- Problème d'imbrication if pour ma requete
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de tennis mais pas de tennis de table ✓ - Forum Java
- Requête bloquée par le pare-feu applicatif claranet webfence ✓ - Forum Réseaux sociaux
- Requete sql pix - Forum PHP
- Erreur lors de l'envoi de la requête facebook - Forum Facebook
- Erreur de requete facebook - Forum Facebook
4 réponses
ton code n'est pas du tout logique je trouve mais bon ...
essaye ça
essaye ça
<?php if (isset($date_du) && isset($date_au)) { $query_vg = mysql_query("SELECT IF(customers_from LIKE '1st%','1rst',customers_from) AS Origin, COUNT(*) AS effectif_vg FROM customers inner join relances_gratuites on customers.customers_id=relances_gratuites.customers_id WHERE customers_client='0' AND customers_emv='0' AND customers_seance ='0' AND relances_gratuites_inscription_date>='" . $date_du . "' and relances_gratuites_inscription_date<='" . $date_au . "' GROUP BY Origin "); $query = mysql_query("SELECT IF(cu.customers_from LIKE '1st%','1rst',cu.customers_from) AS Origin, COUNT(DISTINCT cu.customers_id) AS effectif, count(co.commandes_status) AS command, AVG(co.commandes_montant) AS Mmc FROM customers cu INNER JOIN commandes co ON cu.customers_id=co.customers_id INNER JOIN relances_gratuites rg ON cu.customers_id=rg.customers_id WHERE co.commandes_status='1' AND rg.relances_gratuites_inscription_date>='" . $date_du . "' AND rg.relances_gratuites_inscription_date<='" . $date_au . "' GROUP BY Origin "; if (isset($date_du) && $date_du != '') { $query_vg = mysql_query("SELECT IF(customers_from LIKE '1st%','1rst',customers_from) AS Origin, COUNT(*) AS effectif_vg FROM customers inner join relances_gratuites on customers.customers_id=relances_gratuites.customers_id WHERE customers_client='0' AND customers_emv='0' AND customers_seance ='0' AND relances_gratuites_inscription_date>='" . $date_du . "' GROUP BY Origin "); $query = mysql_query("SELECT IF(cu.customers_from LIKE '1st%','1rst',cu.customers_from) AS Origin, COUNT(DISTINCT cu.customers_id) AS effectif, count(co.commandes_status) AS command, AVG(co.commandes_montant) AS Mmc FROM customers cu INNER JOIN commandes co ON cu.customers_id=co.customers_id INNER JOIN relances_gratuites rg ON cu.customers_id=rg.customers_id WHERE co.commandes_status='1' AND rg.relances_gratuites_inscription_date>='" . $date_du . "' GROUP BY Origin"); } if(isset($date_au) && $date_au != '') { $query_vg = mysql_query("SELECT IF(customers_from LIKE '1st%','1rst',customers_from) AS Origin, COUNT(*) AS effectif_vg FROM customers inner join relances_gratuites on customers.customers_id=relances_gratuites.customers_id WHERE customers_client='0' AND customers_emv='0' AND customers_seance ='0' AND relances_gratuites_inscription_date>='" . $date_au . "' GROUP BY Origin "); $query = mysql_query("SELECT IF(cu.customers_from LIKE '1st%','1rst',cu.customers_from) AS Origin, COUNT(DISTINCT cu.customers_id) AS effectif, count(co.commandes_status) AS command, AVG(co.commandes_montant) AS Mmc FROM customers cu INNER JOIN commandes co ON cu.customers_id=co.customers_id INNER JOIN relances_gratuites rg ON cu.customers_id=rg.customers_id WHERE co.commandes_status='1' AND rg.relances_gratuites_inscription_date>='" . $date_au . "' GROUP BY Origin"); } } ?>
Merci,
Je sais qu'il est pas des plus logique mais si ta une piste ce serait gentile et merci pour le bout de code que tu vien de me donné par contre a la place de if je devrai pas mettre des else if et else???
Je sais qu'il est pas des plus logique mais si ta une piste ce serait gentile et merci pour le bout de code que tu vien de me donné par contre a la place de if je devrai pas mettre des else if et else???
Merci Dante-33,
Mais je comprend pas pourquoi avec des if sa marche et pas avec des else if ??
Mais je comprend pas pourquoi avec des if sa marche et pas avec des else if ??
En français ca donne ->
dans ta version :
Si la variable $date_du est définie et si la variable $date_au est définie
// c'est là ou est l'erreur car on rentrera toujours dans ce cas
on fait une action
sinon si la variable $date_du est définie
// c'est là ou est l'erreur car on rentrera jamais dans ce cas
on fait une autre action
sinon si la variable $date_au est définie
// c'est là ou est l'erreur car on rentrera jamais dans ce cas
on fait une dernière action
dans ma version :
Si la variable $date_du est définie et si la variable $date_au est définie alors
si la variable $date_du est définie
on fait une autre action
si la variable $date_au est définie
on fait une dernière action
dans ta version :
Si la variable $date_du est définie et si la variable $date_au est définie
// c'est là ou est l'erreur car on rentrera toujours dans ce cas
on fait une action
sinon si la variable $date_du est définie
// c'est là ou est l'erreur car on rentrera jamais dans ce cas
on fait une autre action
sinon si la variable $date_au est définie
// c'est là ou est l'erreur car on rentrera jamais dans ce cas
on fait une dernière action
dans ma version :
Si la variable $date_du est définie et si la variable $date_au est définie alors
si la variable $date_du est définie
on fait une autre action
si la variable $date_au est définie
on fait une dernière action
pour ceu que sa intéresserai
$condition = ""; if (isset($date_du) && !empty($date_du)) { $condition .= " AND rg.relances_gratuites_inscription_date>='" . $date_du . "' "; } if (isset($date_au) && !empty($date_au)) { $condition .= " AND rg.relances_gratuites_inscription_date<='" . $date_au . "' "; } $query_vg = mysql_query("SELECT IF(customers_from LIKE '1st%','1rst',customers_from) AS Origin, COUNT(*) AS effectif_vg FROM customers c inner join relances_gratuites rg on c.customers_id=rg.customers_id WHERE customers_client='0' AND customers_emv='0' AND customers_seance ='0' " . $condition . " GROUP BY Origin " ); $query = mysql_query("SELECT IF(cu.customers_from LIKE '1st%','1rst',cu.customers_from) AS Origin, COUNT(DISTINCT cu.customers_id) AS effectif, count(co.commandes_status) AS command, AVG(co.commandes_montant) AS Mmc FROM customers cu INNER JOIN commandes co ON cu.customers_id=co.customers_id INNER JOIN relances_gratuites rg ON cu.customers_id=rg.customers_id WHERE co.commandes_status='1' " . $condition . " GROUP BY Origin " );