TalkPHP
 
 
Account Login
Latest Articles
» The basic usage of PHPTAL, a XML/XHTML template library for PHP
» Vulnerable methods and the areas they are commonly trusted in.
» Simple way to protect a form from bot
» The Basics On: How Session Stealing Works
» How to keep your forms from double posting data
IRC Channel
IRC Speech Bubble Join the friendly bunch on IRC...
(#TalkPHP on Freenode)

...Also available via a web interface.

See this thread for information on the TalkPHP Free Hugs Initiative™. Subject to availability.
Associates
Associates
CSS Tutorials
Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old 11-17-2008, 02:19 AM   #1 (permalink)
The Addict
 
sarmenhb's Avatar
 
Join Date: Jan 2008
Location: los angeles
Posts: 309
Thanks: 44
sarmenhb is on a distinguished road
Default having trouble updating with mysql

my mind wasnt working when i coded the data that gets inserted but this is what the table looks like



btw, that image is two tables joined together.

what my problem is , is that what type of query do i write if i want to change one of the rows because what is happending is when i write something like

Code:
mysql_query("update tbl_userpackage set status = 'completed' where hash = '$hash'");
what that is doing is its updateing all the rows setting the status to be completed instead of just one. makes sense that its a bad query but the data that you see such as status its set in a selection drop menu and the deadline is in a textbox so how do i write the html to target the individual row that i want? the only possible way that i see to target the individual row is to grab the id but where would i set that value of id?

because the html would look something like this

Code:
<select name="package">
<option value="pending">Pending</option>
<option value="completed">Completed</option>
</select>
and for each row that has this data i have this same html repeated so basically it would look something like this

Code:
<select name="package">
<option value="pending">Pending</option>
<option value="completed">Completed</option>
</select>

<select name="package">
<option value="pending">Pending</option>
<option value="completed">Completed</option>
</select>

<select name="package">
<option value="pending">Pending</option>
<option value="completed">Completed</option>
</select>

<select name="package">
<option value="pending">Pending</option>
<option value="completed">Completed</option>
</select>
as you see each selection box name has the same name because i have it being repeated only for the one user who has whatever package for themselves. the value of hash is only a sha1 conversion of the persons username, that is how i am tracking the users information from table to table.

please if u can give me a solution i would greatly appreciate it, no one has been able to help me out. i am loosing it.

thank you soo much.
__________________
no signature set
sarmenhb is offline  
Reply With Quote
Old 11-17-2008, 07:52 AM   #2 (permalink)
The Addict
 
zxt3st's Avatar
 
Join Date: Apr 2008
Posts: 200
Thanks: 18
zxt3st is on a distinguished road
Default

Code:
mysql_query("update tbl_userpackage set status = 'completed' where hash = '$hash'");
change to

Code:
mysql_query("update tbl_userpackage set status = 'completed' where some_id = '$passed_id'");
Im not quite sure about your question, but as far as i understand in your post (sorry im bad in english really) i will try to give comments about some of your code.

well, i think you better use a unique id of each row such as (id) in the where clause rather than using the hash value. Because based on what i noticed, some of the hash are the same and for quite some time it can't be avoided that there will be same hashes in different accounts.

Other way, if your update code is separated in a different page, try to make sure that you have pass the right variable to use in updating the rows. I have tried to make this mistakes before when im making a project and just notice i have pass no-value variable/parameter to the page (or either way check the variables you are passing if ever).

regards,
t3st
zxt3st is offline  
Reply With Quote
Old 11-17-2008, 07:59 AM   #3 (permalink)
The Addict
 
sarmenhb's Avatar
 
Join Date: Jan 2008
Location: los angeles
Posts: 309
Thanks: 44
sarmenhb is on a distinguished road
Default

thanks for your reply, your english was good no need to worry :) btw, is there any way i can contact you? by msn, aim, or email?
i need to show you my code that way you will make better sense of my problem. thanks
__________________
no signature set
sarmenhb is offline  
Reply With Quote
Old 11-17-2008, 08:06 AM   #4 (permalink)
The Addict
 
zxt3st's Avatar
 
Join Date: Apr 2008
Posts: 200
Thanks: 18
zxt3st is on a distinguished road
Default

im afraid i can't be online just this moment, because im still having a class right now.

But if ever i can access a messenger, will you please leave or pm me your contact.

Thnx.
zxt3st is offline  
Reply With Quote
Old 11-17-2008, 09:33 AM   #5 (permalink)
The Addict
 
sarmenhb's Avatar
 
Join Date: Jan 2008
Location: los angeles
Posts: 309
Thanks: 44
sarmenhb is on a distinguished road
Default

Quote:
Originally Posted by t3st View Post
im afraid i can't be online just this moment, because im still having a class right now.

But if ever i can access a messenger, will you please leave or pm me your contact.

Thnx.

sarmenhb@yahoo.com
__________________
no signature set
sarmenhb is offline  
Reply With Quote
Old 11-18-2008, 02:46 AM   #6 (permalink)
The Addict
 
zxt3st's Avatar
 
Join Date: Apr 2008
Posts: 200
Thanks: 18
zxt3st is on a distinguished road
Default

are you still having problems with updating? then i will try to be online on my messenger later.

btw, its 11 am here PHT, i think i will be online on nightime. :)
zxt3st is offline  
Reply With Quote
Old 11-18-2008, 03:49 AM   #7 (permalink)
The Addict
 
sarmenhb's Avatar
 
Join Date: Jan 2008
Location: los angeles
Posts: 309
Thanks: 44
sarmenhb is on a distinguished road
Default

hi, actually thanks i think i figured out the problem.

i did notice one thing though php doesnt like it when you create a variable like this

$item_$value = "something";
or like this
$item_{$value} = "something";

i wonder if it is possible to make variables dynamically. i was doing this like this

Code:
for($i=0;$i<=100;$i++) {

$i = $_POST['something_$i'];

}
__________________
no signature set
sarmenhb is offline  
Reply With Quote
Old 11-18-2008, 07:49 AM   #8 (permalink)
The Addict
 
zxt3st's Avatar
 
Join Date: Apr 2008
Posts: 200
Thanks: 18
zxt3st is on a distinguished road
Default

in your code maybe you can do something like that using the concatenation operator.

Code:
for($i=0;$i<=100;$i++) {

$i = $_POST['something_'.'$i'];

}
i haven't tested it yet, but for sure it goes something like that.

And also in declaring variables, as far as i know, im only using these type of methods.

Code:
$my_variable = 'something';
$_some = 'something';
And just making another variable for other uses.

maybe for some reasons you can declare variable like this.

Code:
$cnt = 'something';
$var1.'$cnt' = 'something';
dunno, not quite sure of it if it really works coz i havn't tested it since i learn php.
Maybe it is possible. :)

All the best,
t3st
zxt3st is offline  
Reply With Quote
Reply



Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


All times are GMT. The time now is 03:37 PM.

 
     

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.1.0
Inactive Reminders By Icora Web Design