Re: [PHP] My truth comes out [1]

2010-10-21 Thread chris h
settype looks like a no-go for this; per the php docs...
http://php.net/manual/en/function.settype.php
--
$bar = true;   // boolean
settype($bar, string);  // $bar is now 1 (string)
--


I think using a conditional here is the best (only?) way.

$bool = (strtolower($string)=='true')? true: false;

and if the default should be true...

$bool = (strtolower($string)=='false')? false: true;

If you you're going to use it a lot then wrap it in a function.


Also, (as was stated) preg_ is overkill here. php has a lot of nifty string
functions that should be taken advantage of before jumping onto regex.

Chris.


On Thu, Oct 21, 2010 at 6:01 AM, a...@ashleysheridan.co.uk 
a...@ashleysheridan.co.uk wrote:

 That's as bad as an if!

 What about using settype() on the string? I've not tested it, but it looks
 like it should do the trick.

 Thanks,
 Ash
 http://www.ashleysheridan.co.uk

 - Reply message -
 From: Russell Dias rus...@gmail.com
 Date: Thu, Oct 21, 2010 10:51
 Subject: [PHP] My truth comes out [1]
 To: php-general@lists.php.net

 preg_match(/false/i, $string) ? false : true;



 On Thu, Oct 21, 2010 at 7:39 PM, Gary php-gene...@garydjones.name wrote:
  Is there any nice way to convert a string containing either TRUE or
  FALSE to a bool with the appropriate value? I know I can just if
  (strcmp... but, as the song goes on to say ...ugly, so ugly, it's
 ugly[1]
 
  Footnotes:
  [1]  Mask, Henry Rollins
 
  --
  Gary
 
 
  --
  PHP General Mailing List (http://www.php.net/)
  To unsubscribe, visit: http://www.php.net/unsub.php
 
 

 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php




Re: [PHP] Execute a php page and don't wait for it to finish

2010-10-19 Thread chris h
What about simply having the script trip a flag that another background
script checks every 60 seconds or so?

Once a minutes a background script checks to see if it needs to preform any
tasks.
When a user hits a certain page it does an ajax request to trip this flag
and immediately returns.
The next time the background script checks if it needs to do anything, it
sees the tripped flag and preforms the relevant database copy - or whatever
:-)


Chris.

On Tue, Oct 19, 2010 at 9:20 AM, Ferdi ferdinan...@printo.in wrote:

 Hi List,

 I have a php page that updates data from one database to another when it is
 run.
 My query is, how can I trigger the execution of this update page from
 another php / javascript without the calling page having to wait for the
 update page to finish?
 Basically, I think the update page needs to use:
 ignore_user_abort(1);
 set_time_limit(0); // I don't think the script will take more than 1 min.

 At the other end I found this:
 1)

 http://www.mindraven.com/blog/php/run-a-php-script-in-the-background-using-ajax/
 2) On that page a user suggested using *pclose(popen(‘/usr/bin/php
 /path/to/something.php  /dev/null ’, ‘r’)*
 **However, I need this to be usable on windows servers also.
 3) Finally, would pcntl_exec, pcntl_fork, exec or something be useful for
 me?

 Which of the above 3 options is the better one?
 Other suggestions are welcome :)

 Thanks and Regards,
 Ferdi



Re: [PHP] require_once

2010-10-19 Thread chris h

  I'm having a problem including files using Zend Framework. I have in a
 controller file this


Jim why not use the Zend autoloader?


Chris.


Re: [PHP] require_once

2010-10-19 Thread chris h
I see!

Yes using an autoloader typically requires following a naming convention for
your classes (though you can get around it by defining your own naming
rules).  I didn't care for it much at first, but it's nice that class names
are explicit (less confusion when you have several) and not worrying about
requiring all your files is a plus.


Chris.

On Tue, Oct 19, 2010 at 10:00 AM, jim jbw2...@earthlink.net wrote:

  I am following an example. Also, doesn't that require the class name to be
 something like models_members?

 Jim


 On 10/19/2010 09:40 AM, chris h wrote:

   I'm having a problem including files using Zend Framework. I have in a
 controller file this


  Jim why not use the Zend autoloader?


  Chris.





Re: [PHP] simple class constructor

2010-10-19 Thread chris h
Can you paste the index page's code here?  If the page is going blank
there's probably an error (syntax, bad file path, etc).  If you have access
you can turn error reporting on so you can actually see the error - or
better yet check the php error log file.  Settings for both of these are in
the php.ini file, though sometimes they can be overridden by apache
directives (depending on the setup).

http://php.net/manual/en/ini.core.php


Chris.


On Tue, Oct 19, 2010 at 4:12 PM, David McGlone da...@dmcentral.net wrote:

 Hi everyone,

 I've been really good at googling to find my answers, but this time my
 method isn't working for me.

 I have created a very simple class and a constructor hoping to get a
 much better understanding of how to work with them. The code works, but
 because it's very simple, I'm not sure that the way  I'm trying to
 access it is possible.

 All I'm trying to do is access the class from outside the function.
 (is that how to describe it?)

 For instance I have this simple code:

 class simpleConstructer {

 function __construct() {
echo running the constructor;
 }
 }

 $test=new simpleConstructer();


 Basically I want to learn how I can (if it's possible with this simple
 code) is display the output on a different page.

 I tried putting the line: $test=new simpleConstructer(); on the index
 page and including the page the class is on, but it causes the index
 page to go blank.

 The thought of a session crossed my mind, but I'm pretty confident at my
 level to know I don't need a session.

 Could someone point me in the right direction or give me some pointers,
 advice?

 --
 Blessings
 David M.


 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php




Re: [PHP] simple class constructor

2010-10-19 Thread chris h
Also wanted to point out that you can check the error reporting level and
log file location (really all of the php's settings) by calling   phpinfo();
 in your code.

?php

phpinfo();


?


Chris.



On Tue, Oct 19, 2010 at 4:54 PM, chris h chris...@gmail.com wrote:


 Can you paste the index page's code here?  If the page is going blank
 there's probably an error (syntax, bad file path, etc).  If you have access
 you can turn error reporting on so you can actually see the error - or
 better yet check the php error log file.  Settings for both of these are in
 the php.ini file, though sometimes they can be overridden by apache
 directives (depending on the setup).

 http://php.net/manual/en/ini.core.php


 Chris.


 On Tue, Oct 19, 2010 at 4:12 PM, David McGlone da...@dmcentral.netwrote:

 Hi everyone,

 I've been really good at googling to find my answers, but this time my
 method isn't working for me.

 I have created a very simple class and a constructor hoping to get a
 much better understanding of how to work with them. The code works, but
 because it's very simple, I'm not sure that the way  I'm trying to
 access it is possible.

 All I'm trying to do is access the class from outside the function.
 (is that how to describe it?)

 For instance I have this simple code:

 class simpleConstructer {

 function __construct() {
echo running the constructor;
 }
 }

 $test=new simpleConstructer();


 Basically I want to learn how I can (if it's possible with this simple
 code) is display the output on a different page.

 I tried putting the line: $test=new simpleConstructer(); on the index
 page and including the page the class is on, but it causes the index
 page to go blank.

 The thought of a session crossed my mind, but I'm pretty confident at my
 level to know I don't need a session.

 Could someone point me in the right direction or give me some pointers,
 advice?

 --
 Blessings
 David M.


 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php





Re: [PHP] Buffering output to allow headers late in code?

2010-10-14 Thread chris h


 I'm working through my class on PHP and I tried to put information from my
 sign-on process in the navbar. This didn't work well, since I had to reload
 the page to see it as the navbar was constructed earlier in the code than
 the signon process. (Hard to explain, as we are building a dynamic web
 page with lots of include files to fill in the main contnt portion of the
 page.)


I don't know if this will be much help, but I try to do all the controller /
model work before I mess with the view side.  So the controller starts off
with the ball, then he and the model pass it between each other a few times
until the controller finally hands it over to the view, who does her magic
and makes the score! ... Perhaps that analogy went to far.

At any rate!  Ideally the sign-on task would be done before any tasks that
would use sign-on data. Additionally, the layout of your page should
not necessarily dictate the order of any tasks (i.e. the sign-on box being
below the welcome box should not mean that the sign-on task gets done before
the welcome task).


Hope that helps!
Chris.


Re: [PHP] floored by floor()

2010-10-14 Thread chris h
floor(32703) is different then floor(327.03 * 100).  The former is an int,
while the later is a float.  Read those links that were sent :)


Chris.


On Thu, Oct 14, 2010 at 2:14 AM, Glen Fuller glenmful...@shaw.ca wrote:

 On 10/13/2010 10:48 PM, Mattias Thorslund wrote:

 Hi List,

 I'm having a problem with the behavior of the floor() function:

 echo floor(327.03 * 100).\n; //prints 32702 and not 32703!!

 Sanity check:
 var_dump(327.03 * 100); //prints float(32703) as expected

 Any ideas why this happens, and how to work around it?

 Thanks,

 Mattias



 Wouldn't that be equivalent to floor(32703), and since 32703 is the nearest
 integer to 32703 it returns it?

 Glen Fuller



 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php




Re: [PHP] Text messaging from the web

2010-10-14 Thread chris h

 You can send a text message via email:

Verizon: 10digitphonenum...@vtext.com
ATT: 10digitphonenum...@txt.att.net
Sprint: 10digitphonenum...@messaging.sprintpcs.com
T-Mobile: 10digitphonenum...@tmomail.net
Nextel: 10digitphonenum...@messaging.nextel.com
Cingular: 10digitphonenum...@cingularme.com
Virgin Mobile: 10digitphonenum...@vmobl.com
Alltel: 10digitphonenum...@message.alltel.com
CellularOne: 10digitphonenum...@mobile.celloneusa.com
Omnipoint: 10digitphonenum...@omnipointpcs.com
Qwest: 10digitphonenum...@qwestmp.com


Larry, it seems like this method would only be useful if you knew the
carrier of a specific number.  Do you know of a way to determine that?


Chris.


Re: [PHP] Re: Buffering output to allow headers late in code?

2010-10-14 Thread chris h


 Then someone said that using buffering was a bad idea and I should disable
 it.


I think it leads to poor habits like calling controller methods out of the
view (essentially what you are wanting to use it for). Using it like that is
asking for spaghetti code that's hard to maintain, scale, and train new
developers on.  I'd imagine it also adds overhead, though I don't know how
much - my guess is negligible.

OB can be a great tool, but it shouldn't be a hack to get around sloppy
architecture.

Just my 2 cents :)
Chris.


Re: [PHP] class object vs array for db table model

2010-10-12 Thread chris h
On Tue, Oct 12, 2010 at 2:38 AM, Tommy Pham tommy...@gmail.com wrote:

 Hi everyone,

 It's been a couple years since I've did a project in PHP.  The current
 project I'm working on is for PHP 5.3 and I noticed a performance issue.
  Is
 it just me or is there a BIG difference in performance between class object
 vs array for PHP 5.3?  Below is the sample:

 class MyTable
 {
private $_id; // int
private $_name; // varchar
private $_description; // text

public  function __construct() {}

public function getId()
{
return $this-_id;
}
public function getName()
{
return $this-_name;
}
public function getDescription()
{
return $this-_description;
}

public function setId($id)
{
$this-_id = $id;
}
public function setName($name)
{
$this-_name = $name;
}
public function setDescription($description)
{
$this-_description = $description;
}
 }

 $my_table = array ('id' = 'id value', 'name' = 'name value',
 'description'
 = 'long description text');

 The above are representations for my table as class and as array,
 respectively.  The only difference is how I represent the results from db:

 1) as class object
 $list = array();
 while ($row = $db-fetch($result))
 {
$my_table = new MyTable();
$my_table-setId($row['id']);
$my_table-setName($row['name']);
$my_table-setDescription($row['description']);

$list[$my_table-getId()] = $my_table;
 }

 2) as table
 $list = array();
 while ($row = $db-fetch($result))
 {
$my_table['id'] = $row['id'];
$my_table['name'] = $row['name'];
$my_table['description'] = $row['description'];

$list[$my_table['id'] = $my_table;
 }

 The performance difference I get is about 1.4 seconds with the array in the
 lead!!!  Does anyone have the same problem?

 Thanks,
 Tommy

 PS: The above executed in 4.2 sec and 1.8 sec (on average) respectively w/o
 actually showing the results to html, while my ASP.NET project executes it
 and displays in html in about 2 seconds for all 3684 rows, using class
 similar to the MyTable.  All codes, PHP  ASP.NET C#, access the same
 MySQL
 DB on the same development box.


When you are adding a row as an object you are calling 4 user
functions: MyTable::__construct(), MyTable::setId(),
MyTable::setName(),
and MyTable::setDescription().  This adds some overhead for sure, so you
might want to think about passing the row array into the construct and doing
away with the setters (at least for the initial instantiations).

Something like this...

-
public  function __construct($dataArray=null)
{
  foreach ((array)$dataArray as $rowKey = $rowValue)
  {
$this-$rowKey = $rowValue;
  }
}
==OR==
public  function __construct($dataArray=null)
{
  // maybe add casting here as well?
  $this-_id  = isset($dataArray['id'])?
  $dataArray['id']: null;
  $this-_name = isset($dataArray['name'])?
$dataArray['name']: null;
  $this-_description  = isset($dataArray['description'])?
 $dataArray['description']: null;

}
==And instantiate like this==
$list = array();
while ($row = $db-fetch($result))
{
  // I also changed setting the $list's key with $row['id'] instead of
using the MyTable getter.
  $list[$row['id']] = new MyTable($row);
}
---

I don't know how much faster that will run for you (if at all) but using
your method you were calling 5 user functions per result set from the db
(that's the construct, the getter to set the $list key, and 1 for each of
the 3 properties of the result) for a total of 18,420 user function calls.
 With my method I'm calling 1 user function (the construct) for each set,
for a total of 3,684 calls.  Of course a down-side is that if there's any
logic in your setters then that needs to be replicated in your construct.

Another method is to use a single object for all 3684 records.  Perhaps you
can use the built in Iterator interface which lets your class's objects be
used as if they were an array for the purposes of foreach loops.
http://php.net/manual/en/language.oop5.iterations.php
You would set a pointer to the record you wish to use, and your getters and
setters would key off that element of the master array.  This should be a
fast solution, while still giving you the power of encapsulation, getters
and setters.


Hope that helps!
Chris.


Re: [PHP] class object vs array for db table model

2010-10-12 Thread chris h
hehe that's pretty funny; also funny oversight of mine in regards to
isset()... so I guess we're both comedians today?  ;-)

Glad you got that worked out Tommy!

Chris.


On Tue, Oct 12, 2010 at 8:46 AM, Tommy Pham tommy...@gmail.com wrote:

 On Tue, Oct 12, 2010 at 4:45 AM, chris h chris...@gmail.com wrote:
 

 snip

 
 
  When you are adding a row as an object you are calling 4 user
  functions: MyTable::__construct(), MyTable::setId(), MyTable::setName(),
 and
  MyTable::setDescription().  This adds some overhead for sure, so you
 might
  want to think about passing the row array into the construct and doing
 away
  with the setters (at least for the initial instantiations).
  Something like this...
  -
  public  function __construct($dataArray=null)
  {
foreach ((array)$dataArray as $rowKey = $rowValue)
{
  $this-$rowKey = $rowValue;
}
  }
  ==OR==
  public  function __construct($dataArray=null)
  {
// maybe add casting here as well?
$this-_id  = isset($dataArray['id'])?
$dataArray['id']: null;
$this-_name = isset($dataArray['name'])?
  $dataArray['name']: null;
$this-_description  = isset($dataArray['description'])?
   $dataArray['description']: null;
  }
  ==And instantiate like this==
  $list = array();
  while ($row = $db-fetch($result))
  {
// I also changed setting the $list's key with $row['id'] instead of
  using the MyTable getter.
$list[$row['id']] = new MyTable($row);
  }
  ---
  I don't know how much faster that will run for you (if at all) but using
  your method you were calling 5 user functions per result set from the db
  (that's the construct, the getter to set the $list key, and 1 for each of
  the 3 properties of the result) for a total of 18,420 user function
 calls.
   With my method I'm calling 1 user function (the construct) for each set,
  for a total of 3,684 calls.  Of course a down-side is that if there's any
  logic in your setters then that needs to be replicated in your construct.
  Another method is to use a single object for all 3684 records.  Perhaps
 you
  can use the built in Iterator interface which lets your class's objects
 be
  used as if they were an array for the purposes of foreach loops.
  http://php.net/manual/en/language.oop5.iterations.php
  You would set a pointer to the record you wish to use, and your getters
 and
  setters would key off that element of the master array.  This should be a
  fast solution, while still giving you the power of encapsulation, getters
  and setters.
 
  Hope that helps!
  Chris.
 

 Hi Chris,

 Thanks for the reply.  The sample I made is just for simplicity and
 comparison.  As for function calling 'get's, I think the speed would
 come out to be same in your sample since you're doing isset()
 checking.  My actual class is more sophisticated having the psuedo
 overloading as you mentioned.  The class is generated from a PHP class
 builder - to save on typing - I made a long time ago with some minor
 update.

 Anyway, I was frustrated as to why my code took so long to execute and
 had to dig deep.  As it turns out, I had xdebug loaded with all
 options on ... lol.  Removed the extension and all is good in the
 world.  The script runs in less than 150ms :D!!!

 Thanks,
 Tommy

 PS:  This is what I get for not coding in PHP so long ...



Re: [PHP] Array / form processing

2010-10-07 Thread chris h
$_SESSION['life_coaching_order'][$product][$gift]['quantity'] =
$_SESSION['life_coaching_order'][$product][$gift]['quantity'] + 1;
===

...

===
foreach ($_SESSION['life_coaching_order'] AS $coaching_fee_theme_reference
= $value ) {
===


In this example $value would be an array. To test if it is a gift or not you
would do this from within the foreach loop:

//gift
if ( isset($value[1])  isset($value[1]['quantity']) )
{
  $gift_quantity = $value[1]['quantity'];
}

//personal use
if ( isset($value[2])  isset($value[2]['quantity']) )
{
  $personal_quantity = $value[2]['quantity'];
}


Technically the above IF's are optional, but they are proper syntax.

I don't know how you are with OOP, but you may have more luck using objects
instead of a complex array.

Chris H.


On Thu, Oct 7, 2010 at 3:35 PM, Ron Piggott
ron.pigg...@actsministries.orgwrote:


 I am writing a custom shopping cart that eventually the cart will be
 uploaded to PayPal for payment.  I need to be able to include the option
 that the purchase is a gift certificate.



 At present my add to cart function goes like this:

 ===
 # Gift Certificate: 1 is a gift; 2 is personal use

 if ( $gift_certificate == yes ) {
$gift = 1;
 } else {
$gift = 2;
 }

 $_SESSION['life_coaching_order'][$product][$gift]['quantity'] =
 $_SESSION['life_coaching_order'][$product][$gift]['quantity'] + 1;
 ===

 Now I need to display the shopping cart contents.  I want to do this
 through an array as the contents of the shopping cart are in a session
 variable.  I start displaying the shopping cart contents by a FOREACH
 loop:

 ===
 foreach ($_SESSION['life_coaching_order'] AS $coaching_fee_theme_reference
 = $value ) {
 ===

 What I need help with is that I don't know how to test the value of $gift
 in the above array if it is a 1 or 2 (which symbolizes this is a gift
 certificate).

 I have something like this in mind:
 if ( $_SESSION['life_coaching_order'] == 2 ) {

 But I don't know how to access all the components of the array while I am
 going through the FOREACH loop.

 By using a 1 or 2 I have made gift certificates their own product.  If
 you a better method I could use please provide me with this feedback.

 Ron

 The Verse of the Day
 Encouragement from God's Word
 www.TheVerseOfTheDay.info


 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php




Re: [PHP] Array / form processing

2010-10-07 Thread chris h
input type=submit name=submit value=Remove class=place_order/

I don't know what the context is like, but you may be better off just using
an entire form here with hidden fields. i.e.

form target=... action=...
 input type=hidden name=submit value=Remove /
 input type=hidden name=product_so value=1234 /
 input type=submit value=Remove class=place_order/
/form


Without knowing what else is going on in your page, and how the request is
being handled on the server, it's kind of hard to give exact advice. :)

Chris H.


Re: [PHP] Re: Continuance of the struggle (trying to understand)

2010-10-05 Thread chris h
If I paste the script into a web page

What do you mean by paste the script into a web page?  Can you tell us
exactly what you are doing when you do that?


Chris.



On Tue, Oct 5, 2010 at 7:54 AM, Col Day colind...@aol.com wrote:

 Hi Shreyas,

 Ok, as far as I can tell the script should show This is an HTML line
 reflecting that I am seeing the HTML part of the script followed by This is
 a PHP line to show that PHP is installed and working fine.

 If I view the script directly in IE by going to
 http://localhost/phptest.php I get the output:


 This is an HTML line

 This is a PHP line

 followed by a large and detailed list of the PHP install which includes
 things like compiler language etc.

 If I paste the script into a web page then all that is displayed is

 This is an HTML line.

 Nothing else whatsoever.

 I am fairly confused. I've tried a couple of different web page creators
 (Webplus 10 and Web page maker) and get the same result.

 Sorry if I sound extremely naive but it's bugging me now and I want to
 understand.

 Cheers

 Shreyas Agasthya shreya...@gmail.com wrote in message
 news:aanlkti=4ke1stf8tan7+ecjo-ux5cj=t9-0qctcfk...@mail.gmail.com...

  Col,

 Can you let us know what exactly you see when you say
 http://localhost:/phptest.php
 ?


 Regards,
 Shreyas

 On Tue, Oct 5, 2010 at 4:20 PM, Col Day colind...@aol.com wrote:


 Col Day colind...@aol.com wrote in message
 news:23.81.45586.2820b...@pb1.pair.com...

  Hi all,


 After my escapades with the real basics and realizing my laptop wasn't
 logged on as Administrator, I now am trying to work out why this script
 works sometimes but not others.

  html
  head
  titlePHP Test/title
  /head
  body
  pThis is an HTML line
  ?php
 echo pThis is a PHP line/p;
 phpinfo();
  ?
  /body
  /html

 If I save this as phptest.php and open IE pointing it to
 localhost/phptest.php it works fine. Get both lines of text followed by
 the
 pages of gumpf about php.

 However if I paste this into a



  That was weird!

 I was saying, If I paste this into a webpage I only get the HTML line
 as
 before.

 Anyone have any ideas?

 PHP is obviously working as is apache. Just don't understand why they
 don't
 show up in web pages.

 Cheers again all!

 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php




 --
 Regards,
 Shreyas Agasthya



 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php




Re: [PHP] which one is faster

2010-10-05 Thread chris h
Benchmark and find out! :)

What are you using this for? Unless you are doing something crazy it
probably doesn't matter, and you should pick whichever you feel looks nicer
/ is easier to code in / etc.

Chris H.

On Tue, Oct 5, 2010 at 3:23 PM, saeed ahmed saeed@gmail.com wrote:

 $a = 'hey';
 $b = 'done';

 $c = $a.$b;
 $c = $a$b;

 which one is faster for echo $c.



Re: [PHP] which one is faster

2010-10-05 Thread chris h
Saeed here's a quick (and dirty) test I ran:


$tests = 100;

$start = microtime(true);
for ($i=0; $i$tests; $i++) {

  $a = md5( rand() );
  $b = md5( rand() );

  $c = $a.$b;
}
var_dump( By concat op:\t. (microtime(true) - $start) );


$start = microtime(true);
for ($i=0; $i$tests; $i++) {

  $a = md5( rand() );
  $b = md5( rand() );

  $c = $a$b;
}
var_dump( By string:\t\t. (microtime(true) - $start) );


Sample results:
string(30) By concat op: 2.1713118553162
string(27) By string: 2.2525599002838

string(30) By concat op: 2.2123351097107
string(27) By string: 2.2798750400543

string(29) By concat op: 2.1521489620209
string(27) By string: 2.2470209598541

string(29) By concat op: 2.1347990036011
string(27) By string: 2.1982681751251


I would say that under virtually all cases that difference is less
then negligible.

Chris H.

On Tue, Oct 5, 2010 at 3:35 PM, Ashley Sheridan 
a...@ashleysheridan.co.ukwrote:

  On Tue, 2010-10-05 at 15:28 -0400, chris h wrote:

 Benchmark and find out! :)

 What are you using this for? Unless you are doing something crazy it
 probably doesn't matter, and you should pick whichever you feel looks nicer
 / is easier to code in / etc.

 Chris H.

 On Tue, Oct 5, 2010 at 3:23 PM, saeed ahmed saeed@gmail.com wrote:

  $a = 'hey';
  $b = 'done';
 
  $c = $a.$b;
  $c = $a$b;
 
  which one is faster for echo $c.
 


 As far as I'm aware, the first of the two will be faster, but only just. As
 Saeed mentioned, the difference will be negligible, and unless you plan to
 run a line like that in a loop or something hundreds of thousands of times,
 you probably won't notice any difference.
   Thanks,
 Ash
 http://www.ashleysheridan.co.uk





Re: [PHP] which one is faster

2010-10-05 Thread chris h
On Tue, Oct 5, 2010 at 3:53 PM, Ashley Sheridan 
a...@ashleysheridan.co.ukwrote:

 On Tue, 2010-10-05 at 15:46 -0400, Steve Staples wrote:

  On Tue, 2010-10-05 at 20:35 +0100, Ashley Sheridan wrote:
   On Tue, 2010-10-05 at 15:28 -0400, chris h wrote:
  
Benchmark and find out! :)
   
What are you using this for? Unless you are doing something crazy it
probably doesn't matter, and you should pick whichever you feel looks
 nicer
/ is easier to code in / etc.
   
Chris H.
   
On Tue, Oct 5, 2010 at 3:23 PM, saeed ahmed saeed@gmail.com
 wrote:
   
 $a = 'hey';
 $b = 'done';

 $c = $a.$b;
 $c = $a$b;

 which one is faster for echo $c.

  
  
   As far as I'm aware, the first of the two will be faster, but only
 just.
   As Saeed mentioned, the difference will be negligible, and unless you
   plan to run a line like that in a loop or something hundreds of
   thousands of times, you probably won't notice any difference.
   Thanks,
   Ash
   http://www.ashleysheridan.co.uk
  
  
 
 
  to be proper, shouldn't it technically be
  $c = {$a}{$b};
 
  ??
 
  Steve.
 
 


 It doesn't have to use the braces. The braces only tell PHP exactly
 where to stop parsing the current variable name. The following examples
 wouldn't work without them:

 $var = 'hello ';
 $arr = array('msg 1'='hello','msg 2'='world');

 echo {$var}world;
 echo {$arr['msg 1']}{$arr['msg 2']};

 Without the braces, in the first example PHP would look for a variable
 called $varworld, and in the second it would be looking for a simple
 scaler called $arr, not the array value you wanted.

 Thanks,
 Ash
 http://www.ashleysheridan.co.uk



Just to add in here, they are also required when calling an object's
properties, if - ready for this? - that object is itself a property of
another object.

so while this would work,

$circle-circumference

this would NOT work

$circle-circumference-inches

The later would be injecting the $circle-circumference property, followed
by string literal -inches.  So to get it to work you would need to use
curlys.

{$circle-circumference-inches}


Chris H.


Re: [PHP] Variable (Class instantiation) collision

2010-10-05 Thread chris h
Just to clarify, both packages are instantiating and calling their
respective database classes from the $db var, which is in the global scope.
Is this correct?

This is why I hate the global scope, I hate it, I hate it!

On Tue, Oct 5, 2010 at 3:47 PM, Brian Smither bhsmit...@gmail.com wrote:

 I am running into a variable collision. The project I'm developing is NOT
 guaranteed to be operating on PHP5. Any solution I find should (hopefully)
 be able to run on PHP4 (yes, I know PHP4 is deprecated).

 I am building a bridge between two third-party applications. Both
 instantiate their respective database class assigning it to $db and I cannot
 change that.

 So, I am interested in solutions to this.

 I found a reference to a Packager class and will be looking at it shortly.



 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php




Re: [PHP] which one is faster

2010-10-05 Thread chris h
On Tue, Oct 5, 2010 at 3:58 PM, Steve Staples sstap...@mnsi.net wrote:

 On Tue, 2010-10-05 at 20:53 +0100, Ashley Sheridan wrote:
  On Tue, 2010-10-05 at 15:46 -0400, Steve Staples wrote:
 
   On Tue, 2010-10-05 at 20:35 +0100, Ashley Sheridan wrote:
On Tue, 2010-10-05 at 15:28 -0400, chris h wrote:
   
 Benchmark and find out! :)

 What are you using this for? Unless you are doing something crazy
 it
 probably doesn't matter, and you should pick whichever you feel
 looks nicer
 / is easier to code in / etc.

 Chris H.

 On Tue, Oct 5, 2010 at 3:23 PM, saeed ahmed saeed@gmail.com
 wrote:

  $a = 'hey';
  $b = 'done';
 
  $c = $a.$b;
  $c = $a$b;
 
  which one is faster for echo $c.
 
   
   
As far as I'm aware, the first of the two will be faster, but only
 just.
As Saeed mentioned, the difference will be negligible, and unless you
plan to run a line like that in a loop or something hundreds of
thousands of times, you probably won't notice any difference.
Thanks,
Ash
http://www.ashleysheridan.co.uk
   
   
  
  
   to be proper, shouldn't it technically be
   $c = {$a}{$b};
  
   ??
  
   Steve.
  
  
 
 
  It doesn't have to use the braces. The braces only tell PHP exactly
  where to stop parsing the current variable name. The following examples
  wouldn't work without them:
 
  $var = 'hello ';
  $arr = array('msg 1'='hello','msg 2'='world');
 
  echo {$var}world;
  echo {$arr['msg 1']}{$arr['msg 2']};
 
  Without the braces, in the first example PHP would look for a variable
  called $varworld, and in the second it would be looking for a simple
  scaler called $arr, not the array value you wanted.
 
  Thanks,
  Ash
  http://www.ashleysheridan.co.uk
 
 
 Ash:

 I understand what the {} does, but just like in HTML, it is more proper
 to use lower case for the attributes/elements, and use  (double quotes)
 when wrapping the attributes... but is it not REQUIRED to write it in
 that manner... just like it is not required to wrap the variables in {}
 when inside the ...

 that's just me, I tend to try and do that every time...

 Steve.



Unlike HTML, PHP interpretation doesn't have various browsers to contend
with. And even if it was not proper I have a doubt that not using {} would
become deprecated anytime soon.

Also laziness is a trait of a good programmer! :)
http://c2.com/cgi/wiki?LazinessImpatienceHubris

Chris H.


Re: [PHP] Variable (Class instantiation) collision

2010-10-05 Thread chris h
Short of refactoring ApplicationB, can you set it up as a SOAP/REST service
that AppA calls?


On Tue, Oct 5, 2010 at 5:02 PM, Brian Smither bhsmit...@gmail.com wrote:


 Just to clarify, both packages are instantiating and calling their
 respective classes from the $db var, which is in the global scope.
 Is this correct?

 I would say yes to the way you are asking. Take the following two
 applications. The four respective statements are in each their respective
 script.

 Application A:
 ?php
 class foo {}
 $db = new foo();
 $outA = barA();
 function barA() { global $db; include(Application B); }
 ?

 Application B:
 ?php
 class bar {}
 $db = new bar();
 $outB = barB();
 function barB() { global $db; }
 ?

 The bridge project is operating in A and include()'ing the script that is B
 (as I have not found an API for B). $db in B is colliding with $db in A.



 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php




[PHP] PHPExcel with large files (27,000+ rows)

2010-10-04 Thread chris h
I'm currently working on a project that requires the parsing of excel files.
 Basically the user uploads an excel file, and then a script needs to save a
row in a Postgres database for each row in the excel file.  The issue we are
having is that when we task PHPExcel with parsing an excel file with, say
27k rows, it explodes with a memory error.  I've read up on the PHPExcel
forums and we've tried cell caching as well as ReadDataOnly, they do not
seem to be sufficient.

Does anyone here know of a way to do this? Surely there is a way to parse a
large excel file with PHP.  This is also NOT an on-demand service.  That is,
when someone uploads a file they get a task_id which allows them to check
the status of their excel file.  So the solution does not need to be a fast
one!


Thanks,
Chris.


Re: [PHP] PHPExcel with large files (27,000+ rows)

2010-10-04 Thread chris h
Thanks Jessen/Marc, though the user provided format can be in xls, xlsx, or
csv.  So i need a solution to support all formats.

Thanks for the ideas shiplu I'll get with the team and see if there's
anything there we aren't trying.


Chris.


On Mon, Oct 4, 2010 at 3:01 PM, shiplu shiplu@gmail.com wrote:

 On Tue, Oct 5, 2010 at 12:39 AM, chris h chris...@gmail.com wrote:
  I'm currently working on a project that requires the parsing of excel
 files.
   Basically the user uploads an excel file, and then a script needs to
 save a
  row in a Postgres database for each row in the excel file.  The issue we
 are
  having is that when we task PHPExcel with parsing an excel file with, say
  27k rows, it explodes with a memory error.  I've read up on the PHPExcel
  forums and we've tried cell caching as well as ReadDataOnly, they do not
  seem to be sufficient.
 
  Does anyone here know of a way to do this? Surely there is a way to parse
 a
  large excel file with PHP.  This is also NOT an on-demand service.  That
 is,
  when someone uploads a file they get a task_id which allows them to check
  the status of their excel file.  So the solution does not need to be a
 fast
  one!
 
 
  Thanks,
  Chris.
 

 1. Remove any variable that contains big object if its not necessary.
 2. Use unset when applicable
 3. Read chunk by chunk.
 4. Profile it to find the exact place where you are wasting memory.
 Optimizing that little portion of code can improve memory performance.

 --
 Shiplu Mokadd.im
 My talks, http://talk.cmyweb.net
 Follow me, http://twitter.com/shiplu
 SUST Programmers, http://groups.google.com/group/p2psust
 Innovation distinguishes bet ... ... (ask Steve Jobs the rest)



Re: [PHP] Syntax Error

2010-10-03 Thread chris h
On Sun, Oct 3, 2010 at 12:47 PM, Gary gp...@paulgdesigns.com wrote:

 I have just created a registration page using Webassist, and I am getting a
 syntax error that I am not understanding.  Anyone be able to point me in
 the
 right direction?

 You have an error in your SQL syntax; check the manual that corresponds to
 your MySQL server version for the right syntax to use near ' NULL, NULL)'
 at
 line 1

 This is the code (I have not modified it)

 ?php require_once('Connections/local.php'); ?
 ?php
 if (!function_exists(GetSQLValueString)) {
 function GetSQLValueString($theValue, $theType, $theDefinedValue = ,
 $theNotDefinedValue = )
 {
 $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

 $theValue = function_exists(mysql_real_escape_string) ?
 mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

 switch ($theType) {
 case text:
 $theValue = ($theValue != ) ? ' . $theValue . ' : NULL;
 break;
 case long:
 case int:
 $theValue = ($theValue != ) ? intval($theValue) : NULL;
 break;
 case double:
 $theValue = ($theValue != ) ? ' . doubleval($theValue) . ' : NULL;
 break;
 case date:
 $theValue = ($theValue != ) ? ' . $theValue . ' : NULL;
 break;
 case defined:
 $theValue = ($theValue != ) ? $theDefinedValue : $theNotDefinedValue;
 break;
 }
 return $theValue;
 }
 }
 ?
 ?php
 // *** Redirect if username exists
 $MM_flag=MM_insert;
 if (isset($_POST[$MM_flag])) {
 $MM_dupKeyRedirect=;
 $loginUsername = $_POST['id'];
 $LoginRS__query = SELECT id FROM family WHERE id=' . $loginUsername .
 ';
 mysql_select_db($database_local, $local);
 $LoginRS=mysql_query($LoginRS__query, $local) or die(mysql_error());
 $loginFoundUser = mysql_num_rows($LoginRS);

 //if there is a row in the database, the username was found - can not add
 the requested username
 if($loginFoundUser){
 $MM_qsChar = ?;
 //append the username to the redirect page
 if (substr_count($MM_dupKeyRedirect,?) =1) $MM_qsChar = ;
 $MM_dupKeyRedirect = $MM_dupKeyRedirect . $MM_qsChar
 .requsername=.$loginUsername;
 header (Location: $MM_dupKeyRedirect);
 exit;
 }
 }
 ?
 ?php
 $editFormAction = $_SERVER['PHP_SELF'];
 if (isset($_SERVER['QUERY_STRING'])) {
 $editFormAction .= ? . htmlentities($_SERVER['QUERY_STRING']);
 }

 ?
 ?php
 if ((isset($_POST[MM_insert]))  ($_POST[MM_insert] ==
 WAATKRegistrationForm)) {
 $insertSQL = sprintf(INSERT INTO family (firstname, lastname, email,
 password, relationship, story, image, ip, submitted) VALUES (%s, %s, %s,
 %s,
 %s, %s, %s, %s, %s),
 GetSQLValueString($_POST['firstname'], text),
 GetSQLValueString($_POST['lastname'], text),
 GetSQLValueString($_POST['email'], text),
 GetSQLValueString($_POST['password'], text),
 GetSQLValueString($_POST['relationship'], text),
 GetSQLValueString($_POST['story'], text),
 GetSQLValueString($_POST['image'], ), GetSQLValueString($_POST['ip'],
 text), GetSQLValueString($_POST['submitted'], date));

 mysql_select_db($database_local, $local);
 $Result1 = mysql_query($insertSQL, $local) or die(mysql_error());

 $insertGoTo = family_LogIn.php;
 if (isset($_SERVER['QUERY_STRING'])) {
 $insertGoTo .= (strpos($insertGoTo, '?')) ?  : ?;
 $insertGoTo .= $_SERVER['QUERY_STRING'];
 }
 header(sprintf(Location: %s, $insertGoTo));
 }
 ?

 Thanks again for the help.

 Gary



 __ Information from ESET Smart Security, version of virus signature
 database 5499 (20101003) __

 The message was checked by ESET Smart Security.

 http://www.eset.com





 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php



MySQL is not liking a query.  It looks to be this one:

$insertSQL = sprintf(INSERT INTO family (firstname, lastname, email,
password, relationship, story, image, ip, submitted) VALUES (%s, %s, %s, %s,
%s, %s, %s, %s, %s),

I would echo or log $insertSQL just before you pass it to mysql_query() and
see if the SQL syntax looks right.


Chris.


Re: [PHP] Little Parsing help...

2010-10-02 Thread chris h
Don,

How far along are you?  To get started something like this may work for
you...

preg_match_all('/[A-G]{1}#?/', $line, $matches);

That SHOULD return each note of the line (you can retrieve them via the
$matches array), given that there are no other upper-case characters that
are not notes. Also this assumes that $line has exactly one line in it. :)

If you get that working, perhaps you can setup something using the
preg_replace method?
http://php.net/manual/en/function.preg-replace.php


Another option is to use the str_replace function.
http://us3.php.net/manual/en/function.str-replace.php


I gotta run (else I would type some more) but let me know if you want any
advice on using those!

Chris.


On Fri, Oct 1, 2010 at 11:20 AM, Don Wieland d...@pointmade.net wrote:

 The logic I need is pretty straight forward, but I am having a hard time
 replicating it using PHP functions. I will try to break it down to it's
 simplest form:

 I have a field that has several lines of text. Chords and Song Lyrics.

 The Chord lines begin with an asterisk * and end with the line break.
 This is the string I want to parse. Lines with no asterisk at the beginning
 are ignored.

 Based on 3 arrays of NOTES, I want SUBSTITUTE the text (based on exact text
 character patterns - just NOTES not the chord type) of the lines in my field
 that start with an asterisk *.

 original_chord_array = A, A#, B, C, C#, D, D#, E, F, F#, G, G#
 transpose_up_array = A#, B, C, C#, D, D#, E, F, F#, G, G#, A
 transpose_down_array = G#, A, A#, B, C, C#, D, D#, E, F, F#, G

 It is important that it only effects EXACT strings.  Notes will always be
 capitalized and chord types will be lower case. Maybe we can use that
 characteristic to better identify what to change. Here are some examples of
 chords:

 A
 Asus7
 Csus add9
 Dmaj7
 F#m7
 G#
 C#dim no3

 When I transpose UP these chords, just the NOTE should change:

 A#
 A#sus7
 C#sus add9
 D#maj7
 Gm7
 A
 Ddim no3

 When I transpose DOWN these chords, just the NOTE should change:

 G#
 G#sus7
 Bsus add9
 C#maj7
 Fm7
 G
 Cdim no3

 I am working on a function, but still not producing the proper results.
 Hopefully this break down is more clear and someone will bail me out ;-)

 Thanks again for the feedback.

 Don


 On Oct 1, 2010, at 7:02 AM, Richard Quadling wrote:

  Changing the NormalKeyID and using that ID with NoteSequenceNumber
 should give you the new note to play.

 I think.



 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php




Re: [PHP] Scraping Multiple sites

2010-10-02 Thread chris h
On Sat, Oct 2, 2010 at 9:03 PM, Russell Dias rus...@gmail.com wrote:

 I'm currently stuck on a little problem. I'm using cURL in conjunction
 with DOMDocument and Xpath to scrape data from a couple of websites.
 Please note that is only for personal and educational purposes.

 Right now I have 5 independent scripts (that traverse through 5
 websites) that run via a cron tab every 12 hours. However, as you may
 have guessed this is a scalability nightmare. If my list of websites
 to scrape grows I have to create another independent script and run it
 via cron.

 My knowledge of OOP is fairly basic as I have just gotten started with
 it. However, could anyone perhaps suggest a design pattern that would
 suit my needs? My solution would be to create an abstract class for
 the web crawler and then simply extend it per website I add on.
 However, as I said my experience with OOP is almost non-existant
 therefore I have no idea how this would scale. I want this 'crawler'
 to be one application which can run via one cron rather than having n
 amount of scripts for each websites and having to manually create a
 cron each time.

 Or does anyone have any experience with this sort thing and could
 maybe offer some advice?

 I'm not limited to using PHP either, however due to hosting
 constraints Python would most likely be my only other alternative.

 Any help would be appreciated.

 Cheers,
 Russell

 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php



Are the sites that you are crawling so different as to justify
maintaining separate chunks of code for each one?  I would try to avoid
having any code specific to a site, otherwise scaling your application to
support even a hundred sites would involve overlapping hundreds of points of
functionality and be a logistical nightmare.  Unless you're simply wanting
to do this for educational reasons...

My suggestion would be to attempt to create an application that can craw all
the sites, without specifics for each one.  You could fire it with a single
cron job, and give it a list of the urls you want it to hit.  It can crawl
one url, record the findings, move to the next, repeat.


Chris.


Re: [PHP] Array question

2010-09-25 Thread chris h
Mike,

$results[] will automatically push a value unto the end of an array.

So doing this...
--
$magic = array();
$magic[] = 'a';
$magic[] = 'b';
$magic[] = 'c';
-

is exactly this same as doing this...
--
$normal = array();
$normal[0] = 'a';
$normal[1] = 'b';
$normal[2] = 'c';
-

And yes, in your example $results[] would be equivalent to $results[$j]


For more reference:
http://www.php.net/manual/en/language.types.array.php


Chris H.


On Sat, Sep 25, 2010 at 4:31 PM, MikeB mpbr...@gmail.com wrote:

 I have the following code:

 $query = SELECT * FROM classics;
 $result = mysql_query($query);

 if (!$result) die (Database access failed:  . mysql_error());
 $rows = mysql_num_rows($result);

 for ($j = 0 ; $j  $rows ; ++$j)
 {
$results[] = mysql_fetch_array($result);
 }

 mysql_close($db_server);

 My question, in the loop, why does tha author use:

 $results[] = mysql_fetch_array($result);

 instead of (as I would expect):

 $results[$j] = mysql_fetch_array($result);?

 What PHP magic is at work here?

 Thanks.


 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php




Re: [PHP] Re: Copying an Object

2010-09-24 Thread chris h
On Fri, Sep 24, 2010 at 8:35 AM, Peter Lind peter.e.l...@gmail.com wrote:

 On 24 September 2010 14:22, Bob McConnell r...@cbord.com wrote:
  From: David Hutto
 
  On Fri, Sep 24, 2010 at 4:09 AM, Gary php-gene...@garydjones.name
 wrote:
  Daniel Kolbo wrote:
 
  Say you have two classes: human and male.  Further, say male extends
  human.  Let's say you have a human object.  Then later you want to
 make
  that human object a male object.  This seems to be a pretty reasonable
  thing to request of our objects.
 
  I don't think any human can change gender without major surgery, but I
  don't know if you just chose your example badly or whether you really
  think objects should be able to mutate into other types of object
  without some kind of special treatment.
 
  But it would work in something like makehuman, where you start with a
 neuter
  form and scale one way or the other for physical features. If I
  remember correctly,
  we're' all xx until you become xy(genetically speaking).
 
  This is one of the details that really bothers me about OOP. It makes it
 impossible to implement some very reasonable scenarios. 80% of the time,
 when a patron is added to a system, we don't know which gender they are.
 More than 50% of the time, we will never know, since the client doesn't keep
 track of it. But the rest of them will be assigned sometime after they were
 added. i.e. the gender assignment comes from a secondary source that is not
 available at the time the patron is entered.
 

 If you can't handle that, it's not the fault of OOP but your lack of
 programming skills in OOP I'd say (and I mean no disrespect there, I'm
 just pretty sure your scenario can be handled very easily in OOP).

 And no, I have no urge to defend OOP in PHP, I just see this entire
 thread as a complete non-starter: if the language doesn't let you do
 something in a particular way, how about you stop, take a breather,
 then ask if perhaps there's a better way in the language to do what
 you want done? That would normally be a much more productive and
 intelligent response than either a) pressing on in the face of failure
 or b) complaining about your specific needs and how the language fails
 to meet them.

 Regards
 Peter

 --
 hype
 WWW: http://plphp.dk / http://plind.dk
 LinkedIn: http://www.linkedin.com/in/plind
 BeWelcome/Couchsurfing: Fake51
 Twitter: http://twitter.com/kafe15
 /hype




I think pages 17-19 of the GoF covers exactly this:

Object composition is an alternative to inheritance. ... Any [composed]
object can be replaced at run-time by another as long as it has the same
type.

I would look into object composition or just read the GoF.


Re: [PHP] Re: Copying an Object

2010-09-24 Thread chris h
Gang of Four

http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612

An excellent book on OOP.

Chris H.


On Fri, Sep 24, 2010 at 9:34 AM, Bob McConnell r...@cbord.com wrote:

 From: chris h

  On Fri, Sep 24, 2010 at 8:35 AM, Peter Lind peter.e.l...@gmail.com
 wrote:
 
On 24 September 2010 14:22, Bob McConnell r...@cbord.com wrote:
 From: David Hutto

 On Fri, Sep 24, 2010 at 4:09 AM, Gary
 php-gene...@garydjones.name wrote:
 Daniel Kolbo wrote:

 Say you have two classes: human and male.  Further, say
 male extends
 human.  Let's say you have a human object.  Then later you
 want to make
 that human object a male object.  This seems to be a pretty
 reasonable
 thing to request of our objects.

 I don't think any human can change gender without major
 surgery, but I
 don't know if you just chose your example badly or whether
 you really
 think objects should be able to mutate into other types of
 object
 without some kind of special treatment.

 But it would work in something like makehuman, where you
 start with a neuter
 form and scale one way or the other for physical features. If
 I
 remember correctly,
 we're' all xx until you become xy(genetically speaking).

 This is one of the details that really bothers me about OOP.
 It makes
  it impossible to implement some very reasonable scenarios. 80% of the
 time,
  when a patron is added to a system, we don't know which gender they
 are.
  More than 50% of the time, we will never know, since the client
 doesn't keep
  track of it. But the rest of them will be assigned sometime after they
 were
  added. i.e. the gender assignment comes from a secondary source that
 is not
  available at the time the patron is entered.

If you can't handle that, it's not the fault of OOP but your
 lack of
programming skills in OOP I'd say (and I mean no disrespect
 there, I'm
just pretty sure your scenario can be handled very easily in
 OOP).
 
And no, I have no urge to defend OOP in PHP, I just see this
 entire
thread as a complete non-starter: if the language doesn't let
 you do
something in a particular way, how about you stop, take a
 breather,
then ask if perhaps there's a better way in the language to do
 what
you want done? That would normally be a much more productive and
intelligent response than either a) pressing on in the face of
 failure
or b) complaining about your specific needs and how the language
 fails
to meet them.
 
  I think pages 17-19 of the GoF covers exactly this:
 
  Object composition is an alternative to inheritance. ... Any
  [composed] object can be replaced at run-time by another as long
  as it has the same type.
 
  I would look into object composition or just read the GoF.

 GoF?

 Bob McConnell

 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php




Re: [PHP] if/elseif being treated as if/if

2010-09-24 Thread chris h
Andy I see no reason why both echo's would fire; unless this block of code
gets executed multiple times.  can we see more of the code?

Chris H.


On Fri, Sep 24, 2010 at 1:50 PM, Andy McKenzie amckenz...@gmail.com wrote:

 Hey folks,

  Here's the deal.  I have the following code:

 if($col_vals[$i][$val['column']] == $search_result[0][$col])
  { echo ' selected=selected'; }
 elseif($val['default'] == $col_vals[$i][$val['column']])
  { echo ' selected=selected'; }

  It's supposed to check whether there's a value in the db
 ($search_result[0][$col]) that matches the current column value, and
 if not, check whether the default matches it.  It does that, sort of.
 In fact, both statements trigger, which I would have said wasn't
 possible.

  So the question is:  what causes both parts of an if/elseif
 statement to trigger?  As far as I can see my punctuation is correct,
 and I've confirmed through debugging statements that all the values
 are what I expect, so how do I make the elseif stop acting like
 another if?  Or, alternatively, have I just misunderstood all this
 time what the if/elseif statement does?

 Thanks,
  Alex

 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php




Re: [PHP] Copying an Object

2010-09-22 Thread chris h
You could create a method of class B that takes an object of class A as a
parameter and copies each property line by line (or method of class A that
takes an object of class B...).  If you don't want to add a method you could
just do the same thing, but procedurally.  The issue with this (aside from
being bad oop) is that you can't copy private properties unless you have all
the required getters and setters.  The issue with both of these is that it's
ugly, high maintenance code.

There is the iterator class, extending from which would allow you iterate
through all of your properties in a foreach, but if you don't want to add a
new method then you likely don't want to add a parent class.

I don't care for any of these options, but as far as I know there's no
internal PHP mechanism to to copy all the properties from one object to
another object of a different class - please correct me if I'm wrong.  Is it
possible that there's a more elegant solution to your problem that does not
include a mass copy of all an object's properties? (e.g. using statics like
Mr Bungle suggested or perhaps some nifty design pattern?)


Chris H.




On Wed, Sep 22, 2010 at 7:35 AM, Daniel Kolbo kolb0...@umn.edu wrote:

 Hello PHPers,

 I have:

 class A {
...code
 }

 class B extends A {
...code
 }

 $a = new A();

 $b = new B();

 I would like to get all of the properties of $a into $b by value.  Class
 A extends 3 other classes.  I would like a way to not have to manage a
 'copy' method in B if A or one of the subclasses of A change.

 I was reading about clone, but this doesn't really seem to help me in
 this situation.

 How can I copy $a into $b?

 Thanks,
 dK
 `


 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php




Re: [PHP] Adjusting Session Times

2010-09-14 Thread chris h
 My thought is to adjust the session expiration in the table based on the
 client currently logged in.


I don't know if there's a better way, but I would probably just do that.
 The expiration would be set to whatever the client's preference is, and
default to 8 hours if he doesn't have one.  You may want to set some checks
to ensure that the client's preference is within a specific range (e.g.
between 30 minutes and 16 hours).


Chris.


Re: [PHP] 1984 (Big Brother)

2010-09-13 Thread chris h
On Mon, Sep 13, 2010 at 5:09 PM, Daevid Vincent dae...@daevid.com wrote:



  -Original Message-
  From: tedd [mailto:t...@sperling.com]
  Sent: Sunday, September 12, 2010 9:32 AM
  To: PHP-General list
  Subject: [PHP] 1984 (Big Brother)
 
  Hi gang:
 
  I have a client who wants his employees' access to their online
  business database restricted to only times when he is logged on.
  (Don't ask why)
 
  In other words, when the boss is not logged on, then his employees
  cannot access the business database in any fashion whatsoever
  including checking to see if the boss is logged on, or not. No access
  whatsoever!
 
  Normally, I would just set up a field in the database and have that
  set to yes or no as to if the employees could access the
  database, or not. But in this case, the boss does not want even that
  type of access to the database permitted. Repeat -- No access
  whatsoever!
 
  I was thinking of the boss' script writing to a file that
  accomplished the yes or no thing, but if the boss did not log off
  properly then the file would remain in the yes state allowing
  employees undesired access. That would not be acceptable.
 
  So, what methods would you suggest?
 
  Cheers,
 
  tedd

 You sure know how to pick'em Tedd.

 This is the second whacky client you've posted about on the list...

 This guy sounds like a real control-freak (read: tool).

 One other thing I'll throw out is the use of a crontab to start/stop mysql
 during boss's hours. I don't have a complete solution for you as I just
 don't care enough about helping this Dbag lord over his employees like
 that, but I suspect you could have /etc/init.d/mysql start or stop at
 some pre-determined times like 8am - noon. Then noon till 5pm. Or
 something.

 RDBMS are not really designed to be turned on and off like that.

 Another option is to maybe use M$ Access instead (which does have a
 multi-user mode). Use ODBC to connect via PHP to it. So then he would start
 up the DB when he likes and shut it down when he likes. (note that a logout
 of Windows will NOT prevent the ODBC connection as it is a service -- as
 God intended RDBMS to be)
 http://www.configure-all.com/php_access.php

 This guy is making me angry just thinking about it!

 d



Yes I've been following this post purely in the hope that someone gets Tedd
is explain the client's logic on this one.  It's one thing for a layman to
have this kind of requirement, but another entirely for them to STILL have
it after an explanation.  I mean part of consulting is to tell the client
when they're wrong, for someone to not heed that when they are paying for
the advice is mind boggling. *sigh* if only everyone were perfect like me...
 :p

Hey lets pay someone to consult us on a subject that we're ignorant of.
Great idea! And when he makes a suggestion we can totally ignore him! SQL -
Shmeequal


Rant aside; I would defer the logistics to the client.  He wants the DB to
shutdown when he's not in the office? Ok no problem - not what it was
designed to do, but no problem!

How would you like the system to be aware of rather or not you're in the
office? It can assume you are between these hours; You can log into a screen
that unlocked it, but then you have to logout; we can put a motion detector
in your office; ... etc.

This would put the consequences of the system off on the client. Because if
this system works then there will be consequences and you'll look like a
jerk  :-)

Btw, are there no cron / batch jobs that need to run over night?



Chris


Re: [PHP] newbie question about code

2010-09-10 Thread chris h
I would check this out to give you a decent understanding of php's oop.

http://php.net/manual/en/language.oop5.php


Chris.


On Fri, Sep 10, 2010 at 2:27 PM, Adam Williams
adam_willi...@bellsouth.netwrote:

 I'm looking at someone's code to learn and I'm relatively new to
 programming.  In the code I see commands like:

 $code-do_command();

 I'm not really sure what that means.  How would that look in procedural
 style programming?  do_command($code); or something else?


 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Zend framework

2010-09-10 Thread chris h
Thanks for the info everyone, this is pretty much what I was expecting to
hear about it.  I think I'll probably stick to using it as a toolkit.



Thanks,
Chris.



On Fri, Sep 10, 2010 at 3:01 PM, Daevid Vincent dae...@daevid.com wrote:

 Sorry wrong thread. Damnit. I meant that link for the guy that didn't know
 what the - was for...

  -Original Message-
  From: Daevid Vincent [mailto:dae...@daevid.com]
  Sent: Friday, September 10, 2010 12:01 PM
  To: 'David Harkness'
  Cc: 'PHP-General'
  Subject: RE: [PHP] Zend framework
 
  http://www.php.net/manual/en/language.oop5.basic.php
 
   -Original Message-
   From: David Harkness [mailto:davi...@highgearmedia.com]
   Sent: Friday, September 10, 2010 10:59 AM
   To: rquadl...@googlemail.com
   Cc: chris h; PHP-General
   Subject: Re: [PHP] Zend framework
  
   We use part of Zend MVC (the dispatcher, controllers, and
   view scripts) here
   and a lot of the other facilities such as the autoloader,
   config, etc. and
   are very happy so far. As long as you design your application
   with an eye
   toward portability, you won't be tied to ZF. For example, put
   all of your
   business logic in model classes instead of the controllers
   themselves. That
   way if you ever need to move to a new presentation layer or
   use the business
   logic outside it (e.g. in SOAP or RPC messages), you'll be ready.
  
   David
  
 


 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php




[PHP] Zend framework

2010-09-09 Thread chris h
Hello all,

I'm starting a new project and I'm thinking about building it on Zend
framework and possibly Zend server.  I've only used the framework slightly
and I've never really used Zend server.  That being said I hear that the
framework is pretty decent to work with.  I want something that is strict
and uses OOP  MVC well, and I hear it does; though I also have the
impression that it's slow and bloated...

Anyways, I was curious if any of you have some general advice / good things
/ horror stories on the Zend framework?


Thanks,
Chris.


Re: [PHP] Reformat array result.

2010-09-08 Thread chris h
Paul,

How are you matching the records in the event count array to the ones in
the timestamp array?

Is it safe to say that:
$timestamp[ $i ] corresponds to $eventCount[ $i ]?

If so, you could just iterate through the timestamp array; on each iteration
create a record in a new array that holds the timestamp and whatever the
corresponding eventCount record is.  Something like:


$newTimeArray = array();

foreach ($timestamps as $i = $singleTimestamp) {

  $newTimeArray[ $i ] = array(
'timestamp' = $singleTimestamp,
'count' = $eventCounts[ $i ]
  );

}


Now if $timestamp[ $i ] does NOT correspond to $eventCount[ $i ] then I
think we'll need you to explain how that relationship works, unless I missed
something :)


Chris.


On Wed, Sep 8, 2010 at 1:02 PM, Paul Halliday paul.halli...@gmail.comwrote:

 I have been starting at this problem blankly for a couple hours now.
 Hopefully someone can help.

 I have a query that returns an event count grouped by hour:

 timestamp:
 Array ( [0] = 2010-09-08 03 [1] = 2010-09-08 04 [2] = 2010-09-08 05
 [3] = 2010-09-08 06 [4] = 2010-09-08 07 [5] = 2010-09-08 08 [6] =
 2010-09-08 09 [7] = 2010-09-08 10 [8] = 2010-09-08 11 [9] =
 2010-09-08 12 [10] = 2010-09-08 13 [11] = 2010-09-08 14 [12] =
 2010-09-08 15 [13] = 2010-09-08 16 ) 24

 event count:
 Array ( [0] = 1731 [1] = 885 [2] = 544 [3] = 668 [4] = 748 [5] =
 754 [6] = 933 [7] = 2422 [8] = 6713 [9] = 31925 [10] = 18827 [11]
 = 16743 [12] = 16875 [13] = 11775 )

 Lets say that coming into this, I knew that the query spanned 36 hours
 and started at 01:00. How can I manipulate the resulting array to
 contain the missing time stamps and a value of 0.

 The effect I am shooting for looks like this:

 http://www.pintumbler.org/example.png

 So 0  -  23 will be static and I just walk through the array and
 populate those. If we hit 23, start a new row and continue. The matrix
 will always be the same though.

 I think I know what needs to happen, I just cant come up with the logic.

 Any push in the right direction would be appreciated.
 --
 Paul Halliday
 Ideation | Individualization | Learner | Achiever | Analytical
 http://www.pintumbler.org

 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php




Re: [PHP] Hi

2010-09-06 Thread chris h
You can check the extension of the uploaded file
http://www.php.net/manual/en/features.file-upload.post-method.php


But to be sure that it's truly a zip file you could actually open the file
with php's zip function.
http://php.net/manual/en/ref.zip.php


Chris.


On Mon, Sep 6, 2010 at 9:46 AM, Jordan Jovanov jovanovj...@gmail.comwrote:

 Hi All

 I need me a little help.
 I create scripte for upload file is work very good but the problem is next:
 I neet to upload only .zip file i need to disable some user to shoise to
 upload another file Extensions.

 Can somebody help me.

 Thanks a lot.

 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php




Re: [PHP] Hi

2010-09-06 Thread chris h
On Mon, Sep 6, 2010 at 1:45 PM, chris h chris...@gmail.com wrote:

 Per PHPdocs on $_FILES['userfile']['type']...

 The mime type of the file, if the browser provided this information. An
 example would be image/gif. This mime type is however not checked on the
 PHP side and therefore don't take its value for granted.


 Personally I like to use the file right off-the-bat to ensure it's safe.
  So if it's an image do some kind of image manipulation function on it, if
 it's zip then use some zip functions on it (i.e. if you can read data from a
 zip file using a zip function then it's probably a real zip file).  It can
 be slow, but handling user uploaded files is so dangerous that I think it's
 typically the way to go.


 Chris.



Re: [PHP] a test (list is too quite)

2010-09-04 Thread chris h
Evidently all is well in the world of php...  :)

On Sat, Sep 4, 2010 at 12:45 PM, tedd t...@sperling.com wrote:

 Hi gang:

 Just checking to see if I am still receiving postings.  :-)

 Cheers,

 tedd
 --
 ---
 http://sperling.com/

 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php




Re: [PHP] a test (list is too quite)

2010-09-04 Thread chris h
On Sat, Sep 4, 2010 at 2:24 PM, Marc Guay marc.g...@gmail.com wrote:

 Can I make a facebook site using PHP?  If yes, how?

 Please send me the infos privately.

 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php



I'm also trying to make a Facebook site using PHP; but I want mine
to incorporate all the elements from YouTube, Twitter, and Wikipedia... Also
I want it to be ecommerce so I can sell t-shirts with my picture on them...
Also I want it to be an auction site.  Hmm, maybe Wordpress can do this


Re: [PHP] PHP, Soap, and WDSL

2010-09-03 Thread chris h
Alternatively you can pass the var through htmlspecialchars...

 echo htmlspecialchars( $response );


and for a really simple solution you can echo it inside a textarea...

 echo textarea $response /textarea;


Though you'll likely want to increase the size of the textarea!  ;-)




Chris.



On Fri, Sep 3, 2010 at 3:39 AM, Jangita jang...@jangita.com wrote:

 On 02/09/2010 10:51 p, SBS Computers wrote:

  It's as if the data is not getting to my php page?

 The view source shows the following data:

 ?xml version=1.0 encoding=utf-16?soap:Envelope xmlns:soap=
 http://schemas.xmlsoap.org/soap/envelope/;
 .
 .
 .bunch of data
 .
 .
 /response/soap:Body/soap:Envelope

  Seems like the data is getting there OK. But a browser normally will not
 output normal xml and hides it (unless there is a body / tag or other tags
 that normally display output since it is using the text/html MIME

 add this line

 header('Content-type: text/plain');

 before the echo and see what happens. Also make sure there is no other
 output (echo or any html tags) before the line above

 --
 Jangita | +256 76 91 8383 | Y!  MSN: jang...@yahoo.com
 Skype: jangita | GTalk: jangita.nyag...@gmail.com

 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php




Re: [PHP] tutorial failure

2010-08-18 Thread chris h
php is not processing the file.  There's a few reasons for this, but the
first thing I would check is the permissions of the file.  From the
directory try

$ ls -oa

This should tell you who owns the file and what it's permissions are.  You
mentioned that you copied it as root, you could change it's ownership to
www-data.

again from the directory try.

$ chown www-data test.php

then run ls -oa to ensure the change took place.


Chris.

On Wed, Aug 18, 2010 at 6:03 AM, e-letter inp...@gmail.com wrote:

 I changed the code as follows:

 html
head
titlephp test
/title
/head
body
 ?php phpinfo ?
 ?php
echo pHi, I am a PHP script/p;
?
p
this is a test
/p
/body
 /html

 The result (http://localhost/test.php):

 Hi, I am a PHP script

 ; ?

 this is a test

 If I use single quotes characters:

 Hi, I am a PHP script

 '; ?

 this is a test

 The phpinfo instruction does not seem to be recognised. What else
 should I check?

 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php




Re: [PHP] tutorial failure

2010-08-18 Thread chris h
What are the actual file permissions when you run ls -o?


Do you know if PHP is installed as an apache mod or cgi? Also you might
check what user apache is running as.

possibly...
$ vi /etc/apache2/envvars

and look for something like...
export APACHE_RUN_USER=www-data




On Wed, Aug 18, 2010 at 6:47 AM, e-letter inp...@gmail.com wrote:

 On 18/08/2010, chris h chris...@gmail.com wrote:
  php is not processing the file.  There's a few reasons for this, but the
  first thing I would check is the permissions of the file.  From the
  directory try
 
  $ ls -oa
 
 The file permission was confirmed as root, since it was copied (as
 root) from a normal user account directorp 'temporary' to the
 directory '/var/www/html'

  This should tell you who owns the file and what it's permissions are.
  You
  mentioned that you copied it as root, you could change it's ownership to
  www-data.
 
 This fails:

 [r...@localhost html]# chown www-data test.php
 chown: `www-data': invalid user

 So I repeated this with a normal user account and the change in
 permission occurs. However, the html file containing the php script
 remains unchanged.

 The instruction:

 ...
 ?php phpinfo() ?
 ...

 Does not show the version of php.



Re: [PHP] tutorial failure

2010-08-18 Thread chris h
On Wed, Aug 18, 2010 at 7:10 AM, e-letter inp...@gmail.com wrote:

 On 18/08/2010, chris h chris...@gmail.com wrote:
  What are the actual file permissions when you run ls -o?
 
 root


What's the entire output of ls -o?


 
  Do you know if PHP is installed as an apache mod or cgi? Also you might
  check what user apache is running as.
 
 No. How to verify?

  possibly...
  $ vi /etc/apache2/envvars
 
 No apache2 on my computer, only '/usr/lib/apache' which contains only .so
 files.


there's no /etc/apache either?


Re: [PHP] method overloading in a class

2010-08-18 Thread chris h
Would something like this work for you?

class foo
{

   public function bar($arg1, $arg2, $arg3=null)
  {

 if (isset($arg3)){
 {
return $this-_bar3($arg1, $arg2, $arg3);

 } else {
return $this-_bar2($arg1, $arg2);

 }

  }


also you may want to look into the func_get_args function.



Chris.


On Wed, Aug 18, 2010 at 12:23 PM, Ashley Sheridan
a...@ashleysheridan.co.ukwrote:

 Hi list,

 I know that some languages such as C++ can overload functions and
 methods by declaring the method again with a different number of
 arguments, and the compiler internally sorts things out, but I can't
 seem to find a similar way to do this with PHP.

 Basically, what I've got at the moment is a class method with 2
 arguments, and I need to be able to overload the method with 3
 arguments. The following which would work in other languages doesn't
 seem to bring any joy in PHP:

 class foo
 {
public function bar($arg1, $arg2)
   {
// do something with $arg1  $arg2
}

public function bar($arg1, $arg2, $arg3)
{
// do something different with all 3 args
}
 }

 Is there any feasible way of doing this? The method names really need to
 remain the same as they exist as part of a framework, but the arguments
 really server quite different purposes between the two methods, so
 there's no nice way of just merging the two functions without breaking
 the naming conventions, etc used.

 Thanks,
 Ash
 http://www.ashleysheridan.co.uk





Re: [PHP] Can't read $_POST array

2010-08-18 Thread chris h
Does $_SERVER['HTTP_METHOD'] show a GET or POST?

On Wed, Aug 18, 2010 at 4:58 PM, Adam Richardson simples...@gmail.comwrote:

 On Wed, Aug 18, 2010 at 4:55 PM, Adam Richardson simples...@gmail.com
 wrote:

  On Wed, Aug 18, 2010 at 4:49 PM, Ashley Sheridan 
 a...@ashleysheridan.co.uk
   wrote:
 
  On Wed, 2010-08-18 at 13:45 -0700, Brian Dunning wrote:
 
   I'm trying to write a VERY simple script that does nothing but store
 all
  the submitted GET and POST vars in a string and echo it out.
  
   $response = print_r($_REQUEST, true);
   echo $response;
  
   The problem is it only shows GET vars. I've tried $POST instead of
  $_REQUEST and it always gives an empty array. I've got it on two
 different
  servers, and we have three guys trying various methods of submitting
 forms
  to it, trying to eliminate all potential problems, like the possibility
 that
  the request might not actually have any POST vars. I think we've safely
  eliminated these possibilities.
  
   Can anyone see a reason why the above should not see POST vars? Is
 there
  some security setting I don't know about?
 
 
  Is there any code before the print_r() call, i.e. code that might be
  setting it to an empty array?
 
  If not, then are you sure your form is definitely sending post
  variables? It sounds a stupid question, but a small typo could be
  sending the data as GET by accident. Firefox has a useful extension
  called Firebug which might be able to show you the data being sent to
  the browser. If you really need to bring out the big guns, then
  Wireshark will show all the network traffic, including that sent from
  your form to the server.
 
  Thanks,
  Ash
  http://www.ashleysheridan.co.uk
 
 
 
  Check php.ini for this setting:
  variables_order
 
 
  --
  Nephtali:  PHP web framework that functions beautifully
  http://nephtaliproject.com
 

 And I suppose post_max_size could cause issues, too.

 --
 Nephtali:  PHP web framework that functions beautifully
 http://nephtaliproject.com



Re: [PHP] It's Friday (a MySQL Question)

2010-08-14 Thread chris h
Well you certainly can not use this without the command line, however some
hosts restrict you from the command line but still allow you to run commands
via php's exec() function (Rackspace Sites is an example of this).

pseudo code example:
exec('mysqldump [options] --all-databases ... ');

Of course this is only if your hoster supports it, and if the user has
proper mysql privileges (which I think are SELECT, LOCK TABLES, and SHOW
VIEW).

mysqldump is a great program with many options so you can dump your db just
the way you want it ;)  If it's something you can and choose to use I would
suggest reading over the link I sent you so you can customize it's output.


Chris.

On Sat, Aug 14, 2010 at 8:51 AM, tedd t...@sperling.com wrote:

 At 6:53 PM -0400 8/13/10, chris h wrote:

 Tedd I don't know if this will resolve your issue or not, but have you
 looked into using mysqldump?

 http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html
 http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html


 That's what I use for my backups.


 Chris.


 Chris:

 I would like to do that, but I simply don't know how.

 I think the reason for that is that I usually work on shared hosted
 accounts and the hosts don't permit command line stuff -- so I think, but I
 could be wrong. Plus, I stopped doing command line stuff back in the Apple
 ][ days.

 Granted this is another hole in my knowledge, but I think that even if I
 knew how, I don't think it would solve my current problem. Am I wrong?


 Cheers,

 tedd

 --
 ---
 http://sperling.com/



Re: [PHP] Setting up a 2 Column Display for SQL Recordset

2010-08-13 Thread chris h
Dave I would look into something like the array_slice function.

http://us3.php.net/manual/en/function.array-slice.php

With this function you could create two arrays - one for the left column,
and one for the right column - and iterate through them simultaneously.

i.e. untested: given $allNames is an array with all 200 names
--
$firstNameSet = array_slice($allNames, 0, 100);
$secondNameSet = array_slice($allNames, 100);

foreach ($firstNameSet as $key = $nameA) {
 $nameB = $secondNameSet[$key];
 ...
 ...
}
-

Alternatively you can use a nested query to pull the results in two sets
directly from the sql db.


Hope that helps
Chris.


On Fri, Aug 13, 2010 at 12:51 PM, DealTek deal...@gmail.com wrote:

 newbie question:

 Hi Folks,

 I have a php / sql data recordset that has 200 names that I want to display
 in a 2 column display ( down on left then down on right side - not left
 right - left right).

 So I can create a 2 column table. Then I need to split the data result in 2
 parts - so part 1 (1-100 records) is on the left column and part 2 (101 -
 200 records) is on the right column.

 Q: I'm not quite sure how to split / display the records ... Is there some
 kind of internal sql rec number that I can monitor? What is the best way to
 set this up?



 --
 Thanks,
 Dave - DealTek
 deal...@gmail.com
 [db-10]




 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php




Re: [PHP] It's Friday (a MySQL Question)

2010-08-13 Thread chris h
Tedd I don't know if this will resolve your issue or not, but have you
looked into using mysqldump?

http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html

That's what I use for my backups.


Chris.

On Fri, Aug 13, 2010 at 6:47 PM, tedd t...@sperling.com wrote:

 At 6:11 PM -0400 8/13/10, Daniel P. Brown wrote:

 On Fri, Aug 13, 2010 at 17:48, tedd t...@sperling.com wrote:


SELECT * FROM table_reference INTO OUTFILE 'file_name'

  It looked to be bit simpler/shorter than my code, so I tried it. But it
  reports:

Access denied for user 'me'@'localhost' (using password: YES).

  I suspect that the access being denied is because MySQL doesn't have
  permission to create the output file. The MySQL manual reports: 1) that
 a
  file cannot be present; 2) AND MySQL must have file privileges to create
 the
  file -- but I don't know how to set that up.


No, the 'access denied' message means that either the username or
 password is incorrect, or that the given user doesn't have permission
 to access the given database on the given host.


 Daniel :

 I don't think so and here's my reasoning.

 You see in the same script, I tested the connection to the database with a
 query *before* the OUTFILE statement and it worked! If the username and/or
 password had been wrong, then it would have also failed. Here's the demo:

 http://php1.net/c/db-dump/db-2-dir.php

 Please note that the string 'BKohl41' noted is the result of a query to the
 same database *before* the OUTFILE query.

 As far as I can tell, the MySQL statement does not have permission to
 create a file and that's the problem as I see it.

 I shall test Daevid's GRANT SELECT, FILE ON mydb.table_reference TO 
 'me'@'localhost';
 statement tomorrow -- it looks promising.

 As for the:


 You know you can pass that on the command line right and avoid this pipe
 business?

 No, I don't know how to do that.


 Cheers,

 tedd

 --
 ---
 http://sperling.com/

 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php




Re: [PHP] login to protected directory by php

2010-08-13 Thread chris h
Based off what your saying my guess is that the request is not hitting your
php script.

Is the php script in the protected directory? If so what is it's file name
and what url are you hitting for the test?


Chris.

On Fri, Aug 13, 2010 at 6:21 PM, Ali Asghar Toraby Parizy 
aliasghar.tor...@gmail.com wrote:

 Hi. I have a protected directory in my host. I have configured .htaccess
 successfully and it works prefect.
 Now I'm looking for a solution to login and logout by a php script.
 In my site I have a login page. In that page I set 'PHP_AUTH_USER' and '
 PHP_AUTH_PW'. but when I try to open protected directory, user
 authentication dialog appears.
 How can I do this? What is my error?

 --
 Ali Asghar Torabi



Re: [PHP] Updating Multiple rows in mysql w php at once (newbie)

2010-08-13 Thread chris h
you can do it like this...

input name=field[] value=zero type=text /
input name=field[] value=one  type=text /
input name=field[65] value=sixty-five  type=text /
input name=field[car] value=truck  type=text /

on the php side this would equate to...

echo $_POST['field'][0]; // prints zero
echo $_POST['field'][1]; // prints one
echo $_POST['field'][65]; // prints sixty-five
echo $_POST['field']['car']; // prints truck

provided the form is submitted via a POST method.

Take care to ensure you have the right index on the array.



Chris.

On Fri, Aug 13, 2010 at 8:19 PM, DealTek deal...@gmail.com wrote:

 Hi all,

 another newbie question

 I have a recordset from mysql - a list of 20 or so  products...


 1 - I would like create an edit form to loop through the records and edit a
 text field called 'favorite' for each of the records - (this, I have
 done)...

 2 - then I would like to submit the form and update all records favorite
 field at once...

 Q: so how do I create the form and response page so that I can update all
 20?

 I'm sure it involves numbering the form names like:

 $c = 1 - then increment counter

 input name =favorite?php echo $c; ?  ...   (1 - text)
 input name =favorite?php echo $c; ?  ... (2 - text)
 input name =favorite?php echo $c; ?  ... (3 - text)
 input name =favorite?php echo $c; ?  ... (4 - text)



 ...not sure how to loop thru these on the response / update page to get
 them updating correctly




 --
 Thanks,
 Dave - DealTek
 deal...@gmail.com
 [db-10]