OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
 
php-general-digest-help_at_lists.php.net
Date: Sat Oct 05 2002 - 13:44:28 CDT

  • Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

    php-general Digest 5 Oct 2002 18:44:28 -0000 Issue 1626

    Topics (messages 118943 through 118960):

    Re: Findng a pattern
            118943 by: Rasmus Lerdorf
            118951 by: Marek Kilimajer

    Record Sorting Using Up and Down Arrows
            118944 by: David Pratt
            118954 by: Marek Kilimajer

    Re: sending post without a form
            118945 by: Jome

    Re: Uploading Files
            118946 by: Justin French

    post(ing) data without a form
            118947 by: Pablo Oliva
            118948 by: Timothy J Hitchens

    Array getting chopped up
            118949 by: PHP

    Looping?
            118950 by: Steve Jackson
            118952 by: Justin French
            118955 by: Marek Kilimajer
            118956 by: Marek Kilimajer
            118957 by: . Edwin
            118958 by: Marek Kilimajer

    Re: unexpected t varable
            118953 by: Marek Kilimajer
            118959 by: Gary

    More On: Good Practice: Variables, Error Reporting and Security
            118960 by: Adam Royle

    Administrivia:

    To subscribe to the digest, e-mail:
            php-general-digest-subscribelists.php.net

    To unsubscribe from the digest, e-mail:
            php-general-digest-unsubscribelists.php.net

    To post to the list, e-mail:
            php-generallists.php.net

    ----------------------------------------------------------------------

    attached mail follows:


    You are building something that will automatically scrape Google by
    explicitly circumventing the tools they have provided for you to do so.
    Whether the information is for your own internal statistics or not is
    irrelevant. The terms of service state:

      No Automated Querying

      You may not send automated queries of any sort to Google's system
      without express permission in advance from Google. Note that "sending automated
      queries" includes, among other things:

        * using any software which sends queries to Google to determine how
           a website or webpage "ranks" on Google for various queries;

        * "meta-searching" Google; and

        * performing "offline" searches on Google.

    -Rasmus

    On Sat, 5 Oct 2002, Henry wrote:

    > Dear Rasmus et.al.
    >
    > I am not wishing to reformat or display or mirror anything from google.
    >
    > This is for my own internal statistics.
    >
    > I hope that puts your mind at rest.
    >
    > Henry
    >
    > "Rasmus Lerdorf" <rasmusphp.net> wrote in message
    > news:Pine.LNX.4.44.0210042151130.28746-100000www.lerdorf.com...
    > > You realize that you are asking us to help you violate the terms of
    > > service of Google?
    > >
    > > A direct quote from their terms of service:
    > >
    > > "You may not take the results from a Google search and reformat and
    > > display them, or mirror the Google home page or results pages on your
    > > Web site."
    > >
    > > -Rasmus
    > >
    > > On Sat, 5 Oct 2002, Henry wrote:
    > >
    > > > Thanks, but I don't want to uses google's SOAP interface, is there a
    > preg
    > > > type solution.
    > > >
    > > >
    > > > "Rasmus Lerdorf" <rasmusphp.net> wrote in message
    > > > news:Pine.LNX.4.44.0210042145330.28746-100000www.lerdorf.com...
    > > > > Google has a SOAP interface for this.
    > > > >
    > > > > On Sat, 5 Oct 2002, Henry wrote:
    > > > >
    > > > > > Dear All,
    > > > > >
    > > > > > Excuse my ignorance but I'm STILL a newbie to this aspect of PHP.
    > > > > >
    > > > > > $str="Results <b>1</b> - <b>10</b> of about <b>14</b>. Search took
    > > > > > <b>0.04</b> seconds."
    > > > > >
    > > > > > I would like to look for the string above in a buffer of text.
    > However I
    > > > > > would like to find it even if the numeric are different. Furthermore
    > I
    > > > would
    > > > > > like to know what the values are. Is there a simple way to do this?
    > > > > >
    > > > > > TIA
    > > > > >
    > > > > > Henry
    > > > > >
    > > > > >
    > > > > >
    > > > > >
    > > > > >
    > > > > >
    > > > > > --
    > > > > > 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
    > > >
    > >
    >
    >
    >
    > --
    > PHP General Mailing List (http://www.php.net/)
    > To unsubscribe, visit: http://www.php.net/unsub.php
    >

    attached mail follows:


    preg_match("Results <b>([0-9]+)</b> - <b>([0-9]+)</b> of about <b>([0-9]+)</b>. Search took <b>([0-9]+)</b> seconds.",$string, $hits);

    $hits[1], $hits[2], $hits[3], $hits[4] will contain your numbers

    Henry wrote:

    >Yes
    >
    >But that the string is contained within a much bigger string as well
    >
    >I want to search for the follwong string but with wild cards for the numeric
    >values and I would like to know the values as well.
    >
    >"Results <b>$1</b> - <b>$2</b> of about <b>$3</b>. Search took <b>$4</b>
    >seconds."
    >
    >Where all the $'s are numeric values
    >
    >Henry
    >
    >"Timothy J Hitchens" <timhitcho.com.au> wrote in message
    >news:001001c26c2a$927a9ad0$0500a8c0BAMBINO...
    >
    >
    >>Are you saying you want to be able to extract the numbers etc?
    >>
    >>
    >>Timothy Hitchens (HiTCHO)
    >>timhitcho.com.au
    >>
    >>HiTCHO has Spoken!
    >>
    >>
    >>
    >>
    >>
    >>
    >>-----Original Message-----
    >>From: Henry [mailto:henryteacake.f9.co.uk]
    >>Sent: Saturday, 5 October 2002 2:36 PM
    >>To: php-generallists.php.net
    >>Subject: [PHP] Findng a pattern
    >>
    >>
    >>Dear All,
    >>
    >>Excuse my ignorance but I'm STILL a newbie to this aspect of PHP.
    >>
    >>$str="Results <b>1</b> - <b>10</b> of about <b>14</b>. Search took
    >><b>0.04</b> seconds."
    >>
    >>I would like to look for the string above in a buffer of text. However I
    >>would like to find it even if the numeric are different. Furthermore I
    >>would like to know what the values are. Is there a simple way to do
    >>this?
    >>
    >>TIA
    >>
    >>Henry
    >>
    >>
    >>
    >>
    >>
    >>
    >>--
    >>PHP General Mailing List (http://www.php.net/)
    >>To unsubscribe, visit: http://www.php.net/unsub.php
    >>
    >>
    >>
    >>
    >
    >
    >
    >
    >

    attached mail follows:


    Hi there. I am trying to write a routine to allow me to sort the contents of
    a table by clicking on up or down arrows.
    The idea is that top record will have down arrow, bottom record up arrow and
    records inbetween both an up arrow and down arrow. Clicking the arrow
    causes the record to move up or down one row in the table. The hyperlinks
    on the arrows would be used to move the record up or down one by switching
    the sort order values in the records ie. you want to move a record one up,
    the value of the sort order would be switched with the record above.

    I have created a numeric sort field that I initialize with the same value
    and the id field in my table. I have my database content in an array that I
    want to use. So I want to create the table using an array of rows. I can
    get something basic to work if I do a count of my array to get the first and
    last value. I do a foreach and test the values in a switch
    like:

                switch($itemcount) {

                    case 1:
                        if ($itemtotal == 1) {
                            $arrows = '';
                        } else {
                            $arrows = "$downarrow";
                        }
                        break;
                    case $itemtotal:
                        if ($itemtotal == 1) {
                            $arrows = '';
                        } else {
                            $arrows = "$uparrow";
                        }
                        break;
                    default:
                        $arrows = "$uparrow $downarrow";
                        break;
                }
    The problem I am having is to come up with a way to make this work when
    there is more than one field to sort on. I have a table with a list of
    functions and files. There is a many to one relationship between functions
    and files and I want the up and down arrows to work for sorting the
    functions in the files in the list. So that if a file has say 4 functions
    the first would be down arrow, next two records would have both arrows, last
    record for file uparrow, next record down arrow if file is different etc.
    Could anyone help by giving me some advice on the best way of getting
    something like this to work or have an example to follow. This would be
    helpful. I have checked the archives first but could not find anything.

    Regards,
    DAve

    --
    

    Dave Pratt

    attached mail follows:


    PhpNuke has something like this in blocks management. Try looking at it.

    David Pratt wrote:

    >Hi there. I am trying to write a routine to allow me to sort the contents of >a table by clicking on up or down arrows. >The idea is that top record will have down arrow, bottom record up arrow and >records inbetween both an up arrow and down arrow. Clicking the arrow >causes the record to move up or down one row in the table. The hyperlinks >on the arrows would be used to move the record up or down one by switching >the sort order values in the records ie. you want to move a record one up, >the value of the sort order would be switched with the record above. > >I have created a numeric sort field that I initialize with the same value >and the id field in my table. I have my database content in an array that I >want to use. So I want to create the table using an array of rows. I can >get something basic to work if I do a count of my array to get the first and >last value. I do a foreach and test the values in a switch >like: > > switch($itemcount) { > > case 1: > if ($itemtotal == 1) { > $arrows = ''; > } else { > $arrows = "$downarrow"; > } > break; > case $itemtotal: > if ($itemtotal == 1) { > $arrows = ''; > } else { > $arrows = "$uparrow"; > } > break; > default: > $arrows = "$uparrow $downarrow"; > break; > } >The problem I am having is to come up with a way to make this work when >there is more than one field to sort on. I have a table with a list of >functions and files. There is a many to one relationship between functions >and files and I want the up and down arrows to work for sorting the >functions in the files in the list. So that if a file has say 4 functions >the first would be down arrow, next two records would have both arrows, last >record for file uparrow, next record down arrow if file is different etc. >Could anyone help by giving me some advice on the best way of getting >something like this to work or have an example to follow. This would be >helpful. I have checked the archives first but could not find anything. > >Regards, >DAve > > > > > > >-- > >Dave Pratt > > > > >

    attached mail follows:


    > Did the individual trying to send post(ed) data without the use of a > form succeed? I tried doing this before and didn't have any luck with > it... And I eventually gave up.

    Check out Rasmus' solution: http://www.php-faq.com/postToHost.html

    Jome

    attached mail follows:


    on 05/10/02 5:53 AM, Jason (jasonwpacifier.com) wrote:

    > I would like to be able to upload files from the client computer to the > server via a form. I know how to build the form, but am not sure of the > best way to process this. I know there are certain ftp functions that can > do this, which I'm not sure how to use. Are there any others?

    There's a perfect working example in the manual: http://www.php.net/manual/en/features.file-upload.php

    Justin French

    attached mail follows:


    OK, I'm attempting this again:

    header ( 'Location: ../test/test.php' ); sendByPost(); function sendByPost() { $host = "localhost"; $port = 80; $postdata = "field1=value1&field2=value2&field3=value3"; if ($sp = fsockopen($host, $port)) { fputs($sp,"POST /jotr/test/test.php HTTP/1.0\n"); fputs($sp,"Host: $host\n"); fputs($sp,"Content-type: application/x-www-form-urlencoded\n"); fputs($sp,"Content-length: ".strlen($postdata)."\n"); fputs($sp,"Connection: close\n\n"); fputs($sp,$postdata); fclose($sp); } }

    Pretty straight forward. Now here's the code for test.php: $temp1 = $_POST['field1']; $temp2 = $_POST['field2']; $temp3 = $_POST['field3']; print $temp1.' '.$temp2.' '.$temp3;

    But the data is not posting: Notice: Undefined index: field1 in c:\apache\htdocs\jotr\test\test.php on line 3 Notice: Undefined index: field2 in c:\apache\htdocs\jotr\test\test.php on line 4 Notice: Undefined index: field3 in c:\apache\htdocs\jotr\test\test.php on line 5

    WTF is going on, shouldn't this work?

    attached mail follows:


    The other thing.. the header will redirect and the rest won't happen???

    > header ( 'Location: ../test/test.php' );

    Just out of interest sake do you or not have register global on/off??

    Timothy Hitchens (HITCHO) timhitcho.com.au

    HITCHO has Spoken!

    -----Original Message----- From: Pablo Oliva [mailto:polivacox.net] Sent: Saturday, 5 October 2002 7:03 PM To: php-generallists.php.net Subject: [PHP] post(ing) data without a form

    OK, I'm attempting this again:

    header ( 'Location: ../test/test.php' ); sendByPost(); function sendByPost() { $host = "localhost"; $port = 80; $postdata = "field1=value1&field2=value2&field3=value3"; if ($sp = fsockopen($host, $port)) { fputs($sp,"POST /jotr/test/test.php HTTP/1.0\n"); fputs($sp,"Host: $host\n"); fputs($sp,"Content-type: application/x-www-form-urlencoded\n"); fputs($sp,"Content-length: ".strlen($postdata)."\n"); fputs($sp,"Connection: close\n\n"); fputs($sp,$postdata); fclose($sp); } }

    Pretty straight forward. Now here's the code for test.php: $temp1 = $_POST['field1']; $temp2 = $_POST['field2']; $temp3 = $_POST['field3']; print $temp1.' '.$temp2.' '.$temp3;

    But the data is not posting: Notice: Undefined index: field1 in c:\apache\htdocs\jotr\test\test.php on line 3 Notice: Undefined index: field2 in c:\apache\htdocs\jotr\test\test.php on line 4 Notice: Undefined index: field3 in c:\apache\htdocs\jotr\test\test.php on line 5

    WTF is going on, shouldn't this work?

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

    attached mail follows:


    Hello,

    I'm having a problem on my server where any time there is more than one element in an array, all elements prior to the last one get a portion of the beginning chopped off. This portion is pretty random (I have yet to find any pattern) other than it seems if there is a space it will chop off anything before the first space in a particular element. Every time a new element is added to the array, more characters are deleted from the previous one(s).

    This is best shown by going to http://66.192.46.41/~serverso/phpBB/index.php - create a new post and add a poll to it. As you add options to the poll, you will see the effect on the other options which you had already created. This is not a phpBB problem, as it occurs in other non-related php files on the server, but as I said this illustrates the effect well.

    You can also see what it did to a menu in postnuke on the server at www.dmcstop.com.

    Does anyone have any ideas???

    -Jordan

    attached mail follows:


    Anyone help me? this is probably quite simple but I'm pretty new to PHP. All I want to do it loop through some DB records and display them in the format written in this PHP file: Anyone see where I'm going wrong? the error I get says: Warning: Unable to jump to row 0 on MySQL result index 2

    <?

    $dbreturn = mysql_query("SELECT * FROM Items WHERE ItemID = '$ItemID'"); //debug echo mysql_error(); $ItemHits = mysql_numrows($dbreturn); $ItemID = mysql_result($dbreturn ,$i,"ItemID"); $ImageName = mysql_result($dbreturn ,$i,"ImageName"); $ItemName = mysql_result($dbreturn ,$i,"ItemName"); $ItemSKU = mysql_result($dbreturn ,$i,"ItemSKU"); $ItemCost = mysql_result($dbreturn ,$i,"ItemCost"); $ItemDescription = mysql_result($dbreturn ,$i,"ItemDescription"); for ($i=0; $i < $ItemHits; $i++) //($i < $ItemHits) { $row = mysql_fetch_array($dbreturn); echo "<table width='400' border='0' cellspacing='0' cellpadding='0'>"; echo "<tr>"; echo "<td><img src='images/$ImageName' width='175'></td>"; echo "<td valign='top'>"; echo "<table width='225' border='0' cellspacing='0' cellpadding='0'>"; echo "<tr>"; echo "<td><span class='pikkuleipa'>Product Name:</span></td>"; echo "<td><span class='pikkuleipa'>$ItemName</span></td>"; echo "</tr>"; echo "<tr>"; echo "<td><span class='pikkuleipa'>Product Code:</span></td>"; echo "<td><span class='pikkuleipa'>$ItemSKU</span></td>"; echo "</tr>"; echo "<tr>"; echo "<td><span class='pikkuleipa'>Unit price:</span></td>"; echo "<td><span class='pikkuleipa'>€$ItemCost</span></td>"; echo "</tr>"; echo "<tr>"; echo "<td><span class='pikkuleipa'><b>Description</b></span><br></td>"; echo "</tr>"; echo "<tr>"; echo "<td>"; echo "</td>"; echo "</tr>"; echo "</table>"; echo "<table width='225' border='0' cellspacing='0' cellpadding='0'>"; echo "<tr>"; echo "<td><span class='pikkuleipa'>$ItemDescription</span></td>"; echo "</tr>"; echo "</table>"; echo "</td>"; echo "</tr>"; echo "</table>"; echo "<form method='post' action='$Relative/addcart.php'>"; echo "<table width='400' border='0' cellspacing='0' cellpadding='0'>"; echo "<tr>"; echo "<td width='175' align='right'><span class='pikkuleipa'>Quantity Required:</span></td>"; echo "<td width='225'>"; echo "<INPUT TYPE='TEXT' Name='ItemQuantity' Value='1' size='2'>"; echo "</td>"; echo "</tr>"; echo "<tr>"; echo "<td width='175'></td>"; echo "<td width='225'><input type='image' border='0' name='submit' src='images/add.gif'></td>"; echo "</tr>"; echo "</table>"; echo "</form>"; //$i++; } ?>

    attached mail follows:


    This should get you started:

    <? $dbreturn = mysql_query("SELECT * FROM Items WHERE ItemID = '$ItemID'"); echo mysql_error(); $ItemHits = mysql_numrows($dbreturn); while($row = mysql_fetch_array($dbreturn)) { $ItemID = $row['ItemID']; $ImageName = $row['ImageName']; $ItemName = $row['ItemName']; $ItemSKU = $row['ItemSKU']; $ItemCost = $row['ItemCost']; $ItemDescription = $row['ItemDescription'];

    echo "<table width='400' border='0' cellspacing='0' cellpadding='0'>"; echo "<tr>"; echo "<td><img src='images/$ImageName' width='175'></td>"; echo "<td valign='top'>"; echo "<table width='225' border='0' cellspacing='0' cellpadding='0'>"; echo "<tr>"; echo "<td><span class='pikkuleipa'>Product Name:</span></td>"; echo "<td><span class='pikkuleipa'>$ItemName</span></td>"; echo "</tr>"; echo "<tr>"; echo "<td><span class='pikkuleipa'>Product Code:</span></td>"; echo "<td><span class='pikkuleipa'>$ItemSKU</span></td>"; echo "</tr>"; echo "<tr>"; echo "<td><span class='pikkuleipa'>Unit price:</span></td>"; echo "<td><span class='pikkuleipa'>€$ItemCost</span></td>"; echo "</tr>"; echo "<tr>"; echo "<td><span class='pikkuleipa'><b>Description</b></span><br></td>"; echo "</tr>"; echo "<tr>"; echo "<td>"; echo "</td>"; echo "</tr>"; echo "</table>"; echo "<table width='225' border='0' cellspacing='0' cellpadding='0'>"; echo "<tr>"; echo "<td><span class='pikkuleipa'>$ItemDescription</span></td>"; echo "</tr>"; echo "</table>"; echo "</td>"; echo "</tr>"; echo "</table>"; echo "<form method='post' action='$Relative/addcart.php'>"; echo "<table width='400' border='0' cellspacing='0' cellpadding='0'>"; echo "<tr>"; echo "<td width='175' align='right'><span class='pikkuleipa'>Quantity Required:</span></td>"; echo "<td width='225'>"; echo "<INPUT TYPE='TEXT' Name='ItemQuantity' Value='1' size='2'>"; echo "</td>"; echo "</tr>"; echo "<tr>"; echo "<td width='175'></td>"; echo "<td width='225'><input type='image' border='0' name='submit' src='images/add.gif'></td>"; echo "</tr>"; echo "</table>"; echo "</form>"; }

    ?>

    Justin

    on 05/10/02 10:56 PM, Steve Jackson (stevewebpage.co.uk) wrote:

    > Anyone help me? this is probably quite simple but I'm pretty new to PHP. > All I want to do it loop through some DB records and display them in the > format written in this PHP file: > Anyone see where I'm going wrong? the error I get says: > Warning: Unable to jump to row 0 on MySQL result index 2 > > <? > > $dbreturn = mysql_query("SELECT * FROM Items WHERE ItemID = '$ItemID'"); > //debug > echo mysql_error(); > $ItemHits = mysql_numrows($dbreturn); > $ItemID = mysql_result($dbreturn ,$i,"ItemID"); > $ImageName = mysql_result($dbreturn ,$i,"ImageName"); > $ItemName = mysql_result($dbreturn ,$i,"ItemName"); > $ItemSKU = mysql_result($dbreturn ,$i,"ItemSKU"); > $ItemCost = mysql_result($dbreturn ,$i,"ItemCost"); > $ItemDescription = mysql_result($dbreturn ,$i,"ItemDescription"); > for ($i=0; $i < $ItemHits; $i++) > //($i < $ItemHits) > { > $row = mysql_fetch_array($dbreturn); > echo "<table width='400' border='0' cellspacing='0' cellpadding='0'>"; > echo "<tr>"; > echo "<td><img src='images/$ImageName' width='175'></td>"; > echo "<td valign='top'>"; > echo "<table width='225' border='0' cellspacing='0' cellpadding='0'>"; > echo "<tr>"; > echo "<td><span class='pikkuleipa'>Product Name:</span></td>"; > echo "<td><span class='pikkuleipa'>$ItemName</span></td>"; > echo "</tr>"; > echo "<tr>"; > echo "<td><span class='pikkuleipa'>Product Code:</span></td>"; > echo "<td><span class='pikkuleipa'>$ItemSKU</span></td>"; > echo "</tr>"; > echo "<tr>"; > echo "<td><span class='pikkuleipa'>Unit price:</span></td>"; > echo "<td><span class='pikkuleipa'>€$ItemCost</span></td>"; > echo "</tr>"; > echo "<tr>"; > echo "<td><span class='pikkuleipa'><b>Description</b></span><br></td>"; > echo "</tr>"; > echo "<tr>"; > echo "<td>"; > echo "</td>"; > echo "</tr>"; > echo "</table>"; > echo "<table width='225' border='0' cellspacing='0' cellpadding='0'>"; > echo "<tr>"; > echo "<td><span class='pikkuleipa'>$ItemDescription</span></td>"; > echo "</tr>"; > echo "</table>"; > echo "</td>"; > echo "</tr>"; > echo "</table>"; > echo "<form method='post' action='$Relative/addcart.php'>"; > echo "<table width='400' border='0' cellspacing='0' cellpadding='0'>"; > echo "<tr>"; > echo "<td width='175' align='right'><span class='pikkuleipa'>Quantity > Required:</span></td>"; > echo "<td width='225'>"; > echo "<INPUT TYPE='TEXT' Name='ItemQuantity' Value='1' size='2'>"; > echo "</td>"; > echo "</tr>"; > echo "<tr>"; > echo "<td width='175'></td>"; > echo "<td width='225'><input type='image' border='0' name='submit' > src='images/add.gif'></td>"; > echo "</tr>"; > echo "</table>"; > echo "</form>"; > //$i++; > } > ?> >

    attached mail follows:


    typo:

    Justin French wrote:

    >This should get you started: > > > ><? >$dbreturn = mysql_query("SELECT * FROM Items WHERE ItemID = '$ItemID'"); >echo mysql_error(); >$ItemHits = mysql_numrows($dbreturn); > mysql_num_rows()

    >while($row = mysql_fetch_array($dbreturn)) >{ >$ItemID = $row['ItemID']; >$ImageName = $row['ImageName']; >$ItemName = $row['ItemName']; >$ItemSKU = $row['ItemSKU']; >$ItemCost = $row['ItemCost']; >$ItemDescription = $row['ItemDescription']; > >echo "<table width='400' border='0' cellspacing='0' cellpadding='0'>"; >echo "<tr>"; >echo "<td><img src='images/$ImageName' width='175'></td>"; >echo "<td valign='top'>"; >echo "<table width='225' border='0' cellspacing='0' cellpadding='0'>"; >echo "<tr>"; >echo "<td><span class='pikkuleipa'>Product Name:</span></td>"; >echo "<td><span class='pikkuleipa'>$ItemName</span></td>"; >echo "</tr>"; >echo "<tr>"; >echo "<td><span class='pikkuleipa'>Product Code:</span></td>"; >echo "<td><span class='pikkuleipa'>$ItemSKU</span></td>"; >echo "</tr>"; >echo "<tr>"; >echo "<td><span class='pikkuleipa'>Unit price:</span></td>"; >echo "<td><span class='pikkuleipa'>¬$ItemCost</span></td>"; >echo "</tr>"; >echo "<tr>"; >echo "<td><span class='pikkuleipa'><b>Description</b></span><br></td>"; >echo "</tr>"; >echo "<tr>"; >echo "<td>"; >echo "</td>"; >echo "</tr>"; >echo "</table>"; >echo "<table width='225' border='0' cellspacing='0' cellpadding='0'>"; >echo "<tr>"; >echo "<td><span class='pikkuleipa'>$ItemDescription</span></td>"; >echo "</tr>"; >echo "</table>"; >echo "</td>"; >echo "</tr>"; >echo "</table>"; >echo "<form method='post' action='$Relative/addcart.php'>"; >echo "<table width='400' border='0' cellspacing='0' cellpadding='0'>"; >echo "<tr>"; >echo "<td width='175' align='right'><span class='pikkuleipa'>Quantity >Required:</span></td>"; >echo "<td width='225'>"; >echo "<INPUT TYPE='TEXT' Name='ItemQuantity' Value='1' size='2'>"; >echo "</td>"; >echo "</tr>"; >echo "<tr>"; >echo "<td width='175'></td>"; >echo "<td width='225'><input type='image' border='0' name='submit' >src='images/add.gif'></td>"; >echo "</tr>"; >echo "</table>"; >echo "</form>"; >} > >?> > >Justin > > > >on 05/10/02 10:56 PM, Steve Jackson (stevewebpage.co.uk) wrote: > > > >>Anyone help me? this is probably quite simple but I'm pretty new to PHP. >>All I want to do it loop through some DB records and display them in the >>format written in this PHP file: >>Anyone see where I'm going wrong? the error I get says: >>Warning: Unable to jump to row 0 on MySQL result index 2 >> >><? >> >>$dbreturn = mysql_query("SELECT * FROM Items WHERE ItemID = '$ItemID'"); >>//debug >>echo mysql_error(); >>$ItemHits = mysql_numrows($dbreturn); >>$ItemID = mysql_result($dbreturn ,$i,"ItemID"); >>$ImageName = mysql_result($dbreturn ,$i,"ImageName"); >>$ItemName = mysql_result($dbreturn ,$i,"ItemName"); >>$ItemSKU = mysql_result($dbreturn ,$i,"ItemSKU"); >>$ItemCost = mysql_result($dbreturn ,$i,"ItemCost"); >>$ItemDescription = mysql_result($dbreturn ,$i,"ItemDescription"); >>for ($i=0; $i < $ItemHits; $i++) >>//($i < $ItemHits) >>{ >>$row = mysql_fetch_array($dbreturn); >>echo "<table width='400' border='0' cellspacing='0' cellpadding='0'>"; >>echo "<tr>"; >>echo "<td><img src='images/$ImageName' width='175'></td>"; >>echo "<td valign='top'>"; >>echo "<table width='225' border='0' cellspacing='0' cellpadding='0'>"; >>echo "<tr>"; >>echo "<td><span class='pikkuleipa'>Product Name:</span></td>"; >>echo "<td><span class='pikkuleipa'>$ItemName</span></td>"; >>echo "</tr>"; >>echo "<tr>"; >>echo "<td><span class='pikkuleipa'>Product Code:</span></td>"; >>echo "<td><span class='pikkuleipa'>$ItemSKU</span></td>"; >>echo "</tr>"; >>echo "<tr>"; >>echo "<td><span class='pikkuleipa'>Unit price:</span></td>"; >>echo "<td><span class='pikkuleipa'>¬$ItemCost</span></td>"; >>echo "</tr>"; >>echo "<tr>"; >>echo "<td><span class='pikkuleipa'><b>Description</b></span><br></td>"; >>echo "</tr>"; >>echo "<tr>"; >>echo "<td>"; >>echo "</td>"; >>echo "</tr>"; >>echo "</table>"; >>echo "<table width='225' border='0' cellspacing='0' cellpadding='0'>"; >>echo "<tr>"; >>echo "<td><span class='pikkuleipa'>$ItemDescription</span></td>"; >>echo "</tr>"; >>echo "</table>"; >>echo "</td>"; >>echo "</tr>"; >>echo "</table>"; >>echo "<form method='post' action='$Relative/addcart.php'>"; >>echo "<table width='400' border='0' cellspacing='0' cellpadding='0'>"; >>echo "<tr>"; >>echo "<td width='175' align='right'><span class='pikkuleipa'>Quantity >>Required:</span></td>"; >>echo "<td width='225'>"; >>echo "<INPUT TYPE='TEXT' Name='ItemQuantity' Value='1' size='2'>"; >>echo "</td>"; >>echo "</tr>"; >>echo "<tr>"; >>echo "<td width='175'></td>"; >>echo "<td width='225'><input type='image' border='0' name='submit' >>src='images/add.gif'></td>"; >>echo "</tr>"; >>echo "</table>"; >>echo "</form>"; >>//$i++; >>} >>?> >> >> >> > > > >

    attached mail follows:


    Just checked the manual and there are no functions named *mysql_numrows* or *mysql_num_row*, but only *mysql_num_rows* (notice the S at the end)

    Steve Jackson wrote:

    >Nope doesn't make any difference >mysql_numrows or mysql_num_row returns the same: > >In this case nothing! > > > >>-----Original Message----- >>From: Marek Kilimajer [mailto:kilimajerwebglobe.sk] >>Sent: 05 October 2002 17:03 >>To: PHP >>Subject: Re: [PHP] Looping? >> >> >>typo: >> >>Justin French wrote: >> >> >> >>>This should get you started: >>> >>> >>> >>><? >>>$dbreturn = mysql_query("SELECT * FROM Items WHERE ItemID = '$ItemID'"); >>>echo mysql_error(); >>>$ItemHits = mysql_numrows($dbreturn); >>> >>> >>> >>mysql_num_rows() >> >> >> >>>while($row = mysql_fetch_array($dbreturn)) >>>{ >>>$ItemID = $row['ItemID']; >>>$ImageName = $row['ImageName']; >>>$ItemName = $row['ItemName']; >>>$ItemSKU = $row['ItemSKU']; >>>$ItemCost = $row['ItemCost']; >>>$ItemDescription = $row['ItemDescription']; >>> >>>echo "<table width='400' border='0' cellspacing='0' cellpadding='0'>"; >>>echo "<tr>"; >>>echo "<td><img src='images/$ImageName' width='175'></td>"; >>>echo "<td valign='top'>"; >>>echo "<table width='225' border='0' cellspacing='0' cellpadding='0'>"; >>>echo "<tr>"; >>>echo "<td><span class='pikkuleipa'>Product Name:</span></td>"; >>>echo "<td><span class='pikkuleipa'>$ItemName</span></td>"; >>>echo "</tr>"; >>>echo "<tr>"; >>>echo "<td><span class='pikkuleipa'>Product Code:</span></td>"; >>>echo "<td><span class='pikkuleipa'>$ItemSKU</span></td>"; >>>echo "</tr>"; >>>echo "<tr>"; >>>echo "<td><span class='pikkuleipa'>Unit price:</span></td>"; >>>echo "<td><span class='pikkuleipa'>¬$ItemCost</span></td>"; >>>echo "</tr>"; >>>echo "<tr>"; >>>echo "<td><span class='pikkuleipa'><b>Description</b></span><br></td>"; >>>echo "</tr>"; >>>echo "<tr>"; >>>echo "<td>"; >>>echo "</td>"; >>>echo "</tr>"; >>>echo "</table>"; >>>echo "<table width='225' border='0' cellspacing='0' cellpadding='0'>"; >>>echo "<tr>"; >>>echo "<td><span class='pikkuleipa'>$ItemDescription</span></td>"; >>>echo "</tr>"; >>>echo "</table>"; >>>echo "</td>"; >>>echo "</tr>"; >>>echo "</table>"; >>>echo "<form method='post' action='$Relative/addcart.php'>"; >>>echo "<table width='400' border='0' cellspacing='0' cellpadding='0'>"; >>>echo "<tr>"; >>>echo "<td width='175' align='right'><span class='pikkuleipa'>Quantity >>>Required:</span></td>"; >>>echo "<td width='225'>"; >>>echo "<INPUT TYPE='TEXT' Name='ItemQuantity' Value='1' size='2'>"; >>>echo "</td>"; >>>echo "</tr>"; >>>echo "<tr>"; >>>echo "<td width='175'></td>"; >>>echo "<td width='225'><input type='image' border='0' name='submit' >>>src='images/add.gif'></td>"; >>>echo "</tr>"; >>>echo "</table>"; >>>echo "</form>"; >>>} >>> >>>?> >>> >>> >>> > > >

    attached mail follows:


    Actually, there *is* ("mysql_numrows").

    I think you've missed this one. ;)

    http://www.php.net/manual/en/printwn/aliases.php

    - E

    On Saturday, October 05, 2002 11:40 PM Subject: Re: [PHP] Looping? Marek Kilimajer wrote:

    > Just checked the manual and there are no functions named *mysql_numrows* > or *mysql_num_row*, but > only *mysql_num_rows* (notice the S at the end) > > Steve Jackson wrote: > > >Nope doesn't make any difference > >mysql_numrows or mysql_num_row returns the same: > > > >In this case nothing! > > > > > > [/snip]

    attached mail follows:


    Thanks, never been there ;)

    Edwin wrote:

    >Actually, there *is* ("mysql_numrows"). > >I think you've missed this one. ;) > > http://www.php.net/manual/en/printwn/aliases.php > >- E > >On Saturday, October 05, 2002 11:40 PM >Subject: Re: [PHP] Looping? >Marek Kilimajer wrote: > > > >>Just checked the manual and there are no functions named *mysql_numrows* >>or *mysql_num_row*, but >>only *mysql_num_rows* (notice the S at the end) >> >>Steve Jackson wrote: >> >> >> >>>Nope doesn't make any difference >>>mysql_numrows or mysql_num_row returns the same: >>> >>>In this case nothing! >>> >>> >>> >>> >>> >[/snip] > > >

    attached mail follows:


    what about

    if( $res->numRows() { while( $row = $res->fetchRows() ){ ... do what you've got to do } } else { ... no rows }

    Gary wrote:

    > John W. Holmes wrote: > >>> John W. Holmes wrote: >>> >>> >>>>> Can someone tell where I messed up on this code snippit? >>>>> >>>> >>>> Your first mistake is not giving us the full error and the line >>>> number... >>>> >>>> >>>> >>>> >>>>> if ($res->numRows() > 0){ >>>>> list($id, $question, $responce1, >>>>> >>>> >>>> $responce2, >>>> >>>> >>>> >>>>> $responce3) = $res->fetchRows() >>>>> >>>> >>>> and you're missing a ; here... ^^ >>>> >>>> >>>> >>>> >>>>> $id = $row[0]; >>>>> $question = $row[1]; >>>>> $responce1 = $row[2]; >>>>> $responce2 = $row[3]; >>>>> $responce3 = $row[4]; >>>>> } >>>>> >>>> >>>> ---John Holmes... >>>> >>>> >>>> >>> >>> that fixed the unexpected t_variable but now it is Fatal error: Call >>> >> >> to >> >> >>> undefined function: fetchrows() >>> >>> list($id, $question, $responce1, $responce2,$responce3) = $res- >>> >>> >>>> fetchRows() >>>> >>> >> >> That means there is no function fetchrows() associated with whatever >> class $res comes from... >> >> > > I think it is time to call it a day. It is 11pm and I am getting so > punchy from this long day, I forgot to say it is a db call using > pearDB. If I remove the code and replace it with while ($row = > $res->fetchRows()) along the row array it work but then I can't check > for > 0 > > > Sorry > Gary > >> >> >> >> >> > > > >

    attached mail follows:


    Doesn't work, get unexpected { for if( $res->numRows() {. If I remove braces or rearrange them it fall apart piece by piece.

    Thanks for the try Gary

    Marek Kilimajer wrote: > what about > > if( $res->numRows() { > while( $row = $res->fetchRows() ){ > ... do what you've got to do > } > } else { > ... no rows > } > > Gary wrote: > >> John W. Holmes wrote: >> >>>> John W. Holmes wrote: >>>> >>>> >>>>>> Can someone tell where I messed up on this code snippit? >>>>>> >>>>> >>>>> >>>>> Your first mistake is not giving us the full error and the line >>>>> number... >>>>> >>>>> >>>>> >>>>> >>>>>> if ($res->numRows() > 0){ >>>>>> list($id, $question, $responce1, >>>>>> >>>>> >>>>> >>>>> $responce2, >>>>> >>>>> >>>>> >>>>>> $responce3) = $res->fetchRows() >>>>>> >>>>> >>>>> >>>>> and you're missing a ; here... ^^ >>>>> >>>>> >>>>> >>>>> >>>>>> $id = $row[0]; >>>>>> $question = $row[1]; >>>>>> $responce1 = $row[2]; >>>>>> $responce2 = $row[3]; >>>>>> $responce3 = $row[4]; >>>>>> } >>>>>> >>>>> >>>>> >>>>> ---John Holmes... >>>>> >>>>> >>>>> >>>> >>>> >>>> that fixed the unexpected t_variable but now it is Fatal error: Call >>>> >>> >>> >>> to >>> >>> >>>> undefined function: fetchrows() >>>> >>>> list($id, $question, $responce1, $responce2,$responce3) = $res- >>>> >>>> >>>>> fetchRows() >>>>> >>>> >>>> >>> >>> That means there is no function fetchrows() associated with whatever >>> class $res comes from... >>> >>> >> >> I think it is time to call it a day. It is 11pm and I am getting so >> punchy from this long day, I forgot to say it is a db call using >> pearDB. If I remove the code and replace it with while ($row = >> $res->fetchRows()) along the row array it work but then I can't check >> for > 0 >> >> >> Sorry >> Gary >>

    attached mail follows:


    I very much appreciate the suggestions made by the people on this list, although for me, when developing, the less typing I have to do, the less errors I am bound to come across, and therefore the less debugging I must do. (Now, doesn't this seem sensible?)

    Anyway, I have developed a function and incorporated Maxim's code (thankyou) to make importing variables (into global scope) easier (with register_globals turned off).

    I have it sitting in my lib.php which contains all common functions (database functions, etc) that I use with my scripts and is included on every page I write.

    To use my function, simply write:

    importVars($_GET, 'var1,var2,var3'); // this will get var1, var2 and var3 from the querystring importVars($_SESSION); // this will import all session information

    This was tested with error_reporting set to E_ALL. Often in my code I will do something like this.

    if ($flag){ // do certain code relating to $flag }

    If $flag has not been initialized, this check will produce a NOTICE error, which appears if you are using E_ALL. So, my function will take all the variables you pass to it (through the comma-delimited string) and either import the variables (if it exists) or create an empty variable (zero-length string). This way you can do the check. I know some people will say, you could just use if (isset($flag)), but I like take advantage of PHP's automatic type conversion.

    Another feature of my function is if you don't supply a string to vars to import, it will bring in everything from that array. This lets people import all the variables they want, and they don't care about security, or are protecting it through other means (extensive var checks) etc.

    ie. importVars($_GET);

    So I hope this stuff helps some people out there.

    Also, can anyone see any problems with my function? (Performance-wise or security-wise).

    Adam

    /* Credit given to: Maxim Maletsky <subscriptionsphpbeginner.com> Alter variables for the versions prior to 4.1.0 NOTE: $_REQUEST global variable is NOT supported. */ if (strnatcasecmp('4.1.0', PHP_VERSION) >= 0) { foreach(Array( '_GET' => 'HTTP_GET_VARS', '_POST' => 'HTTP_POST_VARS', '_COOKIE' => 'HTTP_COOKIE_VARS', '_SESSION' => 'HTTP_SESSION_VARS', '_SERVER' => 'HTTP_SERVER_VARS', '_ENV' => 'HTTP_ENV_VARS', '_FILES' => 'HTTP_POST_FILES' ) as $transvar['new'] => $transvar['old']) { if (isset($$transvar['old']) and is_array($$transvar['old'])) { $GLOBALS[$transvar['new']] = &$$transvar['old']; } } // Unset transvar, we do not need it anymore. unset($transvar); }

    /* function importVars() Written by: Adam Royle <ifunkmyrealbox.com> Imports vars from $arrVarType into the global scope. Example: importVars($_GET, 'page,ID,num'); Will create the three variables $page, $ID and $num, and will fill them with data from the querystring. If there is no data in the querystring, it will create a zero-length string. */ function importVars(&$arrVarType, $strVarList='') { if (!trim($strVarList)){ // import all variables from $arrVarType foreach($arrVarType as $var => $value){ $GLOBALS[$var] = $value; } } else { // only import variables in $strVarList $arrVarList = explode(',',$strVarList); foreach($arrVarList as $var){ $var = trim($var); if (isset($arrVarType[$var])){ $GLOBALS[$var] = $arrVarType[$var]; } else { $GLOBALS[$var] = ''; } } } }