Try putting the hidden element statement down inside the while loop in he 
second page, but change it to "<INPUT TYPE=\"hidden\" NAME=\"id[]\" 
VALUE=\"$id\">" and add 

$id=$row['id']; 

before it.

I will show below where it should go. 

HTH

MB

jas <[EMAIL PROTECTED]> said:

> I have made the changes you suggested which if you ask me have been the most
> informative answers I have recieved thus far.  I did run into a slight snag
> on line 21 which is this on my confirmation page "<INPUT TYPE=\"hidden\"
> NAME=\"id[]\" VALUE=\"$id[]\">" and the parse error is as follows...
> Parse error: parse error, expecting `STRING' or `NUM_STRING' or `'$'' in
> /php/rem_conf_t.php3 on line 21
> Wouldn't I need to adjust the value=\"$id[]\" to something like
> value=\".$id[].\" because we passed an array not a string?  Not sure. Thanks
> again.  You are sincerely helping me understand this whole php bit. =)
> Jas
> <[EMAIL PROTECTED]> wrote in message
> [EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
> > Ok, you have almost got it.  I have made little remarks further down in
> your
> > code which should just about do it for you.
> >
> >
> > jas <[EMAIL PROTECTED]> said:
> >
> > > I don't know what it is but I am having a hell of a time trying to get
> some
> > > results of a query setup into an array or variable (too much of a newbie
> to
> > > know which) that can be passed to a confirmation page before deleting
> the
> > > record from a table.  I have given up working on this but for those of
> you
> > > that want to finish it here is the code and the table structure...
> > >
> > > [Table Structure]
> > > id int(30) DEFAULT '0' NOT NULL auto_increment,
> > >    car_type varchar(30),
> > >    car_model varchar(30),
> > >    car_year varchar(15),
> > >    car_price varchar(15),
> > >    car_vin varchar(25),
> > >    dlr_num varchar(25),
> > >    PRIMARY KEY (id)
> > >
> > > [Page 1 - Queries DB table for records]
> > > <?php
> > > require '../path/to/db.php';
> > > $result = @mysql_query("SELECT * FROM cur_inv",$dbh) or die("Could not
> > > execute query, please try again later");
> > > echo "<table border=\"0\" class=\"table-body\" width=\"100%\"><form
> > > name=\"rem_inv\" method=\"post\" action=\"rem_conf.php3\">
> > > <tr><td align=\"center\" colspan=\"3\"><font size=\"4\"><B>Current
> > > Inventory</B></font><hr color=\"333333\"></td></tr>";
> > > $count = -1;
> >
> > $count should start at 0 and then increment at the bottom of the while
> loop
> >
> > > while ($myrow = mysql_fetch_array($result)) {
> > >  $id = $row["id"];
> >
> > $row should be $myrow since that is what it is called above (or change
> $myrow
> > above to $row)
> >
> >
> > >  $car_type = $row["car_type"];
> > >  $car_model = $row["car_model"];
> > >  $car_year = $row["car_year"];
> > >  $car_price = $row["car_price"];
> > >  $car_vin = $row["car_vin"];
> > >  $count ++;
> >
> > $count ++; should be moved to the bottom of the loop just before it is
> closed
> >
> > > echo "<tr><td width=\"30%\"><B>Type Of Car: </B></td><td>";
> > > printf(mysql_result($result,$count,"car_type"));
> >
> > mysql_result is not needed here, you have defined the variable $car_type
> to
> > be this here as well as the rows below, so replace mysql_result($result,
> > $count, "car_type") with just $car_type
> >
> > > echo "</td><td><input type=\"checkbox\" name=\"id[]\"
> > > value=\"".$myrow[id]."\">remove</td></tr>\n";
> >
> > replace $myrow[id] with $id since it is already defined above
> > when id[] is passed to page 2, it will contain an array of the id numbers
> > that got checked
> >
> >
> > > echo "<tr><td width=\"30%\"><B>Model Of Car: </B></td><td>";
> > > printf(mysql_result($result,$count,"car_model"));
> >
> > same as above, replace mysql_result($result,$count,"car_model") with
> > $car_model
> >
> > > echo "</td></tr>\n";
> > > echo "<tr><td width=\"30%\"><B>Year Of Car: </B></td><td>";
> > > printf(mysql_result($result,$count,"car_year"));
> >
> > same as above replace with $car_year
> >
> > > echo "</td></tr>\n";
> > > echo "<tr><td width=\"30%\"><B>Price Of Car: </B></td><td>$";
> > > printf(mysql_result($result,$count,"car_price"));
> >
> > same as above replace with $care_price
> >
> > > echo "</td></tr>\n";
> > > echo "<tr><td width=\"30%\"><B>VIN Of Car: </B></td><td>";
> > > printf(mysql_result($result,$count,"car_vin"));
> >
> > same as above replace with $car_vin
> >
> > > echo "</td></tr><tr><td colspan=\"3\"><hr
> color=\"333333\"></td></tr>\n";
> >
> > $count ++; should go here
> >
> > > }
> > > echo "<tr><td><input type=\"submit\" name=\"delete\"
> > > value=\"delete\"></td></tr></form></table>";
> > > ?>
> > >
> > > [Page 2 - Takes records and confirms which ones to be deleted]
> > > <?php
> > > print("
> > > <table border=\"0\" class=\"table-body\" width=\"100%\">
> > > <form name=\"rem_inv\" method=\"post\" action=\"done2.php3\">
> >
> > send id[] array passed from previous page to the next page:
> > <INPUT TYPE=\"hidden\" NAME=\"id[]\" VALUE=\"$id[]\">
> >
> > If you are planning on deleting multiple items at a time, you won't need
> the
> > following hidden elements at all, just make a database call at this point
> > using the id[] array passed to this page from the first page.  The only
> value
> > it needs for the 3rd page is the id value since that is what it uses to
> > determine what to delete.
> >
> > Here is an example of the database call to make:
> >
> > $i=0;
> > while ($id[$i]) {
> > $result = @mysql_query("SELECT * FROM cur_inv where id=$id[$i]",$dbh) or
> die
> > ("Could not execute query, please try again later");
> > $row=mysql_fetch_array($result);


Add here:
    $id=$row['id'];


> > $car_type=$row['car_type'];
> > $car_model=$row['car_model'];
> > $car_year=$row['car_year'];
> > $car_price=$row['car_price'];
> > $car_vin=$row['car_vin'];
> >


Then here (0r anywhere before loop ends)
echo "<input type=\"hidden\" name=\"id[]\" value=\"$id\">";

One note, I prefer to use single quotes inside the echo statements rather 
than the escaped (backslashed) double quotes to avoid confusion, just my 
personal opinion.


> >
> > > <INPUT TYPE=\"hidden\" NAME=\"id\" VALUE=\"$id\">
> > > <INPUT TYPE=\"hidden\" NAME=\"car_type\" VALUE=\"$car_type\">
> > > <INPUT TYPE=\"hidden\" NAME=\"car_model\" VALUE=\"$car_model\">
> > > <INPUT TYPE=\"hidden\" NAME=\"car_year\" VALUE=\"$car_year\">
> > > <INPUT TYPE=\"hidden\" NAME=\"car_price\" VALUE=\"$car_price\">
> > > <INPUT TYPE=\"hidden\" NAME=\"car_vin\" VALUE=\"$car_vin\">
> > >   <tr>
> > >     <td align=\"center\" colspan=\"3\"><font size=\"4\"><B>Confirm
> Record
> > > Deletion</B></font><hr color=\"333333\"></td>
> > >   </tr>
> > >   <tr>
> > >     <td width=\"30%\"><B>Type Of Car: </B></td>
> > >  <td>$car_type</td>
> > >   </tr>
> > >   <tr>
> > >     <td width=\"30%\"><B>Model Of Car: </B></td>
> > >  <td>$car_model</td>
> > >   </tr>
> > >   <tr>
> > >     <td width=\"30%\"><B>Year Of Car: </B></td>
> > >  <td>$car_year</td>
> > >   </tr>
> > >   <tr>
> > >     <td width=\"30%\"><B>Price Of Car: </B></td>
> > >  <td>$car_price</td>
> > >   </tr>
> > >   <tr>
> > >     <td width=\"30%\"><B>VIN Of Car: </B></td>
> > >  <td>$car_vin</td>
> > >   </tr>
> >
> >
> > $i++;
> >
> > end loop here or after hr (wherever you prefer if you want hr between each
> > item end after hr)
> >
> > <?}?>
> >
> >
> > >   <tr>
> > >     <td colspan=\"3\"><hr color=\"333333\"></td>
> > >   </tr>
> > >   <tr>
> > >     <td><input type=\"submit\" name=\"delete\" value=\"delete\"></td>
> > >   </tr>
> > > </form>
> > > </table>");
> > > ?>
> > >
> > > [Page 3 - Connects to DB and deletes selected records]
> > > <?php
> > > require '../path/to/db.php';
> > > $table_name = "cur_inv";
> >
> > need another loop here to go through id's passed through array
> >
> > $i=0;
> > while ($id[$i]) {
> >
> > > $sql = "DELETE FROM $table_name WHERE id = '$id'";
> >
> > this should be
> > $sql="DELETE FROM $table_name WHERE id = $id[$i]";
> >
> > Remove '' around $id and add [], it is an integer, so it does not want
> quotes
> > around it
> > only quote string datatypes
> >
> > > echo($sql);
> > > $result = mysql_query($sql,$dbh) or die(mysql_error());
> >
> > increment array and then close loop
> >
> > $i++;
> > }
> >
> >
> > > print("<body bgcolor=\"ff9900\"><p class=\"done\">You have successfully
> > > removed your items from the database.");
> > > ?>
> > >
> > > If anyone has the time to finish it or give me some pointers on what the
> > > hell I am doing wrong please let me know, I would be very glad to hear
> your
> > > opinion and the correct way to accomplish this.  (And, yes I went
> through
> > > just about every tutorial I could find on how to delete records, which
> by
> > > the way did nothing for putting the results of a select statement into
> an
> > > array or variable for futher processing.) Have a good weekend
> everyone!!!
> > > Pissed and frustrated...
> > > Jas
> > >
> > >
> > >
> > > --
> > > PHP Database Mailing List (http://www.php.net/)
> > > To unsubscribe, visit: http://www.php.net/unsub.php
> > >
> >
> >
> > This probably has some holes in it and I am sure someone will not hesitate
> to
> > point them out, in fact, please do, feel free.  But that should get you
> most
> > of the way
> > to what I believe you are looking for.
> >
> > HTH
> >
> > MB
> >
> > --
> >
> >
> >
> >
> >
> 
> 
> 
> -- 
> PHP Database Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
> 



-- 




-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to