Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

[Controle en php d'une requete vide]

trik59, le mardi 8 février 2005 à 10:37:17
Bonjour! a tous

voila, j'ai dans mon parogramme,une requete SQL qui fonctionne parfaitement:

en faite je demd a celle ci de me sortir tout les materiels qui se trouve ds ma base a partir d'une date butoir!...

voila le probleme c'est que je peut demander par ex:tous les matos <21/04/2004, (resultat corect!), mais voila c'est que je peut osi taper par ex: comme 21/04/1111 avec un resultat vide! en gros je peut lui dire de me sortir les matos en 1930 ou avt J.C :) il me sort un resultat vide !


moi ce que je souhaiterais c'est de faire un ti controle de la requete, ds le cas ou celle ci me renvoi un resultat vide, et d'aficher un message d'erreur (" selon cette requete ya rien au fichier")... en gros ou cas ou que la requete est fausse ou vide ???






je met ma requete le code que j'ai essayer ne marche pa trop bien ! (je peut le mettre si ya demende)


if ($err == 0){

$requete = "SELECT division.id_div, division.nom_div, type_mat.id_sorte_mat, materiel.statut, count( * ) nbr_ucs
FROM materiel, type_mat, division
WHERE type_mat.id_sorte_mat = $smat
AND materiel.statut = \"A\"
AND materiel.id_type_mat = type_mat.id_type_mat
AND materiel.id_div = division.id_div
AND materiel.date_livraison <=\"$ddate\"
GROUP BY division.id_div;";

$resultat = requeteSQL($requete);

$i = 0;
if(mysql_num_rows($resultat)) //vérification qu'il y a au moins une ligne de résultat
{
while($tab = mysql_fetch_row($resultat)) //récupération du résultat de la requête ligne par ligne

//équivalent à mysql_fetch_array($resultat,MYSQL_NUM)
{
$liste["count( * ) nbr_ucs"][$i] = $tab[4];
$liste["materiel.statut"][$i] = $tab[3];
$liste["type_mat.id_sorte_mat"][$i] = $tab[2];
$liste["division.nom_div"][$i] = $tab[1];
$liste[division.id_div"][$i] = $tab[0];
$i++;
}
}
else
{
$liste = 0;
}


echo $requete;
echo "<PRE>";
print_r($liste);
echo "</PRE>;







voila jesper avoir été précis
avec tout mes remerciements!

a++







le savoir est un devoir...
Répondre à trik59  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 kilian, le mardi 8 février 2005 à 19:59:14
Salut,

Une idée comme ça : si, pour ta requête, il n'ya pas de résultat correspondant, tu auras sûrement des variables vides après ta récupération, je parle de ces variables:
$liste["count( * ) nbr_ucs"][$i] = $tab[4];
$liste["materiel.statut"][$i] = $tab[3];
(etc....) 


Alors il te suffis de choisir une variable qui ne peut en aucun cas être vide si la requête est bonne (prenons $liste["division.nom_div"][$i] au pif) => il faudrait faire ce test:

/* Si la valeur de $liste["division.nom_div"][$i] est égale à 0 ou si cette variable est nulle */
if (empty($liste["division.nom_div"][1]))
{
       Instuction en cas de requête qui n'a pas marché)
}


C'est tout ce que j'ai trouvé, il ya sûrement mieux.
En fait j'ai essayé de reproduire une situation qui ressemble à la tienne, mysql_query() ne renvoyait pas d'erreur en cas de requête qui ne trouve pas de valeur correspondant à une autre dans une table. Par contre je récupérais ma valeur avec mysql_result() et là j'avais une erreur.

Comme toi tu n'as pas d'erreur au moment de la récupération avec mysql_fetch_row() (à moins que tu ne me l'ais pas dit), c'est donc après que tu peux faire le test des valeurs de retour de ta requête avec empty() pour vérifier qu'une variable est vide (ou égale à 0, FALSE....) alors qu'elle ne devrait pas l'être après cette récupération.

Je sens que je suis pas très clair...
Cette methode est un peu lourde mais là je vois pas d'autre solution :-(

Je sais même pas si ça va marcher dans ton cas, essaie toujours.

Fais un tour vers ce lien:
http://fr3.php.net/manual/fr/function.empty.php
Répondre à kilian
Aide pour un controle de requete en php (Résolu) Bonjour! voila j'ai une page ds lequel je saisie des infos, et cela en relation avec ma base mysql renvoyer par serveur! je voudrais savoir en faite je peut faire un controle pour ma requete ?, (par ex: je saisie des données et lors de... www.commentcamarche.net/forum/affich-1289433-aide-pour-un-controle-de-requete-en-php
Un probleme mysql+php retour de requete vide (Résolu) Bonjour, Voila j'ai comme configuration de travail ceci : un machine portable avec win xp pro et wamp 5 installé dessus. j'ai une base de donnée dans laquelle j'ai plusieurs tables de news (une par langue activée dans la config du... www.commentcamarche.net/forum/affich-3923816-un-probleme-mysql-php-retour-de-requete-vide
[MySQL/PHP]Requète dans une variable??? (Résolu)Salut à tous, Voilà, j'ai un problème: je n'arrive pas à passer une requète MySQL par une variable PHP.... :s C'est surement une erreur à la co*, mais je n'arrive pas à la trouver :s Si quelqu'un pouvait m'aider :s voilà... www.commentcamarche.net/forum/affich-6260195-mysql-php-requete-dans-une-variable
PHP requete date Probleme (Résolu)hello j'ai un petit soucis : je ne comprends pas pourquoi ma requete me donne de mauvais résultats: SELECT Id_Membre, Nom_Membre, Annee_Promo FROM Membre WHERE Id_Membre 2 AND Annee_Promo >=2004 -09 -01 ORDER BY Nom_Membre me donne des... www.commentcamarche.net/forum/affich-1587980-php-requete-date-probleme
[PHP] Requete SQL (Résolu)Bonjour à tous. Je n'arrive pas à faire une rêquete SQL depuis un moment et je déprime :( Si quelqu'un pourrait m'aider çà serait hyper cool Voilà mon problème : Je souhaite faire une requete à ma BD (mysql) pour recuperer une liste de... www.commentcamarche.net/forum/affich-3496972-php-requete-sql
Un casque de contrôle de jeux vidéo par la pensée(Paris - Relax news) - Contrôler et manipuler un personnage de jeu vidéo par la pensée, c'est pour bientôt. Une société australo-américaine, Emotiv, a présenté à l'occasion du Game Developpers Conference de San Francisco (jusqu'au 22 février) le... www.commentcamarche.net/actualites/un-casque-de-controle-de-jeux-video-par-la-pensee-5111638-actualite.php3
Le clip controversé de l'UE a été vu 3 millions de fois sur YouTube(Paris - Relaxnews) - La vidéo très controversée diffusée depuis une semaine par l'Union européenne sur YouTube rencontre un franc succès. Le clip, montrant des couples faisant l'amour, a été visionné plus de 2,8 millions de fois depuis sa mise en... www.commentcamarche.net/actualites/le-clip-controverse-de-l-ue-a-ete-vu-3-millions-de-fois-sur-youtube-3215434-actualite.php3
PHP - Récupération de donnéesPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des... www.commentcamarche.net/contents/php/phpform.php3
SQL - Sous-requêtesExpression des sous-requêtes Effectuer une sous-requête consiste à effectuer une requête à l'intérieur d'une autre, ou en d'autres termes d'utiliser une requête afin d'en réaliser une autre (on entend parfois le terme de requêtes en... www.commentcamarche.net/contents/sql/sqlssreq.php3
LDAP - Le protocole LDAPIntroduction à LDAP LDAP (Lightweight Directory Access Protocol, traduisez Protocole d'accès aux annuaires léger et prononcez "èl-dap") est un protocole standard permettant de gérer des annuaires, c'est-à-dire d'accéder à des bases d'informations... www.commentcamarche.net/contents/ldap/ldapldap.php3