The warning I’m getting is:
Warning: mysqli_result::fetch_array() expects parameter 1 to be long, object given in…line 103.
I’ve commented next to the line 103 while ($row = $result->fetch_array($result)) {
Question 2: Can I store any of this in an include file or should I?
Question 3: For the $query can I store any of these Buyer, Seller, etc. in an array somewhere? How?
/* FETCH CONTACT INFORMATION */
$query = ("SELECT * FROM contacts WHERE contacttype IN ('Buyer','Seller','Buyer / Seller','Investor') AND leadstatus = 'New' ORDER BY date DESC");
$ID = $row ['ID'];
$firstname = $row ['firstname'];
$lastname = $row['lastname'];
$ID = $row['ID'];
$partner = $row['spousefirst'];
$phonecell = $row['phonecell'];
$email = $row['email'];
$date = $row['date'];
$contacttype = $row['contacttype'];
$agentassigned = $row['agentassigned'];
$leadstatus = $row['leadstatus'];
$result = $mysqli->query($query) or die ("Error: ".mysqli_error($mysqli));
echo'
<table class="results" id="results">
<thead>
<tr>
<th width="10"><input type="checkbox" name="checkAll" id="checkAll" class="checkall" value="check all"></th>
<th>NAME</td>
<th>PARTNER</td>
<th>PHONE</td>
<th>EMAIL</td>
<th>DATE</td>
<th>TYPE</td>
<th>AGENT</td>
<th>STATUS</td>
<th>NOTES</td>
<th>TASKS</td>
<th> </td>
</tr>
</thead>';
while ($row = $result->fetch_array($result)) { // THIS IS LINE 103
echo'
<tbody>
<tr>
<td width="10"><input type="checkbox" name="" id="" value="'.$ID.'"></td>
<td><a href="/backend/leads/view/?ID='.$ID.'"><strong>'.$firstname.' '.$lastname.'</strong></a></td>
<td><a href="/backend/leads/view/?ID='. $ID.'">'.$partner.'</a></td>
<td>'.$phonecell.'</td>
<td><a href="mailto:'. $email.'">'.$email.'</a></td>
<td>'.date("M jS, g:i A", strtotime($date)).'</td>
<td>'.$contacttype.'</td>
<td>'.$agentassigned.'</td>
<td>'.$leadstatus.'</td>
<td><a href="/backend/contacts/notes.php?ID='.$ID.'">View</a> +</td>
<td><a href="/backend/contacts/todo.php?ID='.$ID.'">View</a> +</td>
<td><a href="/backend/contacts/deletesuccess.php?ID='.$ID.'">D</a></td>
</tr>
</tbody>
</table>';
}
?>
In object-oriented mode, the parameter to
fetch_array()specifies the fetch type (MYSQLI_ASSOC, MYSQLI_NUM), and doesn’t take a result resource.In your loop then, we assume you want to be using keys from
$rowrather than plain variables. Move the variable assignments into your loop from above.Edit
About your other few questions…
I would say there isn’t much to gain from storing this in an include file. It isn’t a lot of code, and if you don’t plan on reusing it in other places there won’t be a benefit to moving it out of this file.
Your query is static, not making use of any PHP variables. It is therefore also not of much benefit to store them in an array, which would then require extra work in PHP to convert into SQL.