Hello all,
Im a bit new to php and new to phpfreaks. But thanks in advance for the help!
Im parsing an xml feed into a table. The only problem is that one of the fields can not format properly in the table.
Here is how the page is working now: http://russiancirclesband.com/tour.php
The "With" column is spacing out $OtherArtists out one entry per line, whereas it should have however many $OtherArtists were listed on that line per date.
Here is the PHP
Code:
<?php
$xml_file = "XML FEED";
$xml_City_key = "*SHOWS*SHOW*CITY";
$xml_VenueName_key = "*SHOWS*SHOW*VENUENAME";
$xml_VenueZip_key = "*SHOWS*SHOW*VENUEZIP";
$xml_VenueAddress_key = "*SHOWS*SHOW*VENUEADDRESS";
$xml_TicketUri_key = "*SHOWS*SHOW*TICKETURI";
$xml_Description_key = "*SHOWS*SHOW*DESCRIPTION";
$xml_VenueUri_key = "*SHOWS*SHOW*VENUEURI";
$xml_Date_key = "*SHOWS*SHOW*DATE";
$xml_TimeSet_key= "*SHOWS*SHOW*TIMESET";
$xml_State_key = "*SHOWS*SHOW*STATE";
$xml_Country_key = "*SHOWS*SHOW*COUNTRY";
$xml_OtherArtists_key = "*SHOWS*SHOW*OTHERARTISTS*NAME";
$Show_array = array();
$counter = 0;
class xml_Show{
var $City, $VenueName, $VenueZip, $VenueAddress, $TicketUri, $Description, $VenueUri, $Date, $TimeSet, $State, $Country, $OtherArtists ;
}
function startTag($parser, $data){
global $current_tag;
$current_tag .= "*$data";
}
function endTag($parser, $data){
global $current_tag;
$tag_key = strrpos($current_tag, '*');
$current_tag = substr($current_tag, 0, $tag_key);
}
function contents($parser, $data){
global $current_tag, $xml_City_key, $xml_VenueName_key, $xml_VenueZip_key, $xml_VenueAddress_key, $xml_TicketUri_key, $xml_Description_key, $xml_VenueUri_key, $xml_Date_key,$xml_TimeSet_key, $xml_State_key, $xml_Country_key, $xml_OtherArtists_key, $counter, $Show_array;
switch($current_tag){
case $xml_City_key:
$Show_array[$counter] = new xml_Show();
$Show_array[$counter]->City = $data;
break;
case $xml_VenueName_key:
$Show_array[$counter]->VenueName = $data;
break;
case $xml_VenueZip_key:
$Show_array[$counter]->VenueZip = $data;
break;
case $xml_VenueAddress_key:
$Show_array[$counter]->VenueAddress = $data;
break;
case $xml_TicketUri_key:
$Show_array[$counter]->TicketUri = $data;
break;
case $xml_Description_key:
$Show_array[$counter]->Description = $data;
break;
case $xml_VenueUri_key:
$Show_array[$counter]->VenueUri = $data;
break;
case $xml_Date_key:
$Show_array[$counter]->Date = $data;
break;
case $xml_TimeSet_key:
$Show_array[$counter]->TimeSet = $data;
break;
case $xml_State_key:
$Show_array[$counter]->State = $data;
break;
case $xml_Country_key:
$Show_array[$counter]->Country = $data;
break;
case $xml_OtherArtists_key:
$Show_array[$counter]->OtherArtists = $data;
$counter++;
break;
}
}
$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startTag", "endTag");
xml_set_character_data_handler($xml_parser, "contents");
$data = file_get_contents($xml_file);
if(!(xml_parse($xml_parser, $data))){
die("Error on line " . xml_get_current_line_number($xml_parser));
}
xml_parser_free($xml_parser);
?>
<html>
<head>
<title>Russian Circles - Tour</title>
<style type="text/css">
<!--
#blog {
padding: 15px 15px 15px 60px;
top: 400px;
}
body {
background-image: url(tiledis.gif);
background-repeat: repeat-x;
background-color:#000000;
}
a:link {
color: #FFFFFF;
text-decoration:underline;
}
a:visited {
color: #FFFFFF;
text-decoration:underline;
}
.style1 {
font-family: 'Lucida Grande', Verdana, Arial, Sans-Serif;
font-size: 12px;
color: #ffffff;
}
.style2 {
font-family: 'Lucida Grande', Verdana, Arial, Sans-Serif;
font-size: 12px;
color: #4e4e4e;
}
#whole {
position:absolute;
width:850px;
z-index:1;
top: 0px;
margin-left:auto;
margin-right:auto;
background-color:#ffffff;
}
body,td,th {
color: #FFF;
}
-->
</style>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></head>
<body>
<table width="850" align="center" border="1">
<tr>
<td width="100"><div align="center">
<span class="style2">
<u>Date</u>
</span></div>
</td>
<td width="300"><div align="center">
<span class="style1">
<u>Location</u>
</span>
</td></div>
<td width=250"><div align="center">
<span class="style1">
<u>Venue</u>
</span>
</td>
<td width="350"><div align="center">
<span class="style1">
<u>With</u>
</div>
</span>
</td>
<td width="250"><div align="center">
<span class="style1">
<u>Tickets</u>
</div>
</span>
</td>
</tr>
<span class="style1"><div align="center">
<?php
for($x=0;$x<count($Show_array);$x++){
echo "<tr>";
echo "<td>";
echo "t" . $Show_array[$x]->Date . "n";
echo "</td>";
echo "<td>";
if ($Show_array[$x]->Country == "United States") {
echo "t" . $Show_array[$x]->City . ","; echo "t" . $Show_array[$x]->State . " n";
} else {
echo "t" . $Show_array[$x]->City . ","; echo "t" . $Show_array[$x]->Country . " n";
}
echo "</td>";
echo "<td>";
echo "t" . $Show_array[$x]->VenueName . "n";
echo "</td>";
echo "<td>";
echo "t" . $Show_array[$x]->OtherArtists . "";
echo "</td>";
echo "<td>";
if ($Show_array[$x]->TicketUri == "") {
echo "
";
} else {
echo "<a href='" . $Show_array[$x]->TicketUri . "'>Buy Tickets</a>";
}
echo "</td>";
echo "</tr>";
}
?>
</table>
</p>
</div>
<table width="665" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="5"><div align="center"><a href="http://russiancirclesband.com"><img src="img/rcgeneva.png" width="300" height="38" border="0" /></a><a href="http://russiancirclesband.com"><img src="img/csoct202009.png" width="300" height="38" border="0" /></a></div></td>
</tr>
<tr>
<td colspan="5"><div align="center"></div></td>
</tr>
<tr>
<td width="133"><div align="center"><a href="http://www.myspace.com/russiancircles" target="_blank"><img src="img/rcspace.png" width="133" height="25" border="0" /></a></div></td>
<td width="133"><div align="center"><a href="http://russiancircles.hellomerch.com" target="_blank"><img src="img/rcstore.png" width="133" height="25" border="0" /></a></div></td>
<td width="133"><div align="center"><a href="http://russiancirclesband.blogspot.com/" target="_blank"><img src="img/rcnews.png" width="133" height="25" border="0" /></a></div></td>
<td width="133"><div align="center"><a href="contact.html" target="_self"><img src="img/rccontacts.png" width="133" height="25" border="0" /></a></div></td>
<td width="133"><div align="center"><a href="http://www.myspace.com/russiancircles" target="_blank"><img src="img/rctour.png" width="133" height="25" border="0" /></a></div></td>
</div>
</tr>
</table>
</body>
</html>
and here is a sample of the xml:
Code: <shows xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://feeds.artistdata.com/_css/shows.xsd">
<show>
<recordKey></recordKey>
<name><![CDATA[]]></name>
<city><![CDATA[Brooklyn]]></city>
<venueName><![CDATA[Knitting Factory]]></venueName>
<venueZip></venueZip>
<venuePhone>(347)529-6696</venuePhone>
<venueAddress><![CDATA[361 Metropolitan Ave]]></venueAddress>
<ticketURI><![CDATA[]]></ticketURI>
<description><![CDATA[]]></description>
<ageLimit>All Ages</ageLimit>
<venueURI><![CDATA[http://ny.knittingfactory.com/index.php]]></venueURI>
<ticketPrice><![CDATA[ADV $10 DOOR $12]]></ticketPrice>
<date>2009-12-03</date>
<timeSet>20:30:00</timeSet>
<timeDoors></timeDoors>
<stateAbbreviation>NY</stateAbbreviation>
<state>New York</state>
<countryAbbreviation>US</countryAbbreviation>
<country>United States</country>
<otherArtists>
<name><![CDATA[Cast Spells]]></name>
<uri><![CDATA[http://myspace.com/castspells]]></uri>
</otherArtists>
<artistname>Good Old War</artistname>
<artistKey></artistKey>
</show>
</shows>
So obviously the wall Other Artists are being called is slightly different, but im not exactly sure what is happening. to see what JUST $OtherArtists echo'ing would look like, check out: http://russiancirclesband.com/tour2.php.
Not sure what my next move is.
Thanks again!
gather checkbox data from form into email
Hello all,First, i'd like to thank everyone who responded to my previous posts regarding setting up an SMTP server for my php form. I ended up figuring it out and my form is up and functioning,
PHP url branch??
Functionally, using PHP, I'm doing a test of login input submitted by a user via an html form in a file located at http://..../loginregister.php. If that test is successfull, I want to branch to
help with variable
I've got a problem, i want to echo some images depending on the $id, however for me to get that id i have to extract it from a query. So i've done that, but i want to extract all id's (not just 1), so
building a function with multiple outputs
I want to build a function that has multiple outputs.I know but am not to sure how I should go about that, the only thing I know won't work is return a;return b;return c; that will return one result
form help
this doesn't work. i want the form action to go the location.href of the submit button chosen.. how do i do this?Code: <?php echo "<form enctype='multipart/form-data'
private constructor
Hello,Can we create a constructor as private? If yes, what is the use of it? If no, why can't we make it?Please suggest...Thanks
Need help making a blockquote and line items conditional
I have some code I bought a few years ago that allows my clients to update content on their site using an Excel spreadsheet. Well this particular application sometimes has line items so I need to come
Place specific image in html page when specific name is typed.
Hello,Fairly new to PHP and was curious if someone might know how to solve a fairly simple request.I am currently passing the name of an end user (who types their name in a form field) to a URL which
C - Reading a file into a byte array
Hi,I'm trying to read a file into a byte array in C. I have to use C as this is for a loadrunner script which is based on the C programming languageThe .Net code from the developers I'm basically
Update data to upper case in parent/child tables
Hi Gurus!