Boucler sur le résultat d'une requête

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 : Boucler sur le résultat d'une requête

par Truc » 27 janv. 2007, 22:08

Est-ce Resolu cette fois ?!?

par zaknaou » 27 janv. 2007, 17:31

A oui ça je ne le savais pas... merci, comme quoi php est vaste...

par Truc » 27 janv. 2007, 17:17

il manque le nom du champ qui est supérieur à "10000" !!

EDIT : V'la deux fois vaut mieux qu'une :wink:
Te reste plus qu'à appliquer ET ne plus refaire l'erreur

par Ajoloca » 27 janv. 2007, 17:16

Bonjour,

Quand tu cherches à faire a < b et > à c tu dois le spécifier, la machine ne peut deviner.
Tu dois donc lui dire si a <b et a > c
ce qui reviens à
$troisz = mysql_query("SELECT points,numero_client FROM user WHERE points <= '399999' AND points >= '10000'"); 

par zaknaou » 27 janv. 2007, 16:49

Non ce n'est pas fini... voilà le nouveau problème mais cette fois c'est la requête :

$troisz = mysql_query("SELECT points,numero_client FROM user WHERE points <= '399999' AND >= '10000'");
Y a une erreur dedant mais je ne la trouve pas

Est-ce bien le bon system pour selesctionner un numero_client et le nombre de points de ceux qui onts entre 399999 et 10000 ??

Le message d'erreur est
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in...


C'est le dernier problème à ce sujet !!

par Truc » 27 janv. 2007, 02:02

Modération :
zaknaou, si ta question est résolue, pense à ajouter le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.
Tu peux réaliser cette opération en cliquant sur le bouton Image en haut à gauche de ce sujet.

par zaknaou » 27 janv. 2007, 01:26

Merci Truc ...


Sa donne :
<?php

$db = mysql_connect('*******', '*******', '*******') or die('Erreur de connexion '.mysql_error()); 

mysql_select_db('info.aqua',$db) or die('Erreur de selection '.mysql_error()); 

$trois = mysql_query("SELECT points,numero_client FROM user WHERE points >= '40000'");

while ($cinq = mysql_fetch_array($trois))
{
$numero_client = $cinq[1].' avec un total de  '.$cinq[0];

echo "$numero_client points<p></p>";

}
mysql_close($db);
?>

par Truc » 27 janv. 2007, 00:51

Ben oui tu affiche le numéro de client a chaque tour MAIS tu ne le fait pas pour les points.....

Ceci dit tu peux faire les deux une boucle

Code : Tout sélectionner

SELECT points, numero_client FROM ....
d'ailleurs tu ne selectionnes qu'un champ dans la requete mais tu veux en afficher deux :-k
$quatre[0].''.$quatre[1];

par zaknaou » 27 janv. 2007, 00:32

Ha oui, c'est ce genre d'erreur bête qui m'énerve... pourtant je me suis relu une vingtaine de fois !!

Bon sa donne :


<?php

$db = mysql_connect('*********', '*********', '*********') or die('Erreur de connexion '.mysql_error()); 

mysql_select_db('info.aqua',$db) or die('Erreur de selection '.mysql_error()); 


$trois = mysql_query("SELECT points FROM user WHERE points >= '40000'");

while ($quatre = mysql_fetch_array($trois))
{
$points = $quatre[0].''.$quatre[1];
}
$hucha = mysql_query("SELECT numero_client FROM user WHERE points >= '40000'");

while ($cinq = mysql_fetch_array($hucha))
{
$numero_client = $cinq[0].''.$cinq[1];

echo "$numero_client avec un total de $points points<p></p>";

}
mysql_close($db);
?>
L'erreur est corrigé, mais $points affiche toujours 40001 pour tout les enregistrement alors qu'il est sensé marqué 800000 puis là 40001 puis enfin 17777777 Pourtant les numero client son différent à chaque ligne...

par Truc » 26 janv. 2007, 23:51

Oui exacte, c'est fait...
Mouais "Une erreur, dans le code..." c'est pas beaucoup mieux pour etre référencé lors d'une recherche....

Pour ton souci... il ne manquerait pas des accolades après le while :-*

par zaknaou » 26 janv. 2007, 23:27

Oui exacte, c'est fait...

par Truc » 26 janv. 2007, 21:54

Modération :
Merci d'utiliser un titre clair et qui correspond bien à ta demande.
Les titres contenant "HELP", "Aidez-moi !" n'apportent rien à la compréhension de ton problème.
Par ailleurs, nous savons déjà par ton message que tu as besoin d'aide.

Tu peux corriger ton titre en éditant ton premier message.

Merci de prendre le temps de lire les règlements.

Boucler sur le résultat d'une requête

par zaknaou » 26 janv. 2007, 21:36

Bonjour, quelqu'un serait-it ce qui cloche dans mon script :
<?php

$db = mysql_connect('*******', '*******', '*******') or die('Erreur de connexion '.mysql_error()); 

mysql_select_db('info.aqua',$db) or die('Erreur de selection '.mysql_error()); 


$trois = mysql_query("SELECT points FROM user WHERE points >= '40000'");

while ($quatre = mysql_fetch_array($trois))

$points = $quatre[0].''.$quatre[1];

$hucha = mysql_query("SELECT numero_client FROM user WHERE points >= '40000'");

while ($cinq = mysql_fetch_array($hucha))

$numero_client = $cinq[0].''.$cinq[1];

$idas = "$numero_client avec un total de $points points<p></p>";

echo $idas;

mysql_close($db);
?>

Mon script est bon pour l'affichage correct des données :
X1X avec un total de 40001 points
X1X est un numero_client et 40001 est le nombre de points

Mais cette ligne ne s'affiche qu pour un seul enregistrement alors qu'il y en a d'autres avec >= à 40000...

Merci...