We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 20993
    • 37 Posts
    Thanks for tutorial dospuntocero, it helped.

    I know they talked about his before, but I have little to know experience working with PHP/MySQl, so I was hoping someone could explain in more detail how to return the results of the database table so they can be displayed on an actual page of the website. Thanks.
      • 12328
      • 9 Posts
      Ok, hoefully someone here can help me. I have been trying to get this to work for the past few days to no avail. What am I doing wrong? I know it’s probably something small and stupid but I can’t get this to work for the life of me and it’s driving me crazy. >:(

      The snippet call I am using:
      [!sponsorRequest!]
      [!eForm? &noemail=`true` &formid=`SponsorRequestForm` &eFormOnBeforeMailSent=`sponsorInfo` &tpl=`sponsorApp`!] 
      


      The chunk I am using:
      [+validationmessage+]
      <form method="post" action="[~[*id*]~]" id="SponsorRequest" name="SponsorRequest">
      	<input type="hidden" name="formid" value="SponsorRequestForm" />
      	<table id="sponsor-request" cellpadding="0" cellspacing="0" border="0">
      		<tr>
      			<th>Rider</th>
      			<th> </th>
      		</tr>
      		<tr>
      			<td style="text-align:right"><label for="sfName">First Name:</label></td>
      			<td><input name="firstname" id="sfName" class="text" type="text" eform="First Name::1:"/> *</td>
      		</tr>
      		<tr>
      			<td style="text-align:right"><label for="slName">Last Name:</label></td>
      			<td><input name="lastname" id="slName" class="text" type="text" eform="Last Name::1:"/> *</td>
      		</tr>
      		<tr>
      			<td style="text-align:right"><label for="sAge">Age:</label></td>
      			<td>
      			  <select name="age" id="sAge" eform="Age::1:">
      				  <option value="0" selected="selected"></option>
      				  <option value="5">5</option>
      				  <option value="6">6</option>
      				  <option value="7">7</option>
      				  <option value="8">8</option>
      				  <option value="9">9</option>
      				  <option value="10">10</option>
      				  <option value="11">11</option>
      				  <option value="12">12</option>
      				  <option value="13">13</option>
      				  <option value="14">14</option>
      				  <option value="15">15</option>
      				  <option value="16">16</option>
      				  <option value="17">17</option>
      				  <option value="18">18</option>
      				  <option value="19">19</option>
      				  <option value="20">20</option>
      				  <option value="21">21</option>
      				  <option value="22">22</option>
      				  <option value="23">23</option>
      				  <option value="24">24</option>
      				  <option value="25">25</option>
      				  <option value="26">26</option>
      				  <option value="27">27</option>
      				  <option value="28">28</option>
      				  <option value="29">29</option>
      				  <option value="30">30</option>
      				  <option value="31">31</option>
      				  <option value="32">32</option>
      				  <option value="33">33</option>
      				  <option value="34">34</option>
      				  <option value="35">35</option>
      				  <option value="36">36</option>
      				  <option value="37">37</option>
      				  <option value="38">38</option>
      				  <option value="39">39</option>
      				  <option value="40">40</option>
      				  <option value="41">41</option>
      				  <option value="42">42</option>
      				  <option value="43">43</option>
      				  <option value="44">44</option>
      				  <option value="45">45</option>
      				  <option value="46">46</option>
      				  <option value="47">47</option>
      				  <option value="48">48</option>
      				  <option value="49">49</option>
      				  <option value="50">50</option>
      				  <option value="51">51</option>
      				  <option value="52">52</option>
      				  <option value="53">53</option>
      				  <option value="54">54</option>
      				  <option value="55">55</option>
      				  <option value="56">56</option>
      				  <option value="57">57</option>
      				  <option value="58">58</option>
      				  <option value="59">59</option>
      				  <option value="60">60</option>
      				  <option value="61">61</option>
      				  <option value="62">62</option>
      				  <option value="63">63</option>
      				  <option value="64">64</option>
      				  <option value="65">65</option>
      				  <option value="66">66</option>
      				  <option value="67">67</option>
      				  <option value="68">68</option>
      				  <option value="69">69</option>
      				  <option value="70">70</option>
      				  <option value="71">71</option>
      				  <option value="72">72</option>
      				  <option value="73">73</option>
      				  <option value="74">74</option>
      				  <option value="75">75</option>
      				  <option value="76">76</option>
      				  <option value="77">77</option>
      				  <option value="78">78</option>
      				  <option value="79">79</option>
      				  <option value="80">80</option>
      				  <option value="81">81</option>
      				  <option value="82">82</option>
      				  <option value="83">83</option>
      				  <option value="84">84</option>
      				  <option value="85">85</option>
      				  <option value="86">86</option>
      				  <option value="87">87</option>
      				  <option value="88">88</option>
      				  <option value="89">89</option>
      				  <option value="90">90</option>
      				  <option value="91">91</option>
      				  <option value="92">92</option>
      				  <option value="93">93</option>
      				  <option value="94">94</option>
      				  <option value="95">95</option>
      				  <option value="96">96</option>
      				  <option value="97">97</option>
      				  <option value="98">98</option>
      				  <option value="99">99</option>
      				  <option value="100">100</option>
      			  </select> *			
      			</td>
      		</tr>
      		<tr>
      			<td style="text-align:right"><label for="shPhone">Home Phone:</label></td>
      			<td><input style="width:150px;" name="homephone" id="sEmail" class="text" type="text" eform="Home Phone::1:"/> *</td>
      		</tr>
      		<tr>
      			<td style="text-align:right"><label for="sdPhone">Daytime Phone:</label></td>
      			<td><input style="width:150px;" name="dayphone" id="sEmail" class="text" type="text"/></td>
      		</tr>
      		<tr>
      			<td style="text-align:right"><label for="sEmail">Email:</label></td>
      			<td><input name="email" id="sEmail" class="text" type="text" eform="Email:email:1:"/> *</td>
      		</tr>
      		<tr>
      			<td style="text-align:right"><label for="sAddress1">Address:</label></td>
      			<td><input name="address1" id="sAddress1" class="text" type="text" eform="Address::1:"/> *</td>
      		</tr>
      		<tr>
      			<td style="text-align:right"> </td>
      			<td><input name="address2" id="sAddress2" class="text" type="text"/></td>
      		</tr>
      		<tr>
      			<td style="text-align:right"><label for="sCity">City:</label></td>
      			<td><input name="city" id="sCity" class="text" type="text" eform="City::1:"/> *</td>
      		</tr>
      		<tr>
      			<td style="text-align:right"><label for="sState">State:</label></td>
      			<td>
      				<select name="state" id="sState" eform="State::1:">
      					<option value="" selected="selected">Select State</option>
      					<option value="AK">Alaska</option>
      					<option value="AL">Alabama</option>
      					<option value="AR">Arkansas</option>
      					<option value="AZ">Arizona</option>
      					<option value="CA">California</option>
      					<option value="CO">Colorado</option>
      					<option value="CT">Connecticut</option>
      					<option value="DE">Delaware</option>
      					<option value="DC">District of Columbia</option>
      					<option value="FL">Florida</option>
      					<option value="GA">Georgia</option>
      					<option value="HI">Hawaii</option>
      					<option value="IA">Iowa</option>
      					<option value="ID">Idaho</option>
      					<option value="IL">Illinois</option>
      					<option value="IN">Indiana</option>
      					<option value="KS">Kansas</option>
      					<option value="KY">Kentucky</option>
      					<option value="LA">Louisiana</option>
      					<option value="MA">Massachusetts</option>
      					<option value="MD">Maryland</option>
      					<option value="ME">Maine</option>
      					<option value="MI">Michigan</option>
      					<option value="MN">Minnesota</option>
      					<option value="MO">Missouri</option>
      					<option value="MS">Mississippi</option>
      					<option value="MT">Montana</option>
      					<option value="NE">Nebraska</option>
      					<option value="NH">New Hampshire</option>
      					<option value="NJ">New Jersey</option>
      					<option value="NM">New Mexico</option>
      					<option value="NV">Nevada</option>
      					<option value="NC">North Carolina</option>
      					<option value="ND">North Dakota</option>
      					<option value="NY">New York</option>
      					<option value="OH">Ohio</option>
      					<option value="OK">Oklahoma</option>
      					<option value="OR">Oregon</option>
      					<option value="PA">Pennsylvania</option>
      					<option value="PR">Puerto Rico</option>
      					<option value="RI">Rhode Island</option>
      					<option value="SC">South Carolina</option>
      					<option value="SD">South Dakota</option>
      					<option value="TN">Tennessee</option>
      					<option value="TX">Texas</option>
      					<option value="UT">Utah</option>
      					<option value="VT">Vermont</option>
      					<option value="VA">Virginia</option>
      					<option value="WA">Washington</option>
      					<option value="WI">Wisconsin</option>
      					<option value="WV">West Virginia</option>
      					<option value="WY">Wyoming</option>
      				</select> *
      			</td>
      		</tr>
      		<tr>
      			<td style="text-align:right"><label for="sZIP">ZIP/Postal Code:</label></td>
      			<td><input style="width:100px;" name="zip" id="sZIP" class="text" type="text" eform="ZIP/Postal Code:integer:1:"/> *</td>
      		</tr>
      		<tr>
      			<th>Bike</th>
      			<th> </th>
      		</tr>
      		<tr>
      			<td style="text-align:right"><label for="sBike">Year/Make/Model:</label></td>
      			<td><input name="bike" id="sBike" class="text" type="text" eform="Bike::1:"/> *</td>
      		</tr>
      		<tr>
      			<td style="text-align:right"><label for="sNumber">Number:</label></td>
      			<td><input style="width:25px;" name="number" id="sNumber" class="text" type="text" eform="Number:integer:1:"/> *</td>
      		</tr>
      		<tr>
      			<td style="text-align:right"><label for="sType">Type of Racing:</label></td>
      			<td><input name="type" id="sType" class="text" type="text" eform="Type of Racing::1:"/> *</td>
      		</tr>
      		<tr>
      			<td style="text-align:right"><label for="sClass">Class:</label></td>
      			<td><input name="class" id="sClass" class="text" type="text" eform="Class::1:"/> *</td>
      		</tr>
      		<tr>
      			<td style="text-align:right"><label for="sYears">Years Racing:</label></td>
      			<td><input style="width:25px;" name="years" id="sYears" class="text" type="text" eform="Years Racing:integer:1:"/> *</td>
      		</tr>
      		<tr>
      			<td colspan="2" style="text-align:center"><input type="submit" name="submit" value="Submit Application"></td>
      		</tr>
      	</table>
      </form>
      


      The db snippet I am using:
      <?php
      function sponsorInfo( &$fields )
      	{
      		
      		// Bring needed resources into scope
      		global $modx;
                      $table_name = $modx->getFullTableName( 'sponsor_user_info' );
      
      
      		// Init our array
      		$dbTable = array(); // key = DB Column; Value = Insert/Update value
      
      		// Insert field/value pairs to insert/update in our table
      		$dbTable[firstname] = $fields[firstname];
      		$dbTable[lastname] = $fields[lastname];
      		$dbTable[age] = $fields[age];
      		$dbTable[homephone] = $fields[homephone];
      		$dbTable[dayphone] = $fields[dayphone];
      		$dbTable[email] = $fields[email];
      		$dbTable[address1] = $fields[address1];
      		$dbTable[address2] = $fields[address2];
      		$dbTable[city] = $fields[city];
      		$dbTable[state] = $fields[state];
      		$dbTable[zipcode] = $fields[zip];
      		$dbTable[bike] = $fields[bike];
      		$dbTable[number] = $fields[number];
      		$dbTable[type] = $fields[type];
      		$dbTable[class] = $fields[class];
      		$dbTable[years] = $fields[years];
      				
      		// Run the db insert query
      		$dbQuery = $modx->db->insert( $dbTable, $table_name);	
      
      		return true;
      	}
      	// Return empty string
      	return '';
      ?>
      
      • In your HTML, your Form ID is SponsorRequest:


        <form method="post" action="[~[*id*]~]" id="SponsorRequest">

        And in your snippet call you declare it as SponsorRequestForm:


        [!eForm? &noemail=`true` &formid=`SponsorRequestForm` &eFormOnBeforeMailSent=`sponsorInfo` &tpl=`sponsorApp`!]

        Please ensure these 2 are the same values in both places. Does that help?
          Mike Reid - www.pixelchutes.com
          MODx Ambassador / Contributor
          [Module] MultiMedia Manager / [Module] SiteSearch / [Snippet] DocPassword / [Plugin] EditArea / We support FoxyCart
          ________________________________
          Where every pixel matters.
          • 12328
          • 9 Posts
          Nope, that didn’t fix it. sad When I click submit on the form it just goes to a blank page, and when I check the database it’s empty.
          • Quote from: hondamxer82 at Aug 14, 2007, 11:55 PM

            Nope, that didn’t fix it. sad When I click submit on the form it just goes to a blank page, and when I check the database it’s empty.

            Aaah...

            I see you are using:

            $modx->getFullTableName( 'sponsor_user_info' );
            


            getFullTableName() automatically prepends your site’s database table alias (e.g. modx_) creating modx_sponsor_user_info

            Is your table actually named: modx_sponsor_user_info ??
              Mike Reid - www.pixelchutes.com
              MODx Ambassador / Contributor
              [Module] MultiMedia Manager / [Module] SiteSearch / [Snippet] DocPassword / [Plugin] EditArea / We support FoxyCart
              ________________________________
              Where every pixel matters.
              • 30223
              • 1,010 Posts
              It might also help to put all array keys in quotes.

              $dbTable[firstname] = $fields[firstname]; instead of $dbTable[firstname] = $fields[firstname];

              I know php is fairly lenient in some cases but it’s not good practise and can give you all kinds of problems.
                • 12328
                • 9 Posts
                Quote from: pixelchutes at Aug 15, 2007, 01:48 AM

                Quote from: hondamxer82 at Aug 14, 2007, 11:55 PM

                Nope, that didn’t fix it. sad When I click submit on the form it just goes to a blank page, and when I check the database it’s empty.

                Aaah...

                I see you are using:

                $modx->getFullTableName( 'sponsor_user_info' );
                


                getFullTableName() automatically prepends your site’s database table alias (e.g. modx_) creating modx_sponsor_user_info

                Is your table actually named: modx_sponsor_user_info ??


                Yes, my table is named: modx_sponsor_user_info

                Quote from: TobyL at Aug 15, 2007, 02:11 PM

                It might also help to put all array keys in quotes.

                $dbTable[firstname] = $fields[firstname]; instead of $dbTable[firstname] = $fields[firstname];

                I know php is fairly lenient in some cases but it’s not good practise and can give you all kinds of problems.

                Tried this but it still doesn’t work. By the way, I am using version 0.9.6 of ModX.
                  • 33372
                  • 1,611 Posts
                  Have you tried printing out your query string to the screen so that you can see what might be wrong with it?
                    "Things are not what they appear to be; nor are they otherwise." - Buddha

                    "Well, gee, Buddha - that wasn&#39;t very helpful..." - ZAP

                    Useful MODx links: documentation | wiki | forum guidelines | bugs & requests | info you should include with your post | commercial support options
                    • 12328
                    • 9 Posts
                    Quote from: ZAP at Aug 15, 2007, 04:51 PM

                    Have you tried printing out your query string to the screen so that you can see what might be wrong with it?

                    How??? huh
                      • 33372
                      • 1,611 Posts
                      Well, I guess what I would do first is just to print the array contents to see what might be going on there by inserting print_r($dbTable); into your function. You may need to escape the values before you send them to the MODx dbAPI so that your query is formed properly. That is of course a very good idea in general: http://modxcms.com/dbapi-escape.html

                      If you want to see the entire query as it’s being processed, you could also temporarily modify the insert function in manager/includes/extenders/dbapi.mysql.class.inc.php to show you that (but I’m pretty sure the error will be in the values that you’re passing to this function, so you probably don’t need to see the whole formed query to figure it out).

                      Are you not seeing any errors in your System Events log (or anywhere else)?
                        "Things are not what they appear to be; nor are they otherwise." - Buddha

                        "Well, gee, Buddha - that wasn&#39;t very helpful..." - ZAP

                        Useful MODx links: documentation | wiki | forum guidelines | bugs & requests | info you should include with your post | commercial support options