tri avec 2 criteres

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 : tri avec 2 criteres

Re: tri avec 2 criteres

par macgawel » 26 mars 2010, 16:36

Bonjour.

1. Merci d'utiliser les balises qui vont bien pour afficher le code - ici la balise
 (accessible via le bouton PHP).
Ce sera plus lisible :wink: 

2. Pour ton problème, je dirais que la réponse dépend de pas mal de facteurs...
- Tu peux modifier la table ?
- La table compte combien d'enregistrements (un ordre de grandeur suffit) ?
- Quelle est la fréquence de mise à jour de la table ?
- A quelle fréquence vas-tu passer ce script ?
- Les nombres que tu mets dans tes 20 champs, ils peuvent aller de combien à combien ?

Sinon, sur ton script :
[php]while($row = mysql_fetch_array($result)) {
   if( in_array($chiffre_1,$row) && in_array($chiffre14,$row) ) {
      $fois_ensemble++;
   }
}
1. Tu devrais initialiser la valeur de $fois_ensemble avant.
2. A priori la condition est bonne. Donc...
- fait un var_dump($row) au début de ton WHILE, histoire de vérifier
- rajoute un echo "les deux" après l'incrémentation de $fois_ensemble
- essaye en "divisant" le IF en deux :
while($row = mysql_fetch_array($result)) {
	var_dump($row);
	if (in_array ($chiffre_1,$row) ) {
		echo "$chiffre_1 trouvé !<br />";
		if (in_array ($chiffre14,$row) ) {
			echo "$chiffre14 trouvé !<br />";
			$fois_ensemble++;
		}
	}
}

tri avec 2 criteres

par aurel22 » 26 mars 2010, 14:55

bonjour,

j ai une table carte avec les champs suivant:
id,champ1, champ2, champ3 etc jusqu a 20.
je voudrais recuperer les ligne de table ou il y a 2 chiffres selectionnner au depart.
par exemple retrouver uniquement les ligne ou il y a le chiffre 1 & le chiffre 14.

& me retourner le resultat du nombre de ligne ou cette combinaison apparait.

j ai fais ce script mais ile me donne aussi les lignes ou un des deux chiffres apparait, & moi c est uniquement les lignes ou les deux chiffres sont present que je veux.


<?php $select = ("SELECT * FROM carte ");
$result = mysql_query($select) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);

$fois_ensemble=0;
?>
<?php if($total) {

while($row = mysql_fetch_array($result)) {
if( in_array($chiffre_1,$row) && in_array($chiffre14,$row) )
{$fois_ensemble++;
}
}
?>
</p>
<p align="center"> le <span class="Style3"><?php echo $chiffre_1; ?></span> est sortit <span class="Style2"><?php echo $fois_ensemble;

}
else echo 'Pas d\'enregistrements dans cette table...';


mysql_free_result($result);

?>