Hello Richard, On 7 Jan 2004 at 21:02, Richard Kurth wrote:
> I can't seam to get this while loop to work properly. It should create > a message that has the first two lines and then it will list all the > domain that meat the criteria. > > $lines = "The following are web sites that are at 95% usage or more of there web > space\n"; > $lines = "Site Name Used(MB) Free(MB) Allowed(MB) \n"; Hmm, this has nothing to do with your question, but don't you need a concatenation operator (.) before the equal sign in the second line of code above? > $result=mysql_query("SELECT * FROM domplans"); > while($row = mysql_fetch_array($result)){ > $dom=$row["domname"]; > $total=$row["quota"]; > $result1=mysql_query("SELECT * FROM datasubused where domname = '$dom'"); > $proccess = mysql_fetch_array($result1); > $totalused=$proccess["quotaused"]; > $totalfree=$total - $totalused; > $percent = ceil(100*$totalused/$total); > If($percent>="95"){ Why is "if" capitalized? Well, it doesn't affect the execution of the code, but it's bad practice. More importantly, why is the number 95 between quotes? You're comparing numbers, not strings. Granted, PHP will convert the string into a number for you, but that's bad practice again. > $lines = "$dom $totalused $totalfree $total \n"; > for( $i=0;$i<count($lines);$i++) { Aha! Count lines?! What lines do you want counted? $lines is a string, not an array, so how can you possibly count the number of array elements contained in $lines? > $message .=$lines[$i]; > } > } > echo $message; > } Perhaps what you really want is to create an array $lines with all the strings that you need and print them at the end. I'm not sure I understand your needs exactly, but wouldn't something like the code below work better for you? /*** CODE START ***/ $dbh = mysql_connect('host', 'username', 'password'); mysql_select_db('db', $dbh); $lines = "The following are web sites that are at 95% usage or more of there web space\n"; $lines .= "Site Name Used(MB) Free(MB) Allowed(MB) \n"; $result = mysql_query("SELECT * FROM domplans", $dbh); while( $row = mysql_fetch_array($result) ) { $dom=$row["domname"]; $total=$row["quota"]; $result1=mysql_query("SELECT * FROM datasubused where domname = '$dom'"); $proccess = mysql_fetch_array($result1); $totalused=$proccess["quotaused"]; $totalfree=$total - $totalused; $percent = ceil(100*$totalused/$total); $lines = array(); if($percent >= 95) { $lines[] = "$dom $totalused $totalfree $total \n"; } } for( $i=0;$i<count($lines);$i++) { $message .=$lines[$i]; } echo $message; /*** CODE END ***/ Hope this helps. Cheers, Erik