Solved

How do I export to XML from a user selected set of checkboxes

Posted on 2008-06-19
2
292 Views
Last Modified: 2013-12-12
Hi
I have dishes stored in a database, and I have them called to index.php and i have added checkboxes to allow the user to add the selected dish to the XML output.

But the XML is creating a full list of database items in the XML I am using DW CS3 and Dreamweaver Development Toolbox with the Export to XML behavior

I want the user to be able to select the dishes he wants and then click a button to export to a XML file, is there any other way to do this?

Using PHP/MySQL

<?php require_once('Connections/db.php'); ?>

<?php

// Load the XML classes

//require_once('includes/XMLExport/XMLExport.php');
 

if (!function_exists("GetSQLValueString")) {

function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 

{

  $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
 

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
 

  switch ($theType) {

    case "text":

      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";

      break;    

    case "long":

    case "int":

      $theValue = ($theValue != "") ? intval($theValue) : "NULL";

      break;

    case "double":

      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";

      break;

    case "date":

      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";

      break;

    case "defined":

      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;

      break;

  }

  return $theValue;

}

}
 

mysql_select_db($database_db, $db);

$query_Recordset1 = "SELECT * FROM menu";

$Recordset1 = mysql_query($query_Recordset1, $db) or die(mysql_error());

$row_Recordset1 = mysql_fetch_assoc($Recordset1);

$totalRows_Recordset1 = mysql_num_rows($Recordset1);
 

// Begin XMLExport Recordset1

//$xmlExportObj = new XMLExport();

//$xmlExportObj->setRecordset($Recordset1);

//$xmlExportObj->addColumn("Dish_group", "Dish_group");

//$xmlExportObj->addColumn("Dish_name", "Dish_name");

//$xmlExportObj->addColumn("Dish_description", "Dish_description");

//$xmlExportObj->setMaxRecords("ALL");

//$xmlExportObj->setDBEncoding("UTF-8");

//$xmlExportObj->setXMLEncoding("UTF-8");

//$xmlExportObj->setXMLFormat("NODES");

//$xmlExportObj->setRootNode("menu");

//$xmlExportObj->setRowNode("dish");

//$xmlExportObj->Execute();

// End XMLExport Recordset1

?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Untitled Document</title>

<style type="text/css">

<!--

.style1 {

	font-family: Arial, Helvetica, sans-serif;

	font-weight: bold;

}

.style2 {

	font-family: Arial, Helvetica, sans-serif;

	font-size: 10px;

	font-style: italic;

}

-->

</style>

</head>
 

<body>

<table border="0" cellspacing="0" cellpadding="0">

  <tr>

    <td><?php echo $row_Recordset1['Dish_group']; ?></td>

  </tr>

</table>

<?php do { ?>

  <form id="form1" name="form1" method="post" action="">

    <table border="0" cellspacing="0" cellpadding="0">

      <tr>

        <td>&nbsp;</td>

        <td>&nbsp;</td>

        <td>&nbsp;</td>

        <td>&nbsp;</td>

      </tr>

      <tr>

        <td><span class="style1"><?php echo $row_Recordset1['Dish_name']; ?></span></td>

        <td>&nbsp;</td>

        <td>&nbsp;</td>

        <td><input name="checkbox" type="checkbox" id="checkbox" value="yes" /></td>

      </tr>

      <tr>

        <td><span class="style2"><?php echo $row_Recordset1['Dish_description']; ?></span></td>

        <td>&nbsp;</td>

        <td>&nbsp;</td>

        <td>&nbsp;</td>

      </tr>

    </table>

  </form>

  <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>

  <form id="form2" name="form2" method="post" action="">

    <input type="submit" name="Submit" id="button" value="Submit" />

</form>

  <a href="export.php">Export

  </a>

</body>

</html>

<?php

mysql_free_result($Recordset1);

?>

Open in new window

0
Comment
Question by:cataleptic_state
2 Comments
 
LVL 49

Accepted Solution

by:
Roonaan earned 250 total points
ID: 21823198
Hi,

Idealy you would have a single form, instead of dozens to achieve this.

<form>
  .. start of loop ..
  <checkbox ..
  .. end of loop
</form>

Then all checkboxes should all have a "value" attribute which is not just 'yes' but holds a reference to a specific recipy (possibly a primairy key, or another unique field?)

Like <input name="selectedRecipies[]" type="checkbox" id="checkbox" value="<?php echo $row_Recordset1['Recipy_Id']; ?>" />

When the form is submitted you could use the $_POST['selectedRecipies'] to see which recipies have been selected.
0

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction In my previous article (http://www.experts-exchange.com/Microsoft/Development/MS-SQL-Server/SSIS/A_9150-Loading-XML-Using-SSIS.html) I showed you how the XML Source component can be used to load XML files into a SQL Server database, us…
Build an array called $myWeek which will hold the array elements Today, Yesterday and then builds up the rest of the week by the name of the day going back 1 week.   (CODE) (CODE) Then you just need to pass your date to the function. If i…
The viewer will learn how to dynamically set the form action using jQuery.
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.

911 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

23 Experts available now in Live!

Get 1:1 Help Now