Problème de comptage de lignes depuis MySQL

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème de comptage de lignes depuis MySQL

par shen » 05 avr. 2006, 12:04

Figure toi que lorsque j'ai vu mon erreur j'ai tout de suite regardé mon clavier ... LOL ... j'ai pas compris ... :roll: ... pour ta question et ben mes doigt ne sont pas trop court ... :lol:

:D Merci vous etes super!!!

par Cyrano » 04 avr. 2006, 18:06

j'avais tapé Date_c au lieu de Date_t
Le "c" est pourtant loin du "t", doigts trop courts ? :langue:

par shen » 04 avr. 2006, 15:28

:oops:
bon là j'ai vraiment honte en faite c'était juste une erreur de frappe, la honte... et quelle perte de temps aussi, désolé de vous avoir embété avec mon faux probleme !!!!

en fait quand je faisais le tri je me trompais, j'avais tapé Date_c au lieu de Date_t!!!

Mille merci Zeus d'avoir essayé de m'aider dans mon erreur bete!!!

par shen » 04 avr. 2006, 14:14

erreur true sqlE: SELECT NumTrans,Date_t,Corres,Msg,Type FROM Archive WHERE Msg NOT LIKE 'Réception'ORDER BY Date_c DESC,Heure DESC
erreur true sqlcountE: SELECT COUNT(NumTrans) FROM Archive WHERE Msg NOT LIKE 'Réception' AND Msg NOT LIKE 'Envoi Réussi' AND Msg NOT LIKE 'Envoi Réussi (attente de l accusé)' AND Msg NOT LIKE 'Envoi ftp réussi'

Nous avons 77 transmission(s) échouée(s) enregistré(s) dans notre base.


Afficher uniquement les transmissions échouées, cocher ici

Erreur!!!!
voila ce que j'affiche comme requete à la page mais en testant mon $result il est vide alors il m'affiche rien meme pas de message d'erreur!!!

par shen » 04 avr. 2006, 14:11

$sqlE = "SELECT NumTrans,Date_t,Corres,Msg,Type FROM Archive ";
$sqlE .= "WHERE Msg NOT LIKE 'Réception'";
$sqlE .= "ORDER BY Date_c $tri,Heure $tri";
voilà ma requete, elle a marché et à fur et à mesure que je rajoutais les condition sa marchait puis j'ai changer les AND en OR puis plus rien.

par zeus » 04 avr. 2006, 13:21

Fait voir ta requete actuelle

par shen » 04 avr. 2006, 12:58

je suis perdu ça ne marche plus à nouveau, j'ai remis avec AND et juste le premier terme de ma condition et rien...
aidez moi il doit y avoir une erreur que je ne voie pas!!!!

par shen » 04 avr. 2006, 12:48

J'ai honte ct vraiment une erreur bete de chez bete....

alors en fait comme j'utilisais des AND alors il y avait un terme non existant dans la base et donc c'est pour ca qu'il m'indiquait que $result était vide.

je vais tester avec OR.

par shen » 04 avr. 2006, 12:32

bon il faut utiliser 'NOT LIKE' dans les requete au lieu de '<>'.
mais sa marche pas quand je met toutes mes conditions avec AND.

par shen » 04 avr. 2006, 11:41

alors apparemment mon $result est vide mais il ne m'affiche aucun message d'erreur ... bizarre.
voici la partie affichage:
//Affichage des données de la table Archive
if(!$result)	
{
	print $conn->ErrorMsg()."<br>";
	printf("Erreur!!!!");
}
else
{
	printf("Le tableau de résultat.");
	
	//Affichage des données dans un tableau
	$nbchps = 5;
	printf("<table border=1>\n");
	/*0*/printf("<th>N°</th>\n");
	/*1*/printf("<th>Date & Heure<a href=indexfax.php?tri=&debut=$debut&limit=$limit><img src='croiss.bmp' border=0 title='tri croissant'></a>");
	     printf("<a href=indexfax.php?tri=DESC&debut=$debut&limit=$limit><img src='desc.bmp' border=0 title='tri décroissant'></a></th>\n");
	/*2*/printf("<th>Code Correspondant</th>\n");
	/*3*/printf("<th>Statut</th>\n");
	/*4*/printf("<th>Type transmission</th>\n");
	
	while(!$result->EOF)
	{
		printf("<tr>\n");
		for($i=0;$i < $nbchps;$i++)
		{
			if($i==1)
			{
				$sqlDH="SELECT Date_t,Heure FROM Archive WHERE NumTrans=".$result->fields[0];
				$resultDH=$conn->Execute($sqlDH);
				printf("<td><center>&nbsp;".$resultDH->fields[0]." à ".$resultDH->fields[1]." </center></td>");
			}
			else	printf("<td><center>&nbsp;" . $result->fields[$i] . "</center></td>\n");
		}
		$result->MoveNext();
		printf("</tr>\n");
	}
	printf("<br><br><br>\n");
	printf("</table>\n");
}
donc je comprends pas, si vous vous comprenez, éclairezmoi please!!!

par shen » 04 avr. 2006, 11:25

//Execution des requêtes
if( $erreur=="false" || $erreur=="" )
{
	echo "erreur false sql: ".$sql."<br>\n";
	echo "erreur false sqlcount: ".$sqlcount."<br>\n";

	$result=$conn->SelectLimit($sql,$limit,$debut);
	$resultcount=$conn->Execute($sqlcount);
	//Affichage du nombre de résultats.
	if(!$resultcount)	print $conn->ErrorMsg()."<br>\n";
	else	printf("<br>\nNous avons ".$resultcount->fields[0]." transmission(s) enregistré(s) dans notre base.<br><br>\n\n");

}
else
{
	echo "erreur true sqlE: ".$sqlE."<br>\n";
	echo "erreur true sqlcountE: ".$sqlcountE."<br>\n";

	$result=$conn->SelectLimit($sqlE,$limit,$debut);
	$resultcount=$conn->Execute($sqlcountE);
	//Affichage du nombre de résultats.
	if(!$resultcount)	print $conn->ErrorMsg()."<br>\n";
	else	printf("<br>\nNous avons ".$resultcount->fields[0]." transmission(s) échouée(s) enregistré(s) dans notre base.<br><br>\n\n");
}
voilà comment j'exécute mes requetes sa marche pour afficher la totalité de la base mais pas pour ma requete sqlE.

par shen » 04 avr. 2006, 10:46

alors une nouvelle donnée, j'ai compté moi meme le nombre de résultat correspondant à ma requete sqlcoutE, il me donne le bon résultat, il y a bien 77 transmissions échouées. Mais rien ne s'affiche...

par shen » 04 avr. 2006, 10:35

salut désolé de pas avoir répondu hier, j'avais un entretien pour un boulot!!!

alors oui je suis sure de l'écriture :il y a ' Envoi réussi' et 'Envoi Réussi' dans la base .j'arrive à afficher toute la base en entière.

PS à Zeus : Merci d'avoir scindé le sujet en deux.

par zeus » 03 avr. 2006, 13:54

Est-ce que tu es sûr que la manière dont tu ecrit "Envoi Réussi est la même que celle qui est en BdD ?

par zeus » 03 avr. 2006, 13:49

C'est pas un soucis. Je viens de scinder le sujet comme ça, on mélangera pas les réponses :)