Re: [PHP] creating an xls file from mysql data

[email protected] (Richard Kurth)
Newsgroups php.general
Message-ID <[email protected]>
Chris wrote:
> Richard Kurth wrote:
>   
>> This script will create an xls file from the data that is sent to it
>> When I run this it only gets one recored and it is supposet to get all
>> the records that are past by the  $_POST[selectedcontactlist]
>> I think I have a } in the wrong place but I can not figure it out
>> anybody have a suggestion
>>
>> $_POST[selectedcontactlist]="3,45,65,23,12,4,56"; //this is a sample of
>> what is past
>>
>> $ExplodeIt = explode(",",rtrim($_POST[selectedcontactlist],","));
>> $Count = count($ExplodeIt);
>> for ($i=0; $i < $Count; $i++) {
>> $sql = "SELECT * FROM contacts WHERE id = '$ExplodeIt[$i]'";
>>     
>
> Instead of doing that, do this:
>
> /**
> * This section makes sure the id's you are going to use in your query
> are actually integer id's.
> * If they aren't, you'll get an sql error.
> *
> */
> $ids = array();
> foreach ($_POST['selectedcontactlist'] as $id) {
>   if (!is_int($id)) {
>     continue;
>   }
>   $ids[] = $id;
> }
>
> // all posted values are duds? show an error.
> if (empty($ids)) {
>   echo "No id's are numeric, try again";
>   exit;
> }
>
> $sql = "select * from contacts where id in (" . implode(',', $ids) . ")";
>
>
> That'll get everything for all of those id's and then you can loop over
> it all once:
>
> // print out the header for the csv file here.
>
> // then loop over the results:
> while ($row = mysql_fetch_assoc($sql_result)) {
>   // put it into file here.
> }
>
> // close the file
> // print it out.
>
>   
This is what the $_POST['selectedcontactlist'] looks like

121,17,97,123,243,52,138,114,172,170,64,49,60,256,176,244,201,42,95,4,

it is not coming across as an array so the foreach is throwing an error

how can I make this an array in the proper format.

This number are selected in a checkbox and passed with a javascript to the script should I be converting them to an array in the javascript.
this is the javascript that is passing the numbers.

function exportContacts(theform)
{
        //theform.action = "cmexport.php";

        theform.action="cmexport.php";
        if (getSelectedContacts(theform) != "")
        {
                        theform.submit();
        }
        else
        {
                alert("Please select contacts to export by checking the boxes to the left of the contact's name.");
        }
}
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.