Re: Formatting
Jim Giner <[email protected]>
| Newsgroups | gmane.comp.php.database |
|---|---|
| Message-ID | <[email protected]> |
On 11/25/2012 12:46 PM, Ethan Rosenberg, PhD wrote:
> Dear list -
>
> When I run the following code, the results are preceded by at least one
> screen full of blank lines. I am showing you a large code block since I
> do not know where the error is:
>
> if(isset($_REQUEST['Sex'])&& trim($_POST['Sex']) != '' )
> {
> if ($_REQUEST['Sex'] === "0")
> {
> $sex = 'Male';
> }
>
> else
> {
> $sex = 'Female';
> }
>
> }
> $allowed_fields = array
> ('Site' => 's', 'MedRec' => 'i', 'Fname' => 's',
> 'Lname' => 's','Phone'=> 's', 'Height' => 'i', 'Sex' => 's',
> 'Hx' => 's','Bday' => 's', 'Age' => 'i'
> );
>
> if(empty($allowed_fields))
> {
> echo "ouch";
> }
>
> // Configure the query and the acceptable params to put
> into the WHERE clause
> $sql12 = 'SELECT * FROM Intake3 WHERE 1';
>
> // Magically put everything together
> $types = '';
> $args = array();
> foreach( $allowed_fields as $k => $type )
> {
> if( !array_key_exists( $k, $allowed_fields ) )
> continue;
> else
> {
> if( ($_POST[$k]) != '')
> {
> $args[] = &$_POST[$k]; // Note the addition of
> the ampersand here
> $types .= $type;
> $sql12 .= " AND ($k = ?)";
> }
> }
> }
> $stmt = mysqli_stmt_init($cxn);
> mysqli_stmt_prepare( $stmt, $sql12 );
>
> if( !$stmt )
> throw new Exception( 'Error preparing statement' );
>
> // Put the statement and types variables at the front of
> the params to pass to mysqli_stmt_bind_param()
> array_unshift( $args, $stmt, $types ); // Note that I've
> moved this call. Apparently it doesn't pass back the result. I guess
> sometimes I just forget these things.
>
> // mysqli_stmt_bind_param()
> if( !call_user_func_array( 'mysqli_stmt_bind_param', $args ) )
> throw new Exception( 'Failed calling
> mysqli_stmt_bind_param' );
>
> if( !mysqli_stmt_execute( $stmt ) )
> throw new Exception( 'Error while executing statement' );
>
> mysqli_stmt_bind_result( $stmt, $Site, $MedRec, $Fname,
> $Lname, $Phone, $Height, $Sex, $Hx, $Bday, $Age);
>
>
>
>
> if(count($errors_array) == 0)
> {
>
>
> ?>
> <center><b>Search Results</b></center><br />
> <center>
> <!-- This is the block that prints about one screen full down bellow
> the Search Results header -->
>
> <table border="4" cellpadding="5" cellspacing="55" rules="all"
> frame="box" style="table-layout: fixed;">
> <tr class="heading">
> <th>Site</th>
> <th>Medical Record</th>
> <th>First Name</th>
> <th>Last Name</th>
> <th>Phone</th>
> <th>Height</th>
> <th>Sex</th>
> <th>History</th>
> <th>Birthday</th>
> <th>Age</th>
> </tr>
> </div>
>
> <?php $i = 0;
> do
> {
> {
> $vara2 = array(array($Site, $MedRec, $Fname,
> $Lname, $Phone, $Height, $Sex, $Hx, $Bday, $Age));
>
> $vara2[$i][0] = $Site;
> $vara2[$i][1] = $MedRec;
> $vara2[$i][2] = $Fname;
> $vara2[$i][3] = $Lname;
> $vara2[$i][4] = $Phone;
> $vara2[$i][5] = $Height;
> $vara2[$i][6] = $Sex;
> $vara2[$i][7] = $Hx;
> $vara2[$i][8] = $Bday;
> $vara2[$i][9] = $Age;
>
> echo "<tr>\n";
> $_SESSION['exe'] = 2;
> ?>
> <td> <?php echo $vara2[$i][0]?> </td><br />
> <td> <?php echo $vara2[$i][1]?> </td><br />
> <td> <?php echo $vara2[$i][2]?> </td><br />
> <td> <?php echo $vara2[$i][3]?> </td><br />
> <td> <?php echo $vara2[$i][4]?> </td><br />
> <td> <?php echo $vara2[$i][5]?> </td><br />
> <td> <?php echo $vara2[$i][6]?> </td><br />
> <td class="first-col"><?php echo $vara2[$i][7] ?></td><br />
> <td> <?php echo $vara2[$i][8]?> </td><br />
> <td> <?php echo $vara2[$i][9]?> </td><br />
> <?php echo "</tr>\n";
> $i = $i +1;
>
> }
> } while (mysqli_stmt_fetch($stmt)); //end do-while
> $imax = $i;
> echo "</table>";
> echo "</center>";
> echo "</form>";
>
> } // end count($errors_array)
>
> Help and advice, please
>
> Ethan
>
If this is the ACTUAL code you are executing you need to remember to NOT
include any blank lines. Each and every one gets echoed to the client
and with all the blank lines I see above, that could very well be a full
but empty page.
--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php