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/26/06 23:24

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></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">&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

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