Probleme dans mon while

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 : Probleme dans mon while

par charabia » 03 juin 2009, 13:39

Oui en fait c'était pas la source du problème lui même, ça m'est venu sur le coup lol

par AB » 03 juin 2009, 12:42

Ah ok pour la portabilité.

Non c'est juste le "il te faut..." qui m'avait interpellé. La tournure de la phrase semblait indiquer que cela pouvait être la source du problème. Or le disfonctionnement ne pouvait pas venir de ça avec mysql :)

par Ryle » 03 juin 2009, 12:30

Non seulement elles ne sont pas utiles, mais si MySQL les supportes et fait des cast implicites des chaines en nombres lorsqu'il en a besoin (et inversement), ce n'est pas le cas des autres bases de données qui refuseront de comparer ou d'insérer des chaines, lorsque le champ est de type numérique :)

par charabia » 03 juin 2009, 09:29

Je veux dire par là que les quotes ne sont pas utiles quand il s'agit d'entier.

par AB » 29 mai 2009, 17:41

Il te faut enlever tous les quotes que tu as mis pour tous les entiers (genre les ID).
:-k ?

par charabia » 29 mai 2009, 17:24

Il te faut enlever tous les quotes que tu as mis pour tous les entiers (genre les ID).

Ensuite utilise un OR DIE pour voir si tes requêtes marchent correctement.

par consequences » 29 mai 2009, 15:49

Ah oui merci je crois que je vois manque une simple cote a la fin pfiouuuu tout se temps pour ca merci beaucoup a toi ;)

Voila plus d'erreur mais je me rend compte que ca ne fonctionne pas lol

erffff

par charabia » 29 mai 2009, 15:34

Regarde attentivement cette ligne de ton code :
$maReqStock="SELECT stock_id, stock_quantity FROM stock WHERE products_id='".$rowMaReqQuantiteCommande['products_id']."";

Probleme dans mon while

par consequences » 29 mai 2009, 14:57

bonjour,

voila mon bout de code :
$orders_id=mysql_real_escape_string(htmlspecialchars($_REQUEST['orders_id']));
$modif_orders_status=mysql_real_escape_string(htmlspecialchars($_POST['modif_orders_status']));
$date=date("Y-m-d");


	if($modif_orders_status=="Validée"){
		mysql_query("UPDATE orders SET orders_status='".$modif_orders_status."' WHERE orders_id='".$orders_id."' ");

	}elseif($modif_orders_status=="En cours de préparation"){
		mysql_query("UPDATE orders SET orders_status='".$modif_orders_status."' WHERE orders_id='".$orders_id."' ");
		
	}elseif($modif_orders_status=="Envoyée"){
	
		$maReqQuantiteCommande="SELECT orders_id, products_id, orders_products_quantity FROM orders_products WHERE orders_id='".$orders_id."";
		$rsMaReqQuantiteCommande=mysql_query($maReqQuantiteCommande);	
	
		while($rowMaReqQuantiteCommande=mysql_fetch_array($rsMaReqQuantiteCommande)){
			$maReqStock="SELECT stock_id, stock_quantity FROM stock WHERE products_id='".$rowMaReqQuantiteCommande['products_id']."";
			$rsMaReqStock=mysql_query($maReqStock);
			$rowMaReqStock=mysql_fetch_array($rsMaReqStock);
			$resteEnStock=$rowMaReqStock['stock_quantity']-$rowMaReqQuantiteCommande['orders_products_quantity'];
			
		mysql_query("UPDATE stock SET stock_date='".$date."', stock_quantity='".$resteEnStock."' WHERE products_id='".$rowMaReqQuantiteCommande['products_id']."' ");
		
		}	
		mysql_query("UPDATE orders SET orders_status='".$modif_orders_status."', orders_date_finished='".$date."' WHERE orders_id='".$orders_id."' ");
		
	}

Le problème est une erreur "Warning: mysql_fetch_array(): supplied argument is not a valid MySQL
result resource " que je ne comprend pas vraiment car mes deux requete sont differente avec des
variables differente. Pour le coup j'ai pas de update sur ma table stock mais j'ai bien une update sur
la table orders. Biensur le probleme se produit quand j'entre dans la condition
$modif_orders_status=="Envoyée"