Hey guys,

I need a bit of help...
I have the following....

<input name="title[1]" type="text" id="title[1]" size="30">
<textarea name="desc[1]" id="desc[1]" cols="50" rows="5"></textarea>
<textarea name="keywords[1]" id="keywords[1]" cols="50" rows="5"></textarea>
<hr>
<input name="title[2]" type="text" id="title[2]" size="30">
<textarea name="desc[2]" id="desc[2]" cols="50" rows="5"></textarea>
<textarea name="keywords[2]" id="keywords[2]" cols="50" rows="5"></textarea>
<hr>

Thing I want to happen is it to loop through and update each item in a table row where the id = array key...

but im not sure how I would do it using 1 query as id have you use a foreach... can someone with a better brain then me explain how they would go about it please?

Dan

Recommended Answers

All 3 Replies

So you have an array with your data? And you just want to create something like the above out of that array - try this:

$data[] = array('title' => 'Apple', 'desc' => 'green', 'keyword' => 'round, green');
$data[] = array('title' => 'Banana', 'desc' => 'yellow', 'keyword' => 'long, yellow');
$data[] = array('title' => 'Orange', 'desc' => 'Orange', 'keyword' => 'round, Orange');

$item_number = 1;

foreach($data as $current_data){

$current_item_number = $item_number++;

echo '<input name="title['.$current_item_number.']" type="text" id="title['.$current_item_number.']" size="30" value="'.$current_data['title'].'">
<textarea name="desc['.$current_item_number.']" id="desc['.$current_item_number.']" cols="50" rows="5">'.$current_data['desc'].'</textarea>
<textarea name="keywords['.$current_item_number.']" id="keywords['.$current_item_number.']" cols="50" rows="5">'.$current_data['keyword'].'</textarea>
<hr>';

}

Thanks for your comment back... not quite...

When the form is submitted I will have 3 arrays... like...

$title = array('1' => 'Home', '2' => 'About us');
$desc = array('1' => 'Homepage', '2' => 'About us page');
$keywords = array('1' => 'home, name, bla', '2' => 'about us, company info, bla, bla');

Then I need to loop through each and get something like this...

UPDATE table SET `title` = '$title',`desc` = '$desc',`keywords` = '$keywords' WHERE id = 'ARRAY_KEY'...

I hope you understand now.

Dan

Yeah the way you're storing in the array is much more complicated to get the data back out of. If you have one array called $dataset (for example) and you store each of the keys in that. You will still be allocated an array key.

If you do:

$data[] = array('title' => 'Apple', 'desc' => 'green', 'keyword' => 'round, green');
$data[] = array('title' => 'Banana', 'desc' => 'yellow', 'keyword' => 'long, yellow');
$data[] = array('title' => 'Orange', 'desc' => 'Orange', 'keyword' => 'round, Orange');

echo '<pre>';
       print_r($data);
echo '</pre>';

You will see each dataset combined by key.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.