TalkPHP

TalkPHP (http://www.talkphp.com/forums.php)
-   Absolute Beginners (http://www.talkphp.com/absolute-beginners/)
-   -   having trouble updating with mysql (http://www.talkphp.com/absolute-beginners/3619-having-trouble-updating-mysql.html)

sarmenhb 11-17-2008 02:19 AM

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.

zxt3st 11-17-2008 07:52 AM

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

sarmenhb 11-17-2008 07:59 AM

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

zxt3st 11-17-2008 08:06 AM

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 11-17-2008 09:33 AM

Quote:

Originally Posted by t3st (Post 19676)
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

zxt3st 11-18-2008 02:46 AM

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. :)

sarmenhb 11-18-2008 03:49 AM

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'];

}


zxt3st 11-18-2008 07:49 AM

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


All times are GMT. The time now is 09:22 AM.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.1.0