Une boucle while qui ne s'execute pas

Fermé
tima - 9 juil. 2009 à 17:25
bizu53 Messages postés 1274 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 21 juin 2015 - 9 juil. 2009 à 18:37
Bonjour,
je débute dans la programmation en PHP et j'ai un problème que je vous explique

je veux modifier un champs dans ma table qui sera remplie en fonction d'un autre champs
je vous explique ma table orders contient deux champs orders_id et num_distributeur
le num_distributeur est égale à orders_id si ce dernier ne dépasse pas la valeur 250
mais s'il dépasse 250 num_distributeur doit être égale à orders_id-250 jusqu'à ce le num_distributeur soit inférieur à 250 je vous donne un exemple si orders_id=501 le num_distributeur=1
et si orders_id= 615 num_distributeur=115
voici mon code
mysql_query("UPDATE orders SET num_distributeur =orders_id where orders_id<= 250 ")or die("Erreur SQL : $query<br/>".mysql_error());
mysql_query("UPDATE orders SET num_distributeur =orders_id -250 where orders_id> 250 ")or die("Erreur SQL : $query<br/>".mysql_error());
$distributeur = mysql_query("SELECT* FROM orders where num_distributeur > 250");
$datadistributeur= mysql_fetch_array($distributeur );
$nbr= $datadistributeur['num_distributeur '];
while ($nbr > 250)
{
mysql_query("UPDATE orders SET num_distributeur =$nbr-250 ")or die("Erreur SQL : $query<br/>".mysql_error());
$distributeur = mysql_query("SELECT* FROM orders where num_distributeur > 250");
$datadistributeur= mysql_fetch_array($distributeur );
$nbr= $datadistributeur['num_distributeur '];

}
merci j'ai besoins d'une réponse le plus tôt possible

1 réponse

bizu53 Messages postés 1274 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 21 juin 2015 860
9 juil. 2009 à 18:37
Je ne sais pas si tu as une bonne méthode pour débuger un programme bugé mais la plus simple reste la vérification du contenu des variables en les affichant.

En particulier ce bout du code :

$datadistributeur= mysql_fetch_array($distributeur );
print $datadistributeur."<br>";
$nbr= $datadistributeur['num_distributeur '];
print $nbr."<br>";

D'ailleurs, est-ce normal l'espace entre num_distributeur et la fermeture de la cote ?
0