You are here: Re: Using arrays to take records from a html table and update database « PHP SQL « IT news, forums, messages
Re: Using arrays to take records from a html table and update database

Posted by PSI_Orion on 07/27/06 15:06

Take a look at http://www.psiss.com/dummy to see if I'm on the right lines.
Obviously it's not nicely formatted and the "Update" checkboxes would be
hidden and automatically set on an onchange event in the fields. Also, it
doesn't actually do any changes right now as I need to work on that more but
I wanted to make sure I'm on the right lines first. Just tick some update
checkboxes, click submit and see if that's what you are after.

Chris

"Ian Davies" <iandan.dav@virgin.net> wrote in message
news:KL2yg.63521$Z61.2758@newsfe4-win.ntli.net...
> '....and a hidden field to contain...'
> SHOULD READ
> '....and I also have a hidden field that contains...'
>
>
> ian
>
>
> "Ian Davies" <iandan.dav@virgin.net> wrote in message
> news:EJ2yg.63520$Z61.54928@newsfe4-win.ntli.net...
>> Hello
>> That is correct. also comment is a textarea. and a hidden field to
>> contain
>> the index of each row to use to update the correct record in the
> subsequent
>> sql statement.
>>
>> Is your solution somehow based on creating an array from each of the
>> elements.
>> The solution i was trying to do was to get 4 arrays and somehow use them
> in
>> a loop with an sql update. But Im lost as to how to create and use the
>> arrays appropriately
>>
>> Cheers
>> Ian
>> also I greatly appreciate your assistance
>>
>>
>> "PSI_Orion" <orion@psiss.com> wrote in message
>> news:e71yg.46974$1g.21477@newsfe1-win.ntli.net...
>> > I'm presuming comment is the textbox (or do you use textarea), category
> is
>> > the dropdown and share is the checkbox?
>> >
>> > I'm working on a solution now so I'm hoping I have it right.
>> >
>> > PSI_Orion
>> >
>> > "Ian Davies" <iandan.dav@virgin.net> wrote in message
>> > news:Q9%xg.52408$IU2.3744@newsfe2-win.ntli.net...
>> > > 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">&nbsp;</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></di
>> v
>> > >>
>> > >> >> <?
>> > >> >> 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">&nbsp;</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">&nbsp;</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]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация