2014-01-20 3 views
0

Я пытаюсь вывести список ссылок на основе результата запроса базы данных. Запрос работает нормально, но мне нужно получить информацию для ссылок, заполненных теми же результатами. В этом примере мне нужно создать следующую строку, чтобы пройти по моей loadXMLDoc() функции ..PHP HTML Hyperlink Quotes Issue

$ridesid 
$catrating 

Это фактическая строка кода, которая дает мне вопрос:

echo "<a href='#' onmousedown='url1 ='attraction_page.php?rideid=$ridesid&catrating=$catrating onclick ='loadXMLDoc()'>$rides</a>"; 

Я довольно уверен, что это просто проблема с кавычками, но я искал и искал решение или пример того, как правильно кодировать эту строку, но ничего не могу найти. Может ли кто-нибудь помочь?

Благодаря

Вот полный PHP блок:

<?php 
    $sql3 = "SELECT `Record_ID`, `Name` FROM `rides` WHERE `Rating` = $catrating ORDER BY `Name`"; 
    $result3=mysql_query($sql3)or die(mysql_error()); 
    //var_dump ($result3); 
    $num = mysql_num_rows($result3); 
    //WHILE ($row3 = mysql_fetch_array($result3)){ 
     echo "<table>"; 
     // Ride Category Heading 
     if ($catrating == 1) 
      echo "<span class='headertext'>Kiddie Rides</span><br \>"; 
     if ($catrating == 2) 
      echo "<span class='headertext'>Family Rides</span><br \>"; 
     if ($catrating == 3) 
      echo "<span class='headertext'>Thrill Rides</span><br \>"; 
     // end heading 
     for ($i = 0; $i < $num; $i++){ 
      $row3 = mysql_fetch_array($result3); 
      //var_dump($row3); 
      $ridesid = $row3[0]; 
      $rides = $row3[1]; 


      //echo "<a href='attraction_page.php?rideID=". urlencode($ridesid) ."&catrating=". urlencode($catrating) ."'>$rides</a>"; 
      echo "<tr>"; 
      //echo "<a href='#' onmousedown='url1 ='attraction_page.php?rideID=$ridesid&catrating=$catrating' onclick='loadXMLDoc()'>$rides</a>"; 
      //echo "<a href='#' onmousedown='url1 ='attraction_page.php?rideID=30&catrating=1 onclick='loadXMLDoc()'>$rides</a>"; 
      //echo "<a href='attraction_page.php?rideID=". urlencode($ridesid) ."&catrating=". urlencode($catrating) ."'>$rides</a>"; 
      echo "<a href='#' onmousedown='url1 ='attraction_page.php?rideid=$ridesid&catrating=$catrating onclick ='loadXMLDoc()'>$rides</a>"; 
      echo "<br />"; 
      echo "</tr>"; 

     } 

     echo '</table>'; 
// } 
    ?> 
+1

Является ли 'loadXMLDoc()' функцией PHP или функцией Javascript? – user1477388

ответ

0

Вы должны экранировать ваши котировки.

echo "<a href='javascript:void(0);' onmousedown='url1 =\'attraction_page.php?rideid=$ridesid&catrating=$catrating\';' onclick ='loadXMLDoc()'>$rides</a>"; 

Я хотел бы также заменить # в атрибуте href с javascript:void(0)

+0

Вам не нужно избегать одиночных кавычек внутри двойных кавычек в PHP. – user1477388

+0

На самом деле, вы не можете ошибаться (в данном случае). Это ** является ** PHP, но PHP генерирует Javascript. Javascript - это то, что нужно для экранированных кавычек. – Dutchie432

+0

Я вижу вашу точку зрения, а это - неправильное использование одинарных кавычек. – user1477388

0

Я бы рекомендовал оставить кавычки, когда вы хотите использовать вар или использовать {$ вар} Синтаксис

  echo "<a href='#' onmousedown='url1 =\'attraction_page.php?rideid=".$ridesid."&catrating=".$catrating."\'' onclick ='loadXMLDoc()'>".$rides."</a>"; 
+0

Я также использовал Dutchie432 quote escapes здесь, поскольку я этого не замечал. Кредит предоставляется, когда кредит должен быть. :) – cPJerald

+0

Большое спасибо. – Dutchie432