Hello again.

On Thursday, January 17, 2002, at 01:06  AM, chip wrote:

> On Wednesday 16 January 2002 08:57 pm, Steven Cayford banged out on the 
> keys:
>> On 2002.01.16 19:59:37 -0600 chip wrote:
>>> Let's tackle the first one first -
>> OK.
>>> On Tuesday 15 January 2002 10:20 pm, Steven Cayford banged out on the
>>> keys:
>>>> On 2002.01.15 23:30:25 -0600 chip wrote:
>>>>> won't work)
>>>>> $new_pic=$pic+12;
>>>> Is $pic already set by the HTTP_GET_VARS here?
>>> I don't know. How do I set this? I was reading the online manual about
>>> http_get_vars and it didn't help, and doesn't have any examples.
>> I was assuming that the $pic variable was set by the HTTP get request
>> since your link below is in the form:
>> <a href=\"index.php?pic=$new_pic\">.
>> When the target script starts after being called like that the value 
>> in the
>> global variable $HTTP_GET_VARS['pic'] will hold whatever $new_pic was 
>> set
>> to in the reference. Assuming you have register_globals on,
>
> Yes it is on.
>
>> then the global
>> variable $pic will also be set to the same value.
>
> Makes sense
>
>> Otherwise $pic will be uninitialized and should evaluate to 0.
>
> So, I guess I have to set the variable to 0 first when the first page is
> loaded, then add 24 (or 12 or whatever) to for the link to the next 
> page. So,
> with that in mind I added this
>     $pic=0;
> before
>     $new_pic=$pic+12;
> but that just caused it to reload the same images each time next was 
> pushed.
> So, now that I appear to be a total dummy, and the manual doesn't 
> provide any
> examples, and the two books I have don't seem to be able to help also, 
> would
> you mind helping me a bit more? I'm I going about this next page stuff 
> all
> wrong, is there a better way to do it?
> --
>

Sorry, I think I got you off track. In this case you *do* want to set 
$pic from the GET vars. I guess how I would do this would be something 
like this:

if(! isset($pic)) {
        $pic = 0;
}

This way, if $pic has been set by the GET vars, then the value will be 
retained, otherwise it will be explicitly set to whatever default value 
you want--in this case 0. This is probably anal of me, but I just don't 
like using uninitialized variables. Also keep in mind that $pic can be 
set to any value via the URL. So if someone types into their browser: 
"http://...your_site.../index.php?pic=hello"; then when your script runs 
$pic will hold the string "hello" instead of a number. Then if you stick 
the value straight into your sql statement without verifying it you 
could get all sorts of weird problems. If the site is just for your own 
local use, then don't worry about it, but if its going to be available 
to the wider world at some point then you may want to explicitly force 
$pic to be an integer "$pic = (int) $pic;" or something like that.

In any case, this is all aside from the problem that you were running 
into. I think if you change your sql statement below from "select * from 
ab limit $new_pic,12" to "select * from ab limit $pic,12" you'll find 
you can get the first page of images.

-Steve

> (nothing new below here, just history)
>>>>>     $conn=mysql_connect("localhost", "chip","carvin") or die ("Could
>>>
>>> not
>>>
>>>>> get
>>>>> the databse");
>>>>> mysql_select_db("images", $conn) or die ("Could not select the
>>>>> database");
>>>>> $sql="select * from ab limit $new_pic,12";
>>>>
>>>> Assuming that $pic is 0, then $new_pic is 12, so you're selecting 
>>>> with
>>>> LIMIT 12, 12. You probably want to use $pic here, right?
>>>>
>>>>> $result=mysql_query($sql);
>>>>> while ($row=mysql_fetch_array($result))
>>>>>    {
>>>>>    printf("<td align=\"center\"><a href=\"%s\"><img
>>>>> src=\"../thumbs/%s\"></a></td>\n", $row["name"], $row["name"]);
>>>>>    $i++;
>>>>>    if($i %6==0)
>>>>>            {
>>>>>            echo "</tr>\n";
>>>>>            }
>>>>
>>>> Note that if the select statement gives you other than 6 or 12 images
>>>> (which it probably will on the last page), that </tr> will never get
>>>> echoed.
>>>>
>>>>>    }
>>>>> echo "<tr>\n<td colspan=\"6\" align=\"center\">\n<a
>>>>> href=\"../index.html\">Home</a>&nbsp;\n<a
>>>>> href=\"index.php?pic=$new_pic\">Next</a>\n</td>\n</tr>\n";
>>>>> ?>
>>>>
>>>> To find out if $new_pic pointed to a valid image you would probably
>>>
>>> need
>>>
>>>> to do a "select count(*) from ab" to get the total number of records.
>>>
>>> If
>>>
>>>> $new_pic is less than the count, then show the link.
>>>>
>>>>> --
>>>>> Chip W
>
>
> --
> PHP Database Mailing List (http://www.php.net/)
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> To contact the list administrators, e-mail: [EMAIL PROTECTED]
>


-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to