Jump to content

[SOLVED] loops and MySQL


hyeteck

Recommended Posts

hey guys,

 

i have a piece of code from my program that is not functioning the way i want it to.  It is not going into the "if" statement.

$result = mysql_query("SELECT * from `products` WHERE pID='prodId' ") or die(mysql_error());

	if($row = mysql_fetch_array($result))
	{
		echo "$prodId";
		if($prodMap > 0 || $prodMap!= NULL)
			$prodPrice = $prodMap;
		elseif($prodPrice < 10)
			$prodPrice = $prodPrice + ($prodPrice * .50);
		elseif($prodPrice >= 10 && $prodPrice < 50)
			$prodPrice = $prodPrice + ($prodPrice * .25);
		elseif($prodPrice >= 50 && $prodPrice < 150)
			$prodPrice = $prodPrice + ($prodPrice * .15);
		elseif($prodPrice >= 150 && $prodPrice < 400)
			$prodPrice = $prodPrice + ($prodPrice * .10);
		elseif($prodPrice >= 400 && $prodPrice < 100)
			$prodPrice = $prodPrice + ($prodPrice * .06);
		else
			$prodPrice = $prodPrice + ($prodPrice * .05);

		$prodPrice = floor($prodPrice);
		$prodPrice = $prodPrice + 0.99;

		$result = mysql_query("UPDATE `products` SET `pPrice`='$prodPrice', `pInStock`='$prodQuant' WHERE `pID`='$prodId' ");
	}

basically, i want it to go into the "if" statement if the product id exists in the database already.

 

any ideas

Link to comment
Share on other sites

$result = mysql_query("SELECT * from `products` WHERE pID='prodId' ") or die(mysql_error());

	while($row = mysql_fetch_array($result))
	{
		echo "$prodId";
		if($prodMap > 0 || $prodMap!= NULL)
			$prodPrice = $prodMap;
		elseif($prodPrice < 10)
			$prodPrice = $prodPrice + ($prodPrice * .50);
		elseif($prodPrice >= 10 && $prodPrice < 50)
			$prodPrice = $prodPrice + ($prodPrice * .25);
		elseif($prodPrice >= 50 && $prodPrice < 150)
			$prodPrice = $prodPrice + ($prodPrice * .15);
		elseif($prodPrice >= 150 && $prodPrice < 400)
			$prodPrice = $prodPrice + ($prodPrice * .10);
		elseif($prodPrice >= 400 && $prodPrice < 100)
			$prodPrice = $prodPrice + ($prodPrice * .06);
		else
			$prodPrice = $prodPrice + ($prodPrice * .05);

		$prodPrice = floor($prodPrice);
		$prodPrice = $prodPrice + 0.99;

		$result = mysql_query("UPDATE `products` SET `pPrice`='$prodPrice', `pInStock`='$prodQuant' WHERE `pID`='$prodId' ");
	}

 

use a while loop not an if...

Link to comment
Share on other sites

<?php
$result = mysql_query("SELECT * from `products` WHERE pID='prodId' ") or die(mysql_error());
if(!$result){
echo "product key doesnt exist";
}else{	
	while($row = mysql_fetch_array($result))
	{
		echo "$prodId";
		if($prodMap > 0 || $prodMap!= NULL)
			$prodPrice = $prodMap;
		elseif($prodPrice < 10)
			$prodPrice = $prodPrice + ($prodPrice * .50);
		elseif($prodPrice >= 10 && $prodPrice < 50)
			$prodPrice = $prodPrice + ($prodPrice * .25);
		elseif($prodPrice >= 50 && $prodPrice < 150)
			$prodPrice = $prodPrice + ($prodPrice * .15);
		elseif($prodPrice >= 150 && $prodPrice < 400)
			$prodPrice = $prodPrice + ($prodPrice * .10);
		elseif($prodPrice >= 400 && $prodPrice < 100)
			$prodPrice = $prodPrice + ($prodPrice * .06);
		else
			$prodPrice = $prodPrice + ($prodPrice * .05);

		$prodPrice = floor($prodPrice);
		$prodPrice = $prodPrice + 0.99;

		$result = mysql_query("UPDATE `products` SET `pPrice`='$prodPrice', `pInStock`='$prodQuant' WHERE `pID`='$prodId' ");
	}
}
?>

Link to comment
Share on other sites

sorry, i should have posted a bit more of my code

 

		$approved_chunks = explode("	", $approved_string);
	$prodId = $approved_chunks[0];
	$prodPrice = $approved_chunks[1];
	$prodMap = $approved_chunks[2];
	$prodQuant = $approved_chunks[3];

	$result = mysql_query("SELECT * from `products` WHERE pID='prodId' ") or die(mysql_error());

	if($row = mysql_fetch_array($result))
	{
		echo "$prodId";
		if($prodMap > 0 || $prodMap!= NULL)
			$prodPrice = $prodMap;
		elseif($prodPrice < 10)
			$prodPrice = $prodPrice + ($prodPrice * .50);
		elseif($prodPrice >= 10 && $prodPrice < 50)
			$prodPrice = $prodPrice + ($prodPrice * .25);
		elseif($prodPrice >= 50 && $prodPrice < 150)
			$prodPrice = $prodPrice + ($prodPrice * .15);
		elseif($prodPrice >= 150 && $prodPrice < 400)
			$prodPrice = $prodPrice + ($prodPrice * .10);
		elseif($prodPrice >= 400 && $prodPrice < 100)
			$prodPrice = $prodPrice + ($prodPrice * .06);
		else
			$prodPrice = $prodPrice + ($prodPrice * .05);

		$prodPrice = floor($prodPrice);
		$prodPrice = $prodPrice + 0.99;

		$result = mysql_query("UPDATE `products` SET `pPrice`='$prodPrice', `pInStock`='$prodQuant' WHERE `pID`='$prodId' ");
	}
	else
	{

 

there is my else clause in the end.  Basically if the prodID is not in there, it goes in to the else clause where it is created...otherwise it just updates the price and quantity for that product id.

Link to comment
Share on other sites

hmm... just swicth the code then:

 

<?php
$result = mysql_query("SELECT * from `products` WHERE pID='prodId' ") or die(mysql_error());
if($result){
	while($row = mysql_fetch_array($result))
	{
		echo "$prodId";
		if($prodMap > 0 || $prodMap!= NULL)
			$prodPrice = $prodMap;
		elseif($prodPrice < 10)
			$prodPrice = $prodPrice + ($prodPrice * .50);
		elseif($prodPrice >= 10 && $prodPrice < 50)
			$prodPrice = $prodPrice + ($prodPrice * .25);
		elseif($prodPrice >= 50 && $prodPrice < 150)
			$prodPrice = $prodPrice + ($prodPrice * .15);
		elseif($prodPrice >= 150 && $prodPrice < 400)
			$prodPrice = $prodPrice + ($prodPrice * .10);
		elseif($prodPrice >= 400 && $prodPrice < 100)
			$prodPrice = $prodPrice + ($prodPrice * .06);
		else
			$prodPrice = $prodPrice + ($prodPrice * .05);

		$prodPrice = floor($prodPrice);
		$prodPrice = $prodPrice + 0.99;

		$result = mysql_query("UPDATE `products` SET `pPrice`='$prodPrice', `pInStock`='$prodQuant' WHERE `pID`='$prodId' ");
	}
}else {
create blabla...
}
?>

 

 

Link to comment
Share on other sites

that doesn't work either.  That just makes it go in the "if" every single time no matter if the product id is in there or not and never goes into the while loop.

		$prodId = $approved_chunks[0];
	$prodPrice = $approved_chunks[1];
	$prodMap = $approved_chunks[2];
	$prodQuant = $approved_chunks[3];

	$result = mysql_query("SELECT * from `products` WHERE pID='prodId' ") or die(mysql_error());

	if($result)
	{
		echo "$prodId<br>";
		while($row = mysql_fetch_array($result))
		{
		echo "Boom!, I'm Innnnnnnnn";
		if($prodMap > 0 || $prodMap!= NULL)
			$prodPrice = $prodMap;
		elseif($prodPrice < 10)
			$prodPrice = $prodPrice + ($prodPrice * .50);
		elseif($prodPrice >= 10 && $prodPrice < 50)
			$prodPrice = $prodPrice + ($prodPrice * .25);
		elseif($prodPrice >= 50 && $prodPrice < 150)
			$prodPrice = $prodPrice + ($prodPrice * .15);
		elseif($prodPrice >= 150 && $prodPrice < 400)
			$prodPrice = $prodPrice + ($prodPrice * .10);
		elseif($prodPrice >= 400 && $prodPrice < 1000)
			$prodPrice = $prodPrice + ($prodPrice * .06);
		else
			$prodPrice = $prodPrice + ($prodPrice * .05);

		$prodPrice = floor($prodPrice);
		$prodPrice = $prodPrice + 0.99;

		$result = mysql_query("UPDATE `products` SET `pPrice`='$prodPrice', `pInStock`='$prodQuant' WHERE `pID`='$prodId' ");
		}
	}
	else
	{

Link to comment
Share on other sites

hmm...still confused..ok so i broke down the code into pieces.

		$result = mysql_query("SELECT * from `products` WHERE pID='prodId' ") or die(mysql_error());
	$row = mysql_fetch_array($result);
	echo "testing<br>".$row['pID'];

 

that only prints the word "testing" without the product id next to it.  why?

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.