Jump to content

Post Looping Text And Select Field


tunedin

Recommended Posts

Hello all,

 

I have been trying to figure this out for the past couple days and can't seem to find the correct solution.

I have two fields:

 

1) Text field

2) Select Menu (which is pulling selections from db table categories)

 

categories:

1)category_id

2)category_name

 

What I want to do is display these fields twice (which I have set up), and be able to post this loop into the db table:

videos:

1)video_id

2)link

3)category_id

 

Not every post will have a video link associated with it, but some may have a maximum of 2. Here is the code as is for Post.php

 


 <?php for ($i= 1; $i<= $videofields; $i++) { ?>
 <p>
   <label for="link<?php echo $i; ?>">Video Link<?php echo $i; ?>: </label>
   <input value="<?php if ($_POST && $errors) {
 echo htmlentities($_POST["link{$i}"], ENT_COMPAT, 'UTF-8');
}?>" type="text" name="link<?php echo $i; ?>" id="link<?php echo $i; ?>" />
 </p>
 <p>
   <label for="category_id<?php echo $i; ?>">Select Catgegory<?php echo $i; ?>:</label>
   <select name="category_id<?php echo $i; ?>" id="category_id<?php echo $i; ?>">
  <option value="0">-- Select Category --</option>
  <?php
foreach ($categories as $row) {
 echo "<option value='{$row['category_id']}'";
 if ($errors && $_POST["category_id{$i}"] == $row['category_id']) {
   echo 'selected="selected"';
 }
 echo ">{$row['category_name']}</option>";
}
?>
   </select>
 </p>

 

And here is the definitons.php

 

$data = array('link' => $_POST['link'],
   'category_id' => $_POST['category_id']);
 $dbWrite->insert('videos', $data);

 

Any help would be greatly appreciated!

Link to comment
https://forums.phpfreaks.com/topic/270965-post-looping-text-and-select-field/
Share on other sites

 


<?php for ($i= 1; $i<= $videofields; $i++) { ?>
...
<input value="<?php if ($_POST && $errors) {
echo htmlentities($_POST["link{$i}"], ENT_COMPAT, 'UTF-8');
}?>" type="text" name="link<?php echo $i; ?>" id="link<?php echo $i; ?>" />
...
<select name="category_id<?php echo $i; ?>" id="category_id<?php echo $i; ?>">
...

 

And here is the definitons.php

 

$data = array('link' => $_POST['link'],
 'category_id' => $_POST['category_id']);
$dbWrite->insert('videos', $data);

 

Any help would be greatly appreciated!

 

I've reduced your code above to where you are messing up.

 

If you do a print_r($_POST) at the top of definitions.php script you will see your mistake.

 

- D

Array ( [name] => Testing [description] => Testing

 

[link1] => Test1 [category_id1] => FD [link2] => Test2 [category_id2] => FD [insert] => Insert Video)

 

The name and description fields are two other fields on the page to fill out properlly. But those aren't in a loop.

I get unidentified index for both link and category_id. So how can I go about's fixing this?

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.