Jump to content

need help elimiating empty values


dj262501

Recommended Posts

Hello,

 

Im having trouble and need your help. I have two pages. The first establishes the table and calls up a database:

 

<?php
include "include/dbc.php";

include "include/header.inc";
?>

<style type="text/css">
.mydate{
color:#00F;
text-decoration:underline;
cursor:pointer;
}
</style>

<script type="text/javascript">
function displayDate(d){
var date=new Date();
var D=date.getDate();
date.setDate(D+d);
var YYYY=date.getFullYear();
var MM=date.getMonth()+1;
MM<10?MM='0'+MM:null;
var DD=date.getDate();
DD<10?DD='0'+DD:null;
var span=document.getElementById('date');
span.innerHTML= 'Entries for '+MM+'/'+DD+'/'+YYYY;
}
onload=function(){displayDate(0)};
</script>

<h1>Food Diary</h1>

<div class="full">
<center><div><span class="mydate" onclick="displayDate(-1)"><img src="images/left_arrow.png" border="0">Yesterday</span>      <span id="date" style="font-size:2em;"></span>      <span class="mydate" onclick="displayDate(1)">Tomorrow<img src="images/right_arrow.png" border="0"></span></div><br />
<a href="#" onclick="displayDate(0);return false;">Today</a>
</center>

<div class="full">
<form name="exercise" id="exercise" method="GET" action="">
  <center><table>
<tr>
    	<td><h3>Add an Activity</h3></td>
</tr>
<tr>
    	<td><input name="NewSearchString" style="width: 100px" type="text"/>  <input type="submit" value="Search" /> </td>
</tr>
    <tr>
    	<td>
        	<select name="activity">
            	<option value="_">Activity Browse...</option>
                <option value="all">All Activities</option>
                <option value="biking">Biking</option>
                <option value="condition">Conditioning</option>
                <option value="dancing">Dancing</option>
                <option value="fish">Fishing & Hunting</option>
                <option value="Home">Home Activities</option>
                <option value="misc">Miscellaneous</option>
                <option value="music">Music Playing</option>
                <option value="occupation">Occupation</option>
                <option value="running">Running</option>
                <option value="sports">Sports</option>
                <option value="walking">Walking</option>
                <option value="water">Water Activities</option>
                <option value="winter">Winter Activities</option>
		</select>   <input type="submit" value="Submit" /></td></tr></table></center></form>
	</td>
</tr>
</table> </center>
<table width="100%">
   	<tr bgcolor="#66CC33">
    	<td><div>Activity</div></td>
        <td><div>Specific Activity</div></td>
        <td><div>Time (hh:mm)</div></td>
        <td><div>Distance</div></td>
        <td><div>Units</div></td>
</tr>
    <tr bgcolor="#66CC33">
    	<td><div></div></td>
     	<td><div></div></td>
       <td><div></div></td>
        <td><div class="Float"></div></td>
        <td class="cp_Distance"><div></div></td>
</tr>
<?php
if(isset($_GET[activity])) {
$category=$_GET[activity];
$result = mysql_query("SELECT * FROM exercise WHERE type='$category'");
?>
<form action="add_activity.php" method="POST">
<?php
while($row = mysql_fetch_array($result)) {
echo '<tr><td><div>'.$row[Type].'</div></td>';
echo '<td><div>'.$row[Name].'<input type="hidden" name="exerciseid[]" value="'.$row[Name].'"></div></td>';
echo '<td><div><input type="text" name="duration['.$row['Name'].']"></div></td>';
echo '<td><div><input type="text" name="distance['.$row['Name'].']"></div></td>';
echo '<td><div><select name="metric[]">
        		<option value="mile" name="mile">mile</option>
            	<option value="Km" name="Km">km</option>
            	<option value="M" name="M">m</option>
            	<option value="Yard" name="yard">yrd</option>
            	<option value="Feet" name="feet">ft</option>
            </select></div></td></tr>';

}
mysql_close();
?>

<tr><td colspan="6" align="center"><input type="submit" name="submit" value="Add Activities" onClick="return confirm(
  'Are you sure you want to submit the activities?');"></td></tr>
</form>
<?php
}
?>
    <tr bgcolor="#66CC33">
    	<td><div></div></td>
     	<td><div></div></td>
       <td><div></div></td>
        <td><div class="Float"></div></td>
        <td class="cp_Distance"><div></div></td>
</tr></table>      

 

The second page passes those values:

 

<?php
include "include/dbc.php";

include "include/header.inc";

$exerciseid = $_POST["exerciseid"];
$duration = $_POST["duration"];
$distance = $_POST["distance"];
$metric = $_POST["metric"];

echo'<h1>Added Activities</h1>';



// name of array
echo '<h1>Exercise</h1>';
if( is_array($exerciseid) )
{
foreach ($exerciseid as $key => $value) {

                        echo $key .' : '. $value .'<br />';
    }
}


echo '<h1>Duration</h1>';
if(is_array($duration) )
{
foreach ($duration as $key => $value) {

                        echo $key .' : '. $value .'<br />';
}
}


// name of array
echo '<h1>Distance</h1>';
if (is_array($distance)) {
        foreach ($distance as $key => $value) {

                        echo $key .' : '. $value .'<br />';

        }
}

// name of array
echo '<h1>Metric</h1>';
if (is_array($metric)) {
        foreach ($metric as $key => $value) {

                        echo $key .' : '. $value .'<br />';

        }
}

?>

 

The problem is that this code returns everything:

 

Added Activities

 

Exercise

0 : Fishing from boat, sitting

1 : Fishing from river bank, standing

2 : Fishing in stream, in waders

3 : Fishing, general

4 : Fishing, ice, sitting

5 : Hunting, general

 

Duration

Fishing from boat, sitting : 22

Fishing from river bank, standing :

Fishing in stream, in waders :

Fishing, general :

Fishing, ice, sitting :

Hunting, general :

 

Distance

Fishing from boat, sitting : 22

Fishing from river bank, standing :

Fishing in stream, in waders :

Fishing, general :

Fishing, ice, sitting :

Hunting, general :

 

Metric

0 : mile

1 : mile

2 : mile

3 : mile

4 : mile

5 : mile

 

I need a way to say if this variable is empty, null, or equals 0, do not return it. And yes, the variables are arrays. I don't know what else to do. Thanks in advance.

Link to comment
Share on other sites

name="duration['.$row['Name'].']"

 

if you name an element as an array, then it can hold multiple values. Not going to read over all your code, but I would do a print_r of the $_POST['duration'] variable to see what that returns, and from there ensure that the element is getting properly filled.

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.