|
Posted by Ian Davies on 07/26/06 19:38
Thanks for the reply
The problem Im having isnt creating a table with the records in it. That
works fine. Im trying to find a way where the users can modify the records
in a table and they are all updated in one go. I thought using arrays would
be the answer, but Im not that familiar with them. At the moment the users
click a button at the begining of a row and that record is displated on a
new page where it can be updated. But this requires the user to click and
update one record at a time. Whereas I wish them to make all the changes to
all the records they want in the table and then on clicking a button some
script would take each row in turn and update that row in te database, it
would then loop through all the rows in the table and update each
accordingly
Hope this explains it better
Ian
"PSI_Orion" <orion@psiss.com> wrote in message
news:uFIxg.62841$sz1.6724@newsfe6-gui.ntli.net...
> If I understand you correctly, the way I would do it is the same way I
have
> my DVD database. This is rather than have the name of the elements as
> "commindex[]" etc, actually place the table creation inside your while
loop
> and increment the naming field using the i variable you use, ie:
> "commindex[<?=$i?>]".
>
> As an example of what I mean, here is an excerpt of my DVD database code
> which you can view at "http:// mydvds . psiss . com"
>
> ------------------------------------------------------
> if($allRecords > 0)
> {
> $recordCount = 0;
> while($recordCount < $allRecords)
> {
> if(($recordCount / 2) % 2 == 1)
> {
> ?>
> <tr align="center" class="tr_even">
> <?
> }
> else
> {
> ?>
> <tr align="center" class="tr_odd">
> <?
> }
> for($colCount = 0; $colCount < 2 && $recordCount < $allRecords;
> $colCount++)
> {
> $dataArray = mysql_fetch_array($result);
> $dataArray['starring'] =
str_replace("\r","<BR>",$dataArray['starring']);
> $dataArray['synopsis'] =
str_replace("\r","<BR>",$dataArray['synopsis']);
> $dataArray['duration'] = date('H:i',strtotime($dataArray['duration']));
> ?>
> <td background="images/barSilver.jpg" width="30"><?=($recordCount +
> 1)?></td>
> <td width="4"> </td>
> <td>
> <div class="div_info" style="position: absolute; width: 400px;
> z-index: 1; visibility: hidden;" id="infoLayer_<?=$recordCount?>"
>
align="left"><b><u><?=$dataArray['title']?></u></b><p><u>Starring:</u><br><i
><?=$dataArray['starring']?></i></p><p><?=$dataArray['synopsis']?></p></div>
> <?
> if($dataArray['dvd_image'] == "None")
> {
> ?>
> <img id="img_<?=$recordCount?>" width="50" height="70"
> src="images/dvds/none_small.jpg"
>
onmouseover="popShow(this,img_<?=$recordCount?>,'infoLayer_<?=$recordCount?>
',img_<?=$recordCount?>.width
> + 5,5)" onmouseout="popHide('infoLayer_<?=$recordCount?>')">
> <?
> }
> else
> {
> ?>
> <img id="img_<?=$recordCount?>" width="50" height="70"
> src="images/dvds/<?=$dataArray['dvd_image']?>"
>
onmouseover="popShow(this,img_<?=$recordCount?>,'infoLayer_<?=$recordCount?>
',img_<?=$recordCount?>.width
> + 5,5)" onmouseout="popHide('infoLayer_<?=$recordCount?>')">
> <?
> }
> echo " <img
>
src='images/certs/".$certImage[$dataArray['certificate']].".gif'><BR>".$data
Array['title'];
> ?>
> </td>
> <td width="4"> </td>
> <td><b>Released</b><br><?=$dataArray['year']?><br>
> <b>Duration</b><br><?=$dataArray['duration']?><br>
> <b>Rating</b><br><img alt="Rating: <?=$dataArray['rating']/2?>"
> align="absmiddle"
> src="images/ratings/pips<?=$dataArray['rating']?>.gif"></td>
> <td width="4"> </td>
> <?
> $recordCount++;
> }
> ?>
> </tr>
> <?
> }
> }
> ----------------------------------
>
>
> "Ian Davies" <iandan.dav@virgin.net> wrote in message
> news:j3wxg.1067$u4.703@newsfe3-win.ntli.net...
> > Hello
> > Needing help with a suitable solution.
> > I have extracted records into a table under three columns 'category',
> > 'comment' and share (the category column also holds the index no of the
> > record in a hidden field)
> > I wish the user to be able to edit the data in the table, so I have
> > extracted the records into hiddenfield, textareas, dropdown list and
> > checkbox so that they can make changes.
> > I named these elements as arrays and wish to run an sql to take each row
> > in
> > turn (and any changes made) and update the mysql table. I did something
> > similar with just one record but am stuck as to how I use the arrays of
a
> > number of form elements together
> >
> > My code for the table is below but I dont know how the script should go
> > when
> > the form is submitted to add each row in turn
> > Help greatly appreciated
> > Ian
> > **********************************************************************
> > <form action="commentselect.php" method="post"
> > enctype="multipart/form-data"
> > name="UpdateComments">
> > <table width="100%" border="0" cellpadding="0" cellspacing="2"
> > bgcolor="#FFFFFF">
> > <tr align="center" class="ListHeading">
> > <td width="20%" height="31">Category</td>
> > <td width="60%" height="31">Comment</td>
> > <td width="10%" height="31">Share</td>
> > </tr>
> > <tr class="BodyText">
> > <?php
> > while($row =& mysql_fetch_array($commentresults)) {
> > extract($row);
> >
> > if ($i%2) {
> > $class = 'row1';
> > echo "<TR bgcolor=\"#CCCCCC\">\n";
> >
> > } else {
> > $class = 'row2';
> > echo "<TR bgcolor=\"white\">\n";
> > }
> > $i += 1;
> > ?>
> > <td width="20%" align="left" class="bodytext"><select
> > name="category[]" style="WIDTH: 90%">
> > <option value="<?php echo $row['TypeID']; ?>"><?php echo
$row['typedesc'];
> > ?></option>
> > <?php
> > $commenttype = mysql_query("SELECT * FROM commenttype WHERE username =
> > '$username'");
> > if (!$commenttype) {
> > exit('<p>Error performing query: ' . mysql_error() . '</p>');
> > }
> > while($row1 =& mysql_fetch_array($commenttype)) {
> > extract($row1);
> > ?>
> > <option value="<?php echo $row1['TypeID']; ?>"><?php echo
> > $row1['typedesc']; ?><br>
> > </option>
> > <?php
> > }
> > ?>
> > </select>
> > <input name="commindex[]" type="hidden" value="<?php echo
$commindex;
> > ?>"></td>
> > <td width="60%" align="left" class="bodytext"> <textarea
> > name="comm[]" rows="2" style="WIDTH: 99%"><?php echo $comment;
> > ?></textarea></td>
> > <td width="10%" align="center" class="bodytext"><input
> > type="checkbox"
> > name="avail[]" value="checkbox" <?php share($available); ?>> </td>
> > </tr>
> > <?php
> > }
> > ?>
> > </table>
> > </form>
> >
> > ************************************************************
> >
> >
>
>
Navigation:
[Reply to this message]
|