Fatter intet
Først og fremmest ser det hele nok lidt forvirrende ud. Men problemet er meget simpelt..Første funktion henter hotelnavnet på de hotelnavne der er indrammet i <hotel></hotel>.
Sender dernæst hotelnavnet videre til den anden funktion, hvor det hele går galt. Udskriver jeg SQL sætningen (bare som tekst) og sætter den ind i PHPmyAdmin fungere den fint, men sætningen returnerer ikke nogen rækker.
Bytter jeg variablen $hotel_name ud med ren tekst fx Ambassador Hotel, så fungere det upåklageligt.
Nogen der kan se hvad jeg gør galt?
//FØRSTE FUNKTION
function udskriv(){
$helper = new helper();
$text = "Velkommen til Filippinerne, du skal bo på: <hotel>Ambassador Hotel</hotel> <hotel>Siam Heritage</hotel>";
$text_ny = "";
preg_match_all('%<hotel[^>]*>(.*?)</hotel>%', $text, $hotel_result, PREG_PATTERN_ORDER);
$hotel_result = $hotel_result[0];
for($i = 0; $i < count($hotel_result); $i++){
if($i == 0 ){
$hotel_setup = $helper->make_hotel_setup($hotel_result[$i]);
echo $hotel_setup;
echo "<br /><br />";
$text_ny = str_replace("<hotel>$result[$i]</hotel>", $hotel_setup, $text);
}else if($i > 0){
$hotel_setup = $helper->make_hotel_setup($hotel_result[$i]);
$hotel_setup = "Ønsker du et andet hotel, kan vi tilbyde:<br/>".$hotel_setup;
echo $hotel_setup;
$text_ny = str_replace("[hotel]".$result['$i']."[/hotel]", $hotel_setup, $text_ny);
}
}
echo $text_ny;
}
udskriv();
//ANDEN FUNKTION
function make_hotel_setup($hotel_name){
echo $hotel_name; //Navnet udskrives fint
$sql = "SELECT h.*, c.name as country_name FROM CC_hotel h, CC_country c WHERE h.name like '".$hotel_name."' AND h.country_id = c.id"; //Denne sætning returnere ikke noget, selvom SQL sætningen fungere fint nok. Er testet med PHPmyAdmin.
echo $sql;
$hotel_result = mysql_query($sql) or die("Fejl opstået ".mysql_error());
echo mysql_num_rows($hotel_result);
while($row = mysql_fetch_array($hotel_result)){
$sql_name = $row['name'];
$sql_link = $row['link'];
$sql_image_link = $row['image_link'];
$sql_country = $row['country_name'];
$sql_description = $row['travelplan_description'];
}
$result = "</p><p class='hotelnavn'>$sql_name";
//$result = "link: ".$row['link'];
if(strlen($sql_link) > 0){
$link = " - <a href='http://$sql_link' target='blank' >$sql_link</a></p>";
$result = $result."".$link;
}else{
$result = $result."</p>";
}
if(strlen($sql_image_link) > 0){
$picture = "<p class='alm'><img src='http://www.cctravel.dk/html/hotels/$sql_country/$sql_image_link]' /><br />";
$result = $result."".$picture;
}
if(strlen($sql_description) > 0){
$result = $result."".$sql_description;
}
//$result = htmlspecialchars(stripslashes($result));
return $result;
}
