|
Posted by Ian Davies on 07/27/06 08:53
Hi
I am trying to amend three fields all one text and two integer
In my original code you will see what I mean
The values for the text field would come from a textarea in one column of
the table and the values for the two integer fields would come from a
dropdown list and a tick box which are in the other columns.
Ian
"PSI_Orion" <orion@psiss.com> wrote in message
news:MQSxg.1434$v4.793@newsfe3-win.ntli.net...
> Yes, that explains it much better. Which field is it you are trying to
> amend? Is it a simple yes/no type field? If so then you need to adjust
> your query accordingly. I don't have time right now to explain fully but
if
> you send me a personal email to orion at psiss dot com I will try and
> explain how I would approach it.
>
> Regards
>
> PSI_Orion
>
> "Ian Davies" <iandan.dav@virgin.net> wrote in message
> news:BwPxg.46899$1g.19898@newsfe1-win.ntli.net...
> > 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]
|